oota-llvm.git
16 years agoIntroduce new SelectionDAG node opcodes VEXTRACT_SUBVECTOR and
Dan Gohman [Wed, 13 Jun 2007 15:12:02 +0000 (15:12 +0000)]
Introduce new SelectionDAG node opcodes VEXTRACT_SUBVECTOR and
VCONCAT_VECTORS. Use these for CopyToReg and CopyFromReg legalizing in
the case that the full register is to be split into subvectors instead
of scalars. This replaces uses of VBIT_CONVERT to present values as
vector-of-vector types in order to make whole subvectors accessible via
BUILD_VECTOR and EXTRACT_VECTOR_ELT.

This is in preparation for adding extended ValueType values, where
having vector-of-vector types is undesirable.

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

16 years agoWhen creating CopyFromReg nodes, always use legal types. And use the
Dan Gohman [Wed, 13 Jun 2007 14:55:16 +0000 (14:55 +0000)]
When creating CopyFromReg nodes, always use legal types. And use the
correct types for the result vector, even though it is currently bitcasted
to a different type immediately.

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

16 years agoThe fix that was applied for PR1224 stops the compiler
Duncan Sands [Wed, 13 Jun 2007 05:51:31 +0000 (05:51 +0000)]
The fix that was applied for PR1224 stops the compiler
crashing but breaks exception handling.  The problem
described in PR1224 is that invoke is a terminator that
can produce a value.  The value may be needed in other
blocks.  The code that writes to registers values needed
in other blocks runs before terminators are lowered (in
this case invoke) so asserted because the value was not
yet available.  The fix that was applied was to do invoke
lowering earlier, before writing values to registers.

The problem this causes is that the code to copy values
to registers can be output after the invoke call.  If
an exception is raised and control is passed to the
landing pad then this copy-code will never execute.  If
the value is needed in some code path reached via the
landing pad then that code will get something bogus.

So revert the original fix and simply skip invoke values
in the general copying to registers code.  Instead copy
the invoke value to a register in the invoke lowering code.

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

16 years agoTypo
Evan Cheng [Wed, 13 Jun 2007 00:04:00 +0000 (00:04 +0000)]
Typo

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

16 years agoNow if-converting all 4 variants of triangles.
Evan Cheng [Tue, 12 Jun 2007 23:54:05 +0000 (23:54 +0000)]
Now if-converting all 4 variants of triangles.

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

16 years agoFix test/Transforms/GVNPRE/2007-06-12-PhiTranslate.ll
Owen Anderson [Tue, 12 Jun 2007 22:43:57 +0000 (22:43 +0000)]
Fix test/Transforms/GVNPRE/2007-06-12-PhiTranslate.ll

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

16 years agoAdd a test where phi translation was producing a null result.
Owen Anderson [Tue, 12 Jun 2007 22:42:35 +0000 (22:42 +0000)]
Add a test where phi translation was producing a null result.

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

16 years agoisReachableFromEntry() is not suitable for post dominator.
Devang Patel [Tue, 12 Jun 2007 17:50:25 +0000 (17:50 +0000)]
isReachableFromEntry() is not suitable for post dominator.

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

16 years agoRemove redundant check.
Devang Patel [Tue, 12 Jun 2007 17:35:20 +0000 (17:35 +0000)]
Remove redundant check.

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

16 years agoProtect updateDFSNumbers()
Devang Patel [Tue, 12 Jun 2007 17:30:56 +0000 (17:30 +0000)]
Protect updateDFSNumbers()

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

16 years agoCheck A dominates B and vise versa first while searching for nearest
Devang Patel [Tue, 12 Jun 2007 17:17:57 +0000 (17:17 +0000)]
Check A dominates B and vise versa first while searching for nearest
common dominator.

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

16 years agoone final bugfix
Chris Lattner [Tue, 12 Jun 2007 17:01:15 +0000 (17:01 +0000)]
one final bugfix

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

16 years agomodernize example
Chris Lattner [Tue, 12 Jun 2007 17:00:26 +0000 (17:00 +0000)]
modernize example

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

16 years agoRefactor some code, and fix test/Transforms/GVNPRE/2007-06-12-NoExit.ll by being...
Owen Anderson [Tue, 12 Jun 2007 16:57:50 +0000 (16:57 +0000)]
Refactor some code, and fix test/Transforms/GVNPRE/2007-06-12-NoExit.ll by being more careful when using
post-dominator information.

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

