oota-llvm.git
16 years agorename C files to end with .c
Chris Lattner [Sat, 9 Jun 2007 06:10:47 +0000 (06:10 +0000)]
rename C files to end with .c

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37535 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix x86-64 mmx calling convention for real, which passes in integer gprs.
Chris Lattner [Sat, 9 Jun 2007 05:08:10 +0000 (05:08 +0000)]
fix x86-64 mmx calling convention for real, which passes in integer gprs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37534 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix mmx handling bug
Chris Lattner [Sat, 9 Jun 2007 05:01:50 +0000 (05:01 +0000)]
fix mmx handling bug

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37533 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix edge case.
Nick Lewycky [Sat, 9 Jun 2007 04:20:33 +0000 (04:20 +0000)]
Fix edge case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37532 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't change CFG during analysis stage. Do so during ifcvt and invalidate predecessor...
Evan Cheng [Sat, 9 Jun 2007 01:03:43 +0000 (01:03 +0000)]
Don't change CFG during analysis stage. Do so during ifcvt and invalidate predecessors accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37531 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCollect statistics from GVN-PRE.
Owen Anderson [Fri, 8 Jun 2007 22:02:36 +0000 (22:02 +0000)]
Collect statistics from GVN-PRE.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37530 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCarefully remove extraneous CFG edges after each ifcvt.
Evan Cheng [Fri, 8 Jun 2007 22:01:07 +0000 (22:01 +0000)]
Carefully remove extraneous CFG edges after each ifcvt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37529 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a utility routine to check for unpredicated terminator instruction.
Evan Cheng [Fri, 8 Jun 2007 21:59:56 +0000 (21:59 +0000)]
Add a utility routine to check for unpredicated terminator instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37528 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDefine AsmTransCBE for ARM.
Lauro Ramos Venancio [Fri, 8 Jun 2007 21:06:23 +0000 (21:06 +0000)]
Define AsmTransCBE for ARM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37527 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix typo in a comment.
Owen Anderson [Fri, 8 Jun 2007 20:57:08 +0000 (20:57 +0000)]
Fix typo in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37526 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a bug that was causing the elimination phase not to replace values when it should be.
Owen Anderson [Fri, 8 Jun 2007 20:44:02 +0000 (20:44 +0000)]
Fix a bug that was causing the elimination phase not to replace values when it should be.
With this patch, GVN-PRE now correctly optimizes the example from the thesis.

Many thanks to Daniel Berlin for helping me find errors in this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37525 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCorrect transfer predicate information.
Evan Cheng [Fri, 8 Jun 2007 19:17:12 +0000 (19:17 +0000)]
Correct transfer predicate information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37524 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHidden options to help debugging ifcvt issues.
Evan Cheng [Fri, 8 Jun 2007 19:10:51 +0000 (19:10 +0000)]
Hidden options to help debugging ifcvt issues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37523 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix spelling.
Devang Patel [Fri, 8 Jun 2007 17:59:02 +0000 (17:59 +0000)]
Fix spelling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37522 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd entry to CREDITS.
David Greene [Fri, 8 Jun 2007 17:20:08 +0000 (17:20 +0000)]
Add entry to CREDITS.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37521 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFactor live variable analysis so it does not do register coalescing
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

16 years agowording fix noticed by Ivan Novick
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

16 years agoAllow more cmp / bcc to be predicated; clean up triangle ifcvt checking code.
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

16 years agoFix ARM condition code subsumission check.
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

16 years agotBcc is not a barrier.
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

16 years agoUse more realistically sized vectors. Reserve capacity if we know in advance
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

16 years agoSmall bugfix, and const-ify some methods (Thanks, Bill).
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

16 years agoUpdate LoopSimplify to require and preserve DominatorTree only.
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

16 years agoMake throttle a hidden parameter, per review.
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

16 years agoAdd partial redundancy elimination.
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

16 years agoThrottle tail merging; handling blocks with large numbers of predecessors
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

16 years agoAdd new method - nearestCommonDominator().
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

16 years agoUse DominatorTree instead of ETForest.
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

16 years agoDo not preserve ETForest.
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

16 years agoUse DominatorTree instead of ETForest.
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

16 years agoAdd instruction level dominates(A,B) interface.
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

16 years agoOnly remove the edge from entry to false if false block is merged.
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

16 years agoDo not require ETForest. Now it is unused by LICM.
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

16 years agoDo not use ETForest as well as DomiantorTree. DominatorTree is sufficient.
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

