Commit Graph

32418 Commits

Author SHA1 Message Date
Dan Gohman 2980d9da45 This patch extends the LoopUnroll pass to be able to unroll loops
with unknown trip counts. This is left off by default, and a
command-line option enables it. It also begins to separate loop
unrolling into a utility routine; eventually it might be made usable
from other passes.

It currently works by inserting conditional branches between each
unrolled iteration, unless it proves that the trip count is a
multiple of a constant integer > 1, which it currently only does in
the rare case that the trip count expression is a Mul operator with
a ConstantInt operand. Eventually this information might be provided
by other sources, for example by a pass that peels/splits the loop
for this purpose.

llvm-svn: 36990
2007-05-11 20:53:41 +00:00
Chris Lattner 600db3eb96 fix regressions from my previous checking, including
Transforms/InstCombine/2006-12-08-ICmp-Combining.ll

llvm-svn: 36989
2007-05-11 16:58:45 +00:00
Anton Korobeynikov 67286b1266 Perform correct actions numbers/sizes computation
llvm-svn: 36988
2007-05-11 08:47:35 +00:00
Anton Korobeynikov 00d02442b0 Fix action No calculation in multiple-invoke-one-LP mode
llvm-svn: 36987
2007-05-11 08:23:57 +00:00
Reid Spencer c014687788 For PR1411:
Don't try to use {} bracketing when setting a variable in site.exp

llvm-svn: 36985
2007-05-11 06:47:16 +00:00
Chris Lattner fe2b44de9f fix Transforms/InstCombine/2007-05-10-icmp-or.ll
llvm-svn: 36984
2007-05-11 05:55:56 +00:00
Chris Lattner b6d85ad1e1 new testcase that crashes instcombine
llvm-svn: 36983
2007-05-11 05:55:38 +00:00
Devang Patel d385e3970f Drop ModuleID from comment.
llvm-svn: 36982
2007-05-11 00:45:58 +00:00
Chris Lattner 436370bac8 fix a memory leak
llvm-svn: 36981
2007-05-11 00:43:26 +00:00
Chris Lattner fd96905f12 Fix a bug where the bcreader could crash on .bc files that were an exact
multiple of the page size, due to a bug in MappedFile

llvm-svn: 36980
2007-05-11 00:00:27 +00:00
Dale Johannesen cc8f571bc8 Do not generate branches to entry block. This fixes several test suite
failures on PPC (can happen only when prologue code is null)