16 years agoTestcase where GVNPRE crashes on functions with no exit nodes.
Owen Anderson [Tue, 12 Jun 2007 16:56:00 +0000 (16:56 +0000)]
Testcase where GVNPRE crashes on functions with no exit nodes.

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

16 years agoSink CmpInst's to their uses to reduce register pressure.
Dale Johannesen [Tue, 12 Jun 2007 16:50:17 +0000 (16:50 +0000)]
Sink CmpInst's to their uses to reduce register pressure.

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

16 years agoMake DFS number manipulation methods private.
Devang Patel [Tue, 12 Jun 2007 05:49:31 +0000 (05:49 +0000)]
Make DFS number manipulation methods private.

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

16 years agoMake the run line for this test correct. Thanks to Chris for spotting it.
Owen Anderson [Tue, 12 Jun 2007 04:40:48 +0000 (04:40 +0000)]
Make the run line for this test correct.  Thanks to Chris for spotting it.

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

16 years agoBreak DominatorTree from ETNode.
Devang Patel [Tue, 12 Jun 2007 00:54:38 +0000 (00:54 +0000)]
Break DominatorTree from ETNode.
Remove unused PostETForest.

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

16 years agoFix a few more bugs, including an instance of walking in reverse topological rather...
Owen Anderson [Tue, 12 Jun 2007 00:50:47 +0000 (00:50 +0000)]
Fix a few more bugs, including an instance of walking in reverse topological rather than topological order.  This
fixes a testcase extracted from llvm-test.

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

16 years agoAdd a GVN-PRE basic regression test.
Owen Anderson [Tue, 12 Jun 2007 00:49:33 +0000 (00:49 +0000)]
Add a GVN-PRE basic regression test.

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

16 years agoUse SmallPtrSet instaed of std::set
Devang Patel [Tue, 12 Jun 2007 00:40:51 +0000 (00:40 +0000)]
Use SmallPtrSet instaed of std::set

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

16 years agoCheck immediate dominators first while searching for nearset common dominator.
Devang Patel [Tue, 12 Jun 2007 00:35:38 +0000 (00:35 +0000)]
Check immediate dominators first while searching for nearset common dominator.
Fix 80 col violations.

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

16 years agoMaintain DFS number in DomTreeNode itself.
Devang Patel [Tue, 12 Jun 2007 00:14:41 +0000 (00:14 +0000)]
Maintain DFS number in DomTreeNode itself.
This means now ETNodes are not useful anymore.

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

16 years agoAdd and use DominatorTreeBase::findNearestCommonDominator().
Devang Patel [Mon, 11 Jun 2007 23:31:22 +0000 (23:31 +0000)]
Add and use DominatorTreeBase::findNearestCommonDominator().

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

16 years agoFix a typo in bswap lowering.
Lauro Ramos Venancio [Mon, 11 Jun 2007 23:16:16 +0000 (23:16 +0000)]
Fix a typo in bswap lowering.

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

16 years agoRestructure code to reduce ifcvt compile time cost.
Evan Cheng [Mon, 11 Jun 2007 22:26:22 +0000 (22:26 +0000)]
Restructure code to reduce ifcvt compile time cost.

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

16 years agoSimplify.
Devang Patel [Mon, 11 Jun 2007 21:45:31 +0000 (21:45 +0000)]
Simplify.

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

16 years agosimplify
Devang Patel [Mon, 11 Jun 2007 21:25:31 +0000 (21:25 +0000)]
simplify

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

16 years agoSimplify. Dominator Tree is required so always available.
Devang Patel [Mon, 11 Jun 2007 21:18:00 +0000 (21:18 +0000)]
Simplify.  Dominator Tree is required so always available.

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

16 years agoHandle functions with multiple exit blocks properly.
Owen Anderson [Mon, 11 Jun 2007 16:25:17 +0000 (16:25 +0000)]
Handle functions with multiple exit blocks properly.

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

16 years agoUse DominatorTree instead of ETForest.
Devang Patel [Mon, 11 Jun 2007 15:40:48 +0000 (15:40 +0000)]
Use DominatorTree instead of ETForest.

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

16 years agoFix the build.
Reid Spencer [Sun, 10 Jun 2007 00:19:17 +0000 (00:19 +0000)]
Fix the build.

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

16 years agoPerform PRE of comparison operators.
Owen Anderson [Sat, 9 Jun 2007 18:35:31 +0000 (18:35 +0000)]
Perform PRE of comparison operators.

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

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