Chris Lattner
ccbe8ab252
the date on this testcase is wrong, it is unreduced, and it passes without the fix for PR4313.
...
llvm-svn: 84674
2009-10-20 20:57:58 +00:00
Chris Lattner
f3be536c0a
merge and filecheckize
...
llvm-svn: 84672
2009-10-20 20:39:43 +00:00
Chris Lattner
827cc8fa02
merge two tests and convert to filecheck.
...
llvm-svn: 84671
2009-10-20 20:33:46 +00:00
Chris Lattner
803539f022
alternate fix for PR5258 which avoids worklist problems, with reduced testcase.
...
llvm-svn: 84667
2009-10-20 20:27:49 +00:00
David Goodwin
048b80a70a
Checkpoint more aggressive anti-dependency breaking for post-ra scheduler.
...
llvm-svn: 84658
2009-10-20 19:54:44 +00:00
Dan Gohman
e0ace5c4eb
Make TranslateX86CC return COND_INVALID instead of aborting when it
...
encounters an OEQ or UNE comparison, and update its callers to check
for this return status and recover. This fixes a problem resulting from
the LowerOperation hooks being called from LegalizeVectorOps, because
LegalizeVectorOps only lowers vectors, so OEQ and UNE comparisons may
still be at large. This fixes PR5092.
llvm-svn: 84640
2009-10-20 16:22:37 +00:00
Torok Edwin
bdcd45a9d6
Fix PR5258, jump-threading creating invalid PHIs.
...
When an incoming value for a PHI is updated, we must also updated all other
incoming values for the same BB to match, otherwise we create invalid PHIs.
llvm-svn: 84638
2009-10-20 15:42:00 +00:00
Torok Edwin
3801e755cc
Fix PR4313: IPSCCP was not setting the lattice value for the invoke instruction
...
when the invoke had multiple return values: it set the lattice value only on the
extractvalue.
This caused the invoke's lattice value to remain the default (undefined), and
later propagated to extractvalue's operand, which incorrectly introduces
undefined behavior.
llvm-svn: 84637
2009-10-20 15:15:09 +00:00
Dan Gohman
b1528d73d1
Re-apply r84295, with fixes to how the loop "top" and "bottom" blocks are
...
tracked. Instead of trying to manually keep track of these locations
while doing complex modifications, just recompute them when they're needed.
This fixes a bug in which the TopMBB and BotMBB were not correctly updated,
leading to invalid transformations.
llvm-svn: 84598
2009-10-20 04:50:37 +00:00
Evan Cheng
029a85b791
If the physical register being spilled does not have an interval, spill its sub-registers instead.
...
llvm-svn: 84586
2009-10-20 01:31:09 +00:00
Jim Grosbach
2fb5eb1264
Enable allocation of R3 in Thumb1
...
llvm-svn: 84563
2009-10-19 22:57:03 +00:00
Chris Lattner
b9bbaf7f4d
convert to filecheck syntax and make a lot more aggressive.
...
llvm-svn: 84517
2009-10-19 18:27:56 +00:00
Anton Korobeynikov
26ed697cf2
Revert r84295, this unbreaks llvm-gcc bootstrap on x86-64/linux
...
llvm-svn: 84516
2009-10-19 18:21:09 +00:00
Chris Lattner
6fd5bc3ba0
rename test
...
llvm-svn: 84515
2009-10-19 18:18:07 +00:00
Dan Gohman
d2e75c9ae0
Fix SplitBlockPredecessors' LoopInfo updating code to handle the case
...
where a loop's header is being split and it has predecessors which are not
contained by the most-nested loop which contains the loop.
This fixes PR5235.
llvm-svn: 84505
2009-10-19 16:04:50 +00:00
Torok Edwin
e6df0e6397
Fix PR5247, "lock addq" pattern (and other atomics), it DOES modify EFLAGS.
...
LLC was scheduling compares before the adds causing wrong branches to be taken
in programs, resulting in misoptimized code wherever atomic adds where used.
llvm-svn: 84485
2009-10-19 11:00:58 +00:00
Chris Lattner
6174703743
eliminate md_on_instruction.ll, md_on_instruction2.ll is a superset of it.
...
llvm-svn: 84464
2009-10-19 05:34:14 +00:00
Daniel Dunbar
347b151bc2
Teach lit that the .c files in 'test/CodeGen/CellSPU/useful-harnesses' aren't tests.
...
llvm-svn: 84460
2009-10-19 03:53:55 +00:00
Nate Begeman
1308a36647
Add support for matching shuffle patterns with palignr.
...
llvm-svn: 84459
2009-10-19 02:17:23 +00:00
Evan Cheng
eb82c3743a
Turn on post-alloc scheduling for x86.
...
llvm-svn: 84431
2009-10-18 19:57:27 +00:00
Chris Lattner
e7c0e7f1a9
remove a now-pointless regtest
...
llvm-svn: 84409
2009-10-18 05:20:17 +00:00
Chris Lattner
878fd28407
remove testcase for dead pass
...
llvm-svn: 84406
2009-10-18 05:03:41 +00:00
Chris Lattner
eebed04912
fix test
...
llvm-svn: 84405
2009-10-18 05:03:00 +00:00
Chris Lattner
8db424f027
tighten up test3, add test3a for the converse
...
transform, which isn't happening yet.
llvm-svn: 84402
2009-10-18 04:55:26 +00:00
Chris Lattner
aff491fab6
tighten test2, add a test that it doesn't get transformed in the invalid edge case.
...
llvm-svn: 84401
2009-10-18 04:50:18 +00:00
Nick Lewycky
671ca16583
Merge tests into modref.ll. Also add a test for r84174 at Chris' behest!
...
llvm-svn: 84400
2009-10-18 04:41:36 +00:00
Nick Lewycky
d21c892821
Add a couple new testcases.
...
llvm-svn: 84385
2009-10-18 00:42:07 +00:00
Chris Lattner
1ed26100a4
replace a useless test with a useful one
...
llvm-svn: 84383
2009-10-17 23:59:51 +00:00
Nick Lewycky
4f6c397742
Fix test/Bindings/Ocaml/vmcore.ml. When IRBuilder::CreateMalloc was removed,
...
LLVMBuildMalloc was reimplemented but with the bug that it didn't insert the
resulting instruction.
llvm-svn: 84374
2009-10-17 23:52:26 +00:00
Chris Lattner
2c890dc2b4
Teach vm core to more aggressively fold 'trunc' constantexprs,
...
allowing it to simplify the crazy constantexprs in the testcases
down to something sensible. This allows -std-compile-opts to
completely "devirtualize" the pointers to member functions in
the testcase from PR5176.
llvm-svn: 84368
2009-10-17 21:53:27 +00:00
Chris Lattner
ebc645ca40
remove # uses from FileCheck lines.
...
llvm-svn: 84367
2009-10-17 21:51:19 +00:00
Chris Lattner
270ab44108
rename test
...
llvm-svn: 84364
2009-10-17 21:31:19 +00:00
Mikhail Glushenkov
288062930b
Disallow multiple instances of PluginPriority.
...
Several instances of PluginPriority in a single file most probably signifies a
programming error.
llvm-svn: 84350
2009-10-17 20:08:30 +00:00
Chris Lattner
7f32b72975
Simplify some code (first hunk) and fix PR5208 (second hunk) by
...
updating the callgraph when introducing a call.
llvm-svn: 84310
2009-10-17 05:39:39 +00:00
Daniel Dunbar
7f9b7bc8ff
Reclaim a lost month.
...
llvm-svn: 84303
2009-10-17 03:28:20 +00:00
Dan Gohman
f5225573b7
Enhance CodePlacementOpt's unconditional intra-loop branch elimination logic
...
to be more general and understand more varieties of loops.
Teach CodePlacementOpt to reorganize the basic blocks of a loop so that
they are contiguous. This also includes a fair amount of logic for preserving
fall-through edges while doing so. This fixes a BranchFolding-ism where blocks
which can't be made to use a fall-through edge and don't conveniently fit
anywhere nearby get tossed out to the end of the function.
llvm-svn: 84295
2009-10-17 00:32:43 +00:00
Victor Hernandez
4d7283f82c
Autoupgrade malloc insts to malloc calls.
...
Update testcases that rely on malloc insts being present.
Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step.
llvm-svn: 84292
2009-10-17 00:00:19 +00:00
Victor Hernandez
00adf339dd
HeapAllocSRoA also needs to check if malloc array size can be computed.
...
llvm-svn: 84288
2009-10-16 23:12:25 +00:00
Mon P Wang
72d9f1ecfe
Update tests to use FileCheck
...
llvm-svn: 84282
2009-10-16 22:09:05 +00:00
Mon P Wang
7d294603e7
Add test case for r84279
...
llvm-svn: 84280
2009-10-16 22:07:19 +00:00
Dan Gohman
ef1f246d88
Move zext and sext casts fed by loads into the same block as the
...
load, to help SelectionDAG fold them into the loads, unless
conditions are unfavorable.
llvm-svn: 84271
2009-10-16 20:59:35 +00:00
Devang Patel
a4ac3dd8bc
Parse PHI instruction with attached metadata.
...
llvm-svn: 84264
2009-10-16 18:45:49 +00:00
Devang Patel
5920acc861
If there is not any llvm instruction associated with each lexical scope encoded in debug info then create such scope on demand for variable info.
...
llvm-svn: 84262
2009-10-16 18:18:03 +00:00
Victor Hernandez
0122f679a8
Invert isSafeToGetMallocArraySize check because we return NULL when we don't know the size.
...
Thanks to Duncan Sands for noticing this bug.
llvm-svn: 84260
2009-10-16 18:07:17 +00:00
Daniel Dunbar
9483297711
Force triple in tests.
...
llvm-svn: 84257
2009-10-16 16:30:02 +00:00
Duncan Sands
71fecaa52c
Check that GVN performs this transform even if the calls
...
themselves are not marked readonly, but only the called
functions.
llvm-svn: 84253
2009-10-16 12:18:23 +00:00
Evan Cheng
b1580b5c48
Enable post-alloc scheduling for all ARM variants except for Thumb1.
...
llvm-svn: 84249
2009-10-16 06:11:08 +00:00
Daniel Dunbar
af3162e523
MC: Tweak variable assignment diagnostics, and make reassignment of non-absolute
...
variables and symbols invalid.
llvm-svn: 84232
2009-10-16 01:57:39 +00:00
Daniel Dunbar
a4df6e46a4
MC: When parsing a variable reference, substitute absolute variables immediately
...
since they are allowed to be redefined.
llvm-svn: 84230
2009-10-16 01:34:54 +00:00
Sandeep Patel
c0762ba283
Branches must be the last instruction in a Thumb2 IT block. Approved by Evan Cheng.
...
llvm-svn: 84212
2009-10-15 22:25:32 +00:00