16 years agoUse DominatorTree instead of ETForest.
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

16 years agoUse DominatorTree instead of ETForest.
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

16 years agoUse DominatorTree instead of ETForest.
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

16 years agoAdd basic block level properlyDominates(A,B) interface.
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

16 years agoDo not change the size of function arguments. PR 1489.
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

16 years agoUse DominatorTree instead of ETForest.
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

16 years agoUse DominatorTree instead of ETForest.
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

16 years agoAdd BasicBlock level dominates(A,B) interface.
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

16 years agoMaintain ETNode as part of DomTreeNode.
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

16 years agoFormating fixes.
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

16 years agoCorrect typo. Should be "not allowed"
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

16 years agoMake the struct bigger, in an attempt to get a "struct return" on more
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

16 years agoMake this test pass if llvm-g++ was built without exception handling support.
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

16 years agoifcvt a triangle: don't merge ifcvt block with rejoin block if it can fall through...
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

16 years agoAdd assert to check if the attributes ZExt/SExt, NoAlias are apply to the
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

16 years agoLots of bug fixes. Now finally in a reasonable state.
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

16 years agoStupid cut-n-paste bug caused me soooo much grief. Why wasn't there a compilation...
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

16 years agoFix bugpoint to run -llc-safe with -Xlinker.
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

16 years agoPropagate alignment, section name and visibility when linking "appending
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

16 years agoInstruct the inliner to obey the noinline attribute. Add test case.
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

16 years agoReally use attribute.
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

16 years agoTest case for noinline attribute.
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

16 years agosimplify this code and fix PR1493, now that llvm-gcc3 is dead.
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

16 years agoif internalize is disabled, don't run the pass at all!
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

16 years agoRevert changes for noinline.
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

16 years agoAdd new dominator tree node into dominator tree node map.
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

16 years agoupdate to match latest changes
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

16 years agoAdd a test for PR1499.
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

16 years agoFix PR1499.
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

16 years agoQuick patch to fix the build, based on what it appears Evan meant to write.
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

16 years agoFold the exception actions table harder: if two typeid lists start the
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

16 years agoOptimize this test. Firstly, only Instructions may use other Instructions.
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

16 years agoMark these instructions clobbersPred. They modify the condition code register.
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

16 years agoLots of bug fixes.
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

16 years agoAdded clobbersPred.
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

16 years agoAdd clobbersPred - instruction that clobbers condition code / register which are...
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

16 years agoAdd a machine instruction flag indicating the instruction can clobber condition code...
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

16 years agoAdditional fix for PR1422: make sure the landing pad label is placed in the
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

16 years ago"Simplified" testcase for PR1422.
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

16 years agoInitial Mips support, here we go! =)
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

16 years agoIgnore llvm.noinline
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

16 years agoFix PR1487 and Transforms/IndVar/2007-06-06-DeleteDanglesPtr.ll
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

16 years agonew testcase for PR1487
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

16 years agoInform ScalarEvolutions that we're deleting Values.
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

16 years agoIf a unconditional branch is added to branch to the false path during ifcvt, the...
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

16 years agoAdd simple full redundancy elimination.
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

16 years agoFix PR1495 and CodeGen/X86/2007-06-05-LSR-Dominator.ll
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

16 years agoadd accessor
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

16 years agonew testcase for PR1495
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

16 years agoMinor statistics counting bug.
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

16 years agoBreak friendship.
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

16 years agoFix a couple of typos and be smarter about order of blocks when ifcvt a diamond.
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

16 years agoRename.
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

16 years agoSimplify class hierarchy.
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

16 years agoAvoid non-trivial loop unswitching while optimizing for size.
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

16 years agoFix a user-reported error building with GCC 3.4.4 on Cygwin.
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

16 years agoFix diamond shape ifcvt bugs.
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

16 years agoFix a misunderstanding of the algorithm. Really, we should be tracking values
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

16 years agoDon't leak memory.
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

16 years agoReplaceUsesOfBlockWith() can modify the predecessors list.
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

16 years agoDo not ifcvt if either true / false path is a backedge. Not profitable in almost...
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

16 years agoFix PR 1497
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

16 years agoNew test.
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

16 years agoPrint predicate of the second instruction of the two-piece constant MI.
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

16 years agoFix a small bug, some 80 cols violations, and add some more debugging output.
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

16 years agoAllow insertelement, extractelement, and shufflevector to be hoisted/sunk
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