David Greene [Fri, 8 Jun 2007 17:18:56 +0000 (17:18 +0000)]
Factor live variable analysis so it does not do register coalescing
simultaneously. Move that pass to SimpleRegisterCoalescing.
This makes it easier to implement alternative register allocation and
coalescing strategies while maintaining reuse of the existing live
interval analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37520
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 8 Jun 2007 16:52:14 +0000 (16:52 +0000)]
wording fix noticed by Ivan Novick
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37519
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 8 Jun 2007 09:36:04 +0000 (09:36 +0000)]
Allow more cmp / bcc to be predicated; clean up triangle ifcvt checking code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37518
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 8 Jun 2007 09:14:47 +0000 (09:14 +0000)]
Fix ARM condition code subsumission check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37517
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 8 Jun 2007 09:13:23 +0000 (09:13 +0000)]
tBcc is not a barrier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37516
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 8 Jun 2007 08:59:11 +0000 (08:59 +0000)]
Use more realistically sized vectors. Reserve capacity if we know in advance
how much will be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37515
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 8 Jun 2007 01:52:45 +0000 (01:52 +0000)]
Small bugfix, and const-ify some methods (Thanks, Bill).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37513
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 8 Jun 2007 01:50:32 +0000 (01:50 +0000)]
Update LoopSimplify to require and preserve DominatorTree only.
Now LoopSimplify does not require nor preserve ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37512
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 8 Jun 2007 01:08:52 +0000 (01:08 +0000)]
Make throttle a hidden parameter, per review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37511
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 8 Jun 2007 01:03:01 +0000 (01:03 +0000)]
Add partial redundancy elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37510
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 8 Jun 2007 00:34:27 +0000 (00:34 +0000)]
Throttle tail merging; handling blocks with large numbers of predecessors
is too slow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37509
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 8 Jun 2007 00:21:17 +0000 (00:21 +0000)]
Add new method - nearestCommonDominator().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37508
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 8 Jun 2007 00:17:13 +0000 (00:17 +0000)]
Use DominatorTree instead of ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37507
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 8 Jun 2007 00:02:08 +0000 (00:02 +0000)]
Do not preserve ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37506
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 23:53:38 +0000 (23:53 +0000)]
Use DominatorTree instead of ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37505
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 23:52:40 +0000 (23:52 +0000)]
Add instruction level dominates(A,B) interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37504
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Jun 2007 22:31:28 +0000 (22:31 +0000)]
Only remove the edge from entry to false if false block is merged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37503
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 22:21:15 +0000 (22:21 +0000)]
Do not require ETForest. Now it is unused by LICM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37502
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 22:17:16 +0000 (22:17 +0000)]
Do not use ETForest as well as DomiantorTree. DominatorTree is sufficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37501
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 21:57:03 +0000 (21:57 +0000)]
Use DominatorTree instead of ETForest.
This allows faster immediate domiantor walk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37500
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 21:42:15 +0000 (21:42 +0000)]
Use DominatorTree instead of ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37499
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 21:35:27 +0000 (21:35 +0000)]
Use DominatorTree instead of ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37498
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 21:34:22 +0000 (21:34 +0000)]
Add basic block level properlyDominates(A,B) interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37497
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 7 Jun 2007 21:07:15 +0000 (21:07 +0000)]
Do not change the size of function arguments. PR 1489.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37496
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 18:45:06 +0000 (18:45 +0000)]
Use DominatorTree instead of ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37495
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 18:40:55 +0000 (18:40 +0000)]
Use DominatorTree instead of ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37494
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 18:39:40 +0000 (18:39 +0000)]
Add BasicBlock level dominates(A,B) interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37493
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jun 2007 17:47:21 +0000 (17:47 +0000)]
Maintain ETNode as part of DomTreeNode.
This adds redundancy for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37492
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Thu, 7 Jun 2007 17:12:16 +0000 (17:12 +0000)]
Formating fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37491
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Thu, 7 Jun 2007 16:44:52 +0000 (16:44 +0000)]
Correct typo. Should be "not allowed"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37490
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 7 Jun 2007 09:35:33 +0000 (09:35 +0000)]
Make the struct bigger, in an attempt to get a "struct return" on more
platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37489
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 7 Jun 2007 09:00:48 +0000 (09:00 +0000)]
Make this test pass if llvm-g++ was built without exception handling support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37488
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Jun 2007 08:13:00 +0000 (08:13 +0000)]
ifcvt a triangle: don't merge ifcvt block with rejoin block if it can fall through to it. If merged, the resulting block is not a candidate for iterative ifcvting since it contains both predicated and non-predicated code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37487
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Thu, 7 Jun 2007 06:12:03 +0000 (06:12 +0000)]
Add assert to check if the attributes ZExt/SExt, NoAlias are apply to the
correct type of parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37486
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Jun 2007 02:12:15 +0000 (02:12 +0000)]
Lots of bug fixes. Now finally in a reasonable state.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37485
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Jun 2007 01:37:54 +0000 (01:37 +0000)]
Stupid cut-n-paste bug caused me soooo much grief. Why wasn't there a compilation warning? I blame it on the FE folks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37484
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Wed, 6 Jun 2007 23:10:56 +0000 (23:10 +0000)]
Fix bugpoint to run -llc-safe with -Xlinker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37483
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Wed, 6 Jun 2007 22:01:12 +0000 (22:01 +0000)]
Propagate alignment, section name and visibility when linking "appending
global values".
Fix noinline linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37482
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 6 Jun 2007 21:59:26 +0000 (21:59 +0000)]
Instruct the inliner to obey the noinline attribute. Add test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37481
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 6 Jun 2007 21:00:46 +0000 (21:00 +0000)]
Really use attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37480
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 6 Jun 2007 20:52:16 +0000 (20:52 +0000)]
Test case for noinline attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37479
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Jun 2007 20:51:41 +0000 (20:51 +0000)]
simplify this code and fix PR1493, now that llvm-gcc3 is dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Jun 2007 20:51:14 +0000 (20:51 +0000)]
if internalize is disabled, don't run the pass at all!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37477
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 6 Jun 2007 20:46:40 +0000 (20:46 +0000)]
Revert changes for noinline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37476
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 6 Jun 2007 20:08:11 +0000 (20:08 +0000)]
Add new dominator tree node into dominator tree node map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37475
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Jun 2007 18:28:13 +0000 (18:28 +0000)]
update to match latest changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37474
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Wed, 6 Jun 2007 17:10:02 +0000 (17:10 +0000)]
Add a test for PR1499.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37473
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Wed, 6 Jun 2007 17:08:48 +0000 (17:08 +0000)]
Fix PR1499.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37472
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 6 Jun 2007 16:22:00 +0000 (16:22 +0000)]
Quick patch to fix the build, based on what it appears Evan meant to write.
Evan, please check that this is in fact correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37471
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 6 Jun 2007 15:37:31 +0000 (15:37 +0000)]
Fold the exception actions table harder: if two typeid lists start the
same, only output one copy of the common part.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37470
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 6 Jun 2007 11:26:20 +0000 (11:26 +0000)]
Optimize this test. Firstly, only Instructions may use other Instructions.
Secondly, checking whether removal succeeded tells you whether it was in
the map to begin with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37469
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jun 2007 10:17:05 +0000 (10:17 +0000)]
Mark these instructions clobbersPred. They modify the condition code register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37468
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jun 2007 10:16:17 +0000 (10:16 +0000)]
Lots of bug fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37467
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jun 2007 10:15:28 +0000 (10:15 +0000)]
Added clobbersPred.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37466
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jun 2007 10:14:55 +0000 (10:14 +0000)]
Add clobbersPred - instruction that clobbers condition code / register which are used to predicate instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37465
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jun 2007 10:13:55 +0000 (10:13 +0000)]
Add a machine instruction flag indicating the instruction can clobber condition code / register(s) used to predicate instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37464
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 6 Jun 2007 10:05:18 +0000 (10:05 +0000)]
Additional fix for PR1422: make sure the landing pad label is placed in the
correct machine basic block - do not rely on the eh.exception intrinsic
being in the landing pad: the loop optimizers can move it out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37463
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 6 Jun 2007 09:59:53 +0000 (09:59 +0000)]
"Simplified" testcase for PR1422.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37462
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 6 Jun 2007 07:42:06 +0000 (07:42 +0000)]
Initial Mips support, here we go! =)
- Modifications from the last patch included
(issues pointed by Evan Cheng are now fixed).
- Added more MipsI instructions.
- Added more patterns to match branch instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37461
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 6 Jun 2007 05:53:50 +0000 (05:53 +0000)]
Ignore llvm.noinline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37460
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 6 Jun 2007 04:12:20 +0000 (04:12 +0000)]
Fix PR1487 and Transforms/IndVar/2007-06-06-DeleteDanglesPtr.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37459
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 6 Jun 2007 04:11:21 +0000 (04:11 +0000)]
new testcase for PR1487
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37458
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 6 Jun 2007 03:51:56 +0000 (03:51 +0000)]
Inform ScalarEvolutions that we're deleting Values.
This is the obviously correct part of the fix for PR1487.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37457
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jun 2007 02:08:52 +0000 (02:08 +0000)]
If a unconditional branch is added to branch to the false path during ifcvt, the predicated block cannot be iteratively ifcvted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37456
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 6 Jun 2007 01:27:49 +0000 (01:27 +0000)]
Add simple full redundancy elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37455
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Jun 2007 01:23:55 +0000 (01:23 +0000)]
Fix PR1495 and CodeGen/X86/2007-06-05-LSR-Dominator.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37454
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Jun 2007 01:22:09 +0000 (01:22 +0000)]
add accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37453
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Jun 2007 01:21:46 +0000 (01:21 +0000)]
new testcase for PR1495
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37452
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jun 2007 01:12:44 +0000 (01:12 +0000)]
Minor statistics counting bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37451
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 6 Jun 2007 00:59:48 +0000 (00:59 +0000)]
Break friendship.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37450
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jun 2007 00:57:55 +0000 (00:57 +0000)]
Fix a couple of typos and be smarter about order of blocks when ifcvt a diamond.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37449
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 6 Jun 2007 00:49:02 +0000 (00:49 +0000)]
Rename.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37448
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 6 Jun 2007 00:46:36 +0000 (00:46 +0000)]
Simplify class hierarchy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37447
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 6 Jun 2007 00:21:03 +0000 (00:21 +0000)]
Avoid non-trivial loop unswitching while optimizing for size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37446
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jun 2007 23:49:06 +0000 (23:49 +0000)]
Fix a user-reported error building with GCC 3.4.4 on Cygwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37445
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 5 Jun 2007 23:46:14 +0000 (23:46 +0000)]
Fix diamond shape ifcvt bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37444
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 5 Jun 2007 23:46:12 +0000 (23:46 +0000)]
Fix a misunderstanding of the algorithm. Really, we should be tracking values
and expression separately. We can get around this, however, by only keeping
opaque values in TMP_GEN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37443
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 5 Jun 2007 22:11:49 +0000 (22:11 +0000)]
Don't leak memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37442
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 5 Jun 2007 22:03:53 +0000 (22:03 +0000)]
ReplaceUsesOfBlockWith() can modify the predecessors list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37441
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 5 Jun 2007 20:38:42 +0000 (20:38 +0000)]
Do not ifcvt if either true / false path is a backedge. Not profitable in almost all cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37440
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 5 Jun 2007 20:24:36 +0000 (20:24 +0000)]
Fix PR 1497
Use separate pass id for CFGOnlyPrinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37439
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 5 Jun 2007 20:23:20 +0000 (20:23 +0000)]
New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37438
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 5 Jun 2007 18:55:18 +0000 (18:55 +0000)]
Print predicate of the second instruction of the two-piece constant MI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37437
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 5 Jun 2007 17:31:23 +0000 (17:31 +0000)]
Fix a small bug, some 80 cols violations, and add some more debugging output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37436
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 5 Jun 2007 16:05:55 +0000 (16:05 +0000)]
Allow insertelement, extractelement, and shufflevector to be hoisted/sunk
by LICM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37435
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 5 Jun 2007 07:36:38 +0000 (07:36 +0000)]
PIC label asm printing cosmetic changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37434
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 5 Jun 2007 07:05:25 +0000 (07:05 +0000)]
I had a senior moment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37433
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Tue, 5 Jun 2007 05:28:26 +0000 (05:28 +0000)]
Commit first round work of PR1373. "noalias" is now fully supported in
VMCore, BitCode, and Assembly. Documentation and test case paramattrs.ll
updated also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37432
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 5 Jun 2007 01:45:08 +0000 (01:45 +0000)]
New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37431
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 5 Jun 2007 01:31:40 +0000 (01:31 +0000)]
If the predicated block requires an early exit, end the block there and add a unconditional branch to false block. AnalyzeBranch() does not understand early exits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37430
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 5 Jun 2007 00:07:37 +0000 (00:07 +0000)]
Fix some subtle bugs: bug during succeessor copying; incorrectly updating states of ifcvted blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37429
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 4 Jun 2007 23:52:59 +0000 (23:52 +0000)]
Patches by Chuck Rose to unbreak V Studio builds.
Thanks Chuck!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37428
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 4 Jun 2007 23:52:54 +0000 (23:52 +0000)]
Tail merging wasn't working for predecessors of landing pads. PR 1496.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37427
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 4 Jun 2007 23:45:02 +0000 (23:45 +0000)]
s/ETNode::getChildren/ETNode::getETNodeChildren/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37426
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 4 Jun 2007 23:34:56 +0000 (23:34 +0000)]
Don't use std::set_difference when the two sets are sorted differently. Compute
the difference manually instead.
This allows GVNPRE to produce correct analysis for the example in the GVNPRE
paper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37425
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 4 Jun 2007 23:28:33 +0000 (23:28 +0000)]
Fix a bunch of small bugs, and improve the debugging output significantly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37424
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Jun 2007 22:23:42 +0000 (22:23 +0000)]
When rebuilding constant structs, make sure to honor the isPacked bit.
This fixes PR1491 and GlobalOpt/2007-06-04-PackedStruct.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37423
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Jun 2007 22:23:17 +0000 (22:23 +0000)]
new testcase for PR1491
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37422
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 4 Jun 2007 20:39:18 +0000 (20:39 +0000)]
Global ctors / dtors alignment shouldn't be hard-coded at 4. e.g. It could be 8 for 64-bit targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37421
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 4 Jun 2007 20:33:36 +0000 (20:33 +0000)]
Forgot to check for if iterator reached the end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37420
91177308-0d34-0410-b5e6-
96231b3b80d8