llvm-svn: 36979
2007-05-10 23:59:23 +00:00
Anton Korobeynikov ee02c7d2fb Ooops. Some debugging stuff :)
llvm-svn: 36978
2007-05-10 22:38:46 +00:00
Anton Korobeynikov 96142de3f0 Allow multiple invokes per landing pad. This (probably) fixes PR1410.
llvm-svn: 36977
2007-05-10 22:34:59 +00:00
Duncan Sands b43fe52136 Later computations assume we are aligned at this point.
llvm-svn: 36975
2007-05-10 18:40:24 +00:00
Anton Korobeynikov ed5dad4306 TypeIds are indexed by j, not i
llvm-svn: 36974
2007-05-10 15:10:34 +00:00
Anton Korobeynikov c52614ba88 These attributes are supported!
llvm-svn: 36973
2007-05-10 08:26:24 +00:00
Chris Lattner 3d82dcf1c4 gar. GCC 3.4.2 also miscompiles llvm at -O3. :(
llvm-svn: 36972
2007-05-10 06:42:21 +00:00
Chris Lattner 455563bb96 another version of gcc that miscompiles llvm.
llvm-svn: 36971
2007-05-10 05:37:14 +00:00
Dale Johannesen b42c11265c Another test for tail mergeing
llvm-svn: 36967
2007-05-10 01:04:28 +00:00
Dale Johannesen 6e16d09252 Make tail merging handle many more cases (all it can, I think).
llvm-svn: 36966
2007-05-10 01:01:49 +00:00
Chris Lattner 623c738fe9 add some notes
llvm-svn: 36965
2007-05-10 00:08:04 +00:00
Evan Cheng db214c77b4 Can't fold bit_convert into truncating store.
llvm-svn: 36963
2007-05-09 21:54:34 +00:00
Evan Cheng f325c2a65e Can't fold the bit_convert is the store is a truncating store.
llvm-svn: 36962
2007-05-09 21:49:47 +00:00
Anton Korobeynikov 192d09c2d9 Do not assert, when case range split metric is zero and JTs are not allowed: just emit binary tree in this case. This
fixes PR1403.

llvm-svn: 36959
2007-05-09 20:07:08 +00:00
Lauro Ramos Venancio bbe26581d9 Add two ARM known problems.
llvm-svn: 36958
2007-05-09 19:31:58 +00:00
Evan Cheng bf67a327c7 PR1399 test case.
llvm-svn: 36957
2007-05-09 19:20:37 +00:00
Duncan Sands dd75c1a255 Testcase for
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049387.html

llvm-svn: 36956
2007-05-09 08:41:26 +00:00
Devang Patel 9557247412 Fix PR1333
Testcases :
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049451.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049452.html

llvm-svn: 36955
2007-05-09 08:24:12 +00:00
Devang Patel 00a08d129e New test.
llvm-svn: 36954
2007-05-09 08:19:24 +00:00
Devang Patel 519f2997cc New test.
llvm-svn: 36953
2007-05-09 08:08:46 +00:00
Chris Lattner c97579318b arm no longer experimental, c++ eh support is?
llvm-svn: 36952
2007-05-09 06:23:58 +00:00
Chris Lattner 2d47f92f07 add a meta-blurb about the 2.0 release
llvm-svn: 36951
2007-05-09 05:27:05 +00:00
Chris Lattner 98a334980a strip the llvm 1.9 info out of the release notes
llvm-svn: 36950
2007-05-09 04:58:11 +00:00
Evan Cheng 9c031c0ddf Switch BCC, MOVCCr, etc. to PredicateOperand.
llvm-svn: 36948
2007-05-08 21:08:43 +00:00
Evan Cheng d194a8603d PredicateOperand can be used as a normal operand for isel.
llvm-svn: 36947
2007-05-08 21:06:08 +00:00
Evan Cheng 5162f584c7 If a PredicateOperand has an empty ExecuteAlways field, treat it as if a normal operand for isel.
llvm-svn: 36946
2007-05-08 21:04:07 +00:00
Chris Lattner 75d56499c6 add the & back. I'm not sure why bill removed it.
llvm-svn: 36945
2007-05-08 20:08:06 +00:00
Bill Wendling 31fd60ba0c Change names from RA to something unique to get rid of naming conflicts with
certain linkers...

llvm-svn: 36944
2007-05-08 19:02:46 +00:00
Evan Cheng 9e17872c1d Eliminate MarkVirtRegAliveInBlock recursion.
llvm-svn: 36943
2007-05-08 19:00:00 +00:00
Evan Cheng 6c6cea91fc Add MachineBasicBlock preds / succs reverse iterators.
llvm-svn: 36942
2007-05-08 18:55:03 +00:00
Devang Patel 95cd89f25b New test for PR1400
llvm-svn: 36941
2007-05-08 18:08:20 +00:00
Dale Johannesen 882a6019af testcase for CodeGenPrepare bug fixed yesterday
llvm-svn: 36940
2007-05-08 17:44:36 +00:00
Evan Cheng f50ba31ec6 R0 is a sub-register of X0, etc.
llvm-svn: 36939
2007-05-08 17:03:51 +00:00
Dan Gohman 2e1f804764 Fix various whitespace inconsistencies.
llvm-svn: 36936
2007-05-08 15:19:19 +00:00
Dan Gohman 49d08a57f5 Correct the comment for ApproximateLoopSize to reflect what it actually does.
llvm-svn: 36935
2007-05-08 15:14:19 +00:00
Bill Wendling 0c976b8762 Spare '&' in the RUN line.
llvm-svn: 36933
2007-05-08 07:49:07 +00:00
Devang Patel 91041718f7 New test.
llvm-svn: 36930
2007-05-08 06:10:12 +00:00
Chris Lattner aba457b30b update comments, no functionality change
llvm-svn: 36929
2007-05-08 05:38:32 +00:00
Chris Lattner 4c0a6d660e Make a preemptive bitcode format change to support PR1146. This lets us do
pr1146 in llvm 2.1 without ugly code to emulate old behavior.  This should
be merged into the 2.0 release branch.

llvm-svn: 36928
2007-05-08 05:38:01 +00:00
Tanya Lattner 2357362805 Bumping cvs version number
llvm-svn: 36922
2007-05-08 04:32:07 +00:00