oota-llvm.git
17 years agofix some bugs in the manual
Chris Lattner [Fri, 13 Jul 2007 20:01:46 +0000 (20:01 +0000)]
fix some bugs in the manual

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

17 years agoBe more aggressive in removing dead stores, and in removing instructions trivially...
Owen Anderson [Fri, 13 Jul 2007 18:26:26 +0000 (18:26 +0000)]
Be more aggressive in removing dead stores, and in removing instructions trivially dead after DSE.
This drastically improves the effect of FastDSE on kimwitu++.

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

17 years agoModify previous patch per review comments.
Dale Johannesen [Fri, 13 Jul 2007 17:31:29 +0000 (17:31 +0000)]
Modify previous patch per review comments.

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

17 years agoSkeleton of post-RA scheduler; doesn't do anything yet.
Dale Johannesen [Fri, 13 Jul 2007 17:13:54 +0000 (17:13 +0000)]
Skeleton of post-RA scheduler; doesn't do anything yet.
Change name of -sched option and DEBUG_TYPE to
pre-RA-sched; adjust testcases.

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

17 years agoFix CodeGen/Generic/print-arith-fp.ll on sparc (PR1551)
Chris Lattner [Fri, 13 Jul 2007 16:24:10 +0000 (16:24 +0000)]
Fix CodeGen/Generic/print-arith-fp.ll on sparc (PR1551)

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

17 years agothese tests do not need a triple on Solaris. Thanks sabre!
Gabor Greif [Fri, 13 Jul 2007 10:08:18 +0000 (10:08 +0000)]
these tests do not need a triple on Solaris. Thanks sabre!

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

17 years agoRegenerate to pick up Gabor's changes.
Reid Spencer [Fri, 13 Jul 2007 10:05:30 +0000 (10:05 +0000)]
Regenerate to pick up Gabor's changes.

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

17 years agoSet the mime-type of this file to text/plain because (silly) SVN
Reid Spencer [Fri, 13 Jul 2007 10:02:45 +0000 (10:02 +0000)]
Set the mime-type of this file to text/plain because (silly) SVN
doesn't know that application/x-sh is text.

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

17 years ago* llvm.spec.in: update blurb
Gabor Greif [Fri, 13 Jul 2007 09:48:29 +0000 (09:48 +0000)]
* llvm.spec.in: update blurb
* autoconf/AutoRegen.sh: use variables for autofoo versions
* autoconf/configure.ac: test for some more functions
                         that are not guaranteed on solaris

Note: the svn:mime-type of autoconf/AutoRegen.sh
      should be set to something that allows for
text compares using svn diff

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

17 years agoReimplement removing stores to allocas at the end of a function. This should be...
Owen Anderson [Thu, 12 Jul 2007 21:41:30 +0000 (21:41 +0000)]
Reimplement removing stores to allocas at the end of a function.  This should be safe now.

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

17 years agoMake the condition-checking for free with non-trivial dependencies more correct.
Owen Anderson [Thu, 12 Jul 2007 18:08:51 +0000 (18:08 +0000)]
Make the condition-checking for free with non-trivial dependencies more correct.

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

17 years agoRemove the end-block handling code. It was unsafe, and making it safe would have...
Owen Anderson [Thu, 12 Jul 2007 17:52:20 +0000 (17:52 +0000)]
Remove the end-block handling code.  It was unsafe, and making it safe would have resulted in falling back to the slow DSE case.  I need to think some more about the right way to handle this.

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

17 years agoARM: make branch folder remove unconditional branches
Dale Johannesen [Thu, 12 Jul 2007 16:45:35 +0000 (16:45 +0000)]
ARM:  make branch folder remove unconditional branches
following jump tables that it earlier inserted.  This
would be OK on other targets but is needed for correctness
only on ARM (constant islands needs to find jump tables).

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

17 years agoThe type ids making up a filter are unsigned, and
Duncan Sands [Thu, 12 Jul 2007 13:51:39 +0000 (13:51 +0000)]
The type ids making up a filter are unsigned, and
should be output as unsigned values.  Checked against
gcc.

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

17 years agochecked in as obvious,
Gabor Greif [Thu, 12 Jul 2007 13:31:38 +0000 (13:31 +0000)]
checked in as obvious,
thanks Benoit Boissinot!

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

17 years agofix the remaining 3 testcases that missed a target triple
Gabor Greif [Thu, 12 Jul 2007 13:21:08 +0000 (13:21 +0000)]
fix the remaining 3 testcases that missed a target triple

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

17 years agoanother missed SSE optimization
Chris Lattner [Thu, 12 Jul 2007 06:31:38 +0000 (06:31 +0000)]
another missed SSE optimization

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

17 years agoLet MemoryDependenceAnalysis take care of updating AliasAnalysis.
Owen Anderson [Thu, 12 Jul 2007 00:06:21 +0000 (00:06 +0000)]
Let MemoryDependenceAnalysis take care of updating AliasAnalysis.

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

17 years agoNew test.
Devang Patel [Wed, 11 Jul 2007 23:54:25 +0000 (23:54 +0000)]
New test.

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

17 years agoPreserve analysis info.
Devang Patel [Wed, 11 Jul 2007 23:47:28 +0000 (23:47 +0000)]
Preserve analysis info.

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

17 years agoGet rid of annoying spaces.
David Greene [Wed, 11 Jul 2007 23:44:08 +0000 (23:44 +0000)]
Get rid of annoying spaces.

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

17 years agoAdded support for Mips specific GAS directives
Bruno Cardoso Lopes [Wed, 11 Jul 2007 23:24:41 +0000 (23:24 +0000)]
Added support for Mips specific GAS directives
Fixed print immediate
Fixed Identation on MipsISelDAGToDAG.cpp

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

17 years agoAdded support for framepointer
Bruno Cardoso Lopes [Wed, 11 Jul 2007 23:21:31 +0000 (23:21 +0000)]
Added support for framepointer
Prologue/Epilogue support fp,ra save/restore and use the stack frame the right
way!

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

17 years agoHandle the case where an entire structure is freed, and its dependency is a store...
Owen Anderson [Wed, 11 Jul 2007 23:19:17 +0000 (23:19 +0000)]
Handle the case where an entire structure is freed, and its dependency is a store to a field within
that structure.

Also, refactor the runOnBasicBlock() function, splitting some of the special cases into separate functions.

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

17 years agoNow that stack is represented the right way, LOA starts at 0
Bruno Cardoso Lopes [Wed, 11 Jul 2007 23:17:41 +0000 (23:17 +0000)]
Now that stack is represented the right way, LOA starts at 0

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

17 years agoFixed AddLiveOut issues
Bruno Cardoso Lopes [Wed, 11 Jul 2007 23:16:16 +0000 (23:16 +0000)]
Fixed AddLiveOut issues
FI's created the write way to represent Mips stack

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

17 years agoRemoved unused immediate PatLeaf, fixed lui instruction
Bruno Cardoso Lopes [Wed, 11 Jul 2007 22:47:02 +0000 (22:47 +0000)]
Removed unused immediate PatLeaf, fixed lui instruction

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

17 years agoAdded MipsMachineFunction class, to hold Mips dinamic stack info when inserting Prolo...
Bruno Cardoso Lopes [Wed, 11 Jul 2007 22:44:21 +0000 (22:44 +0000)]
Added MipsMachineFunction class, to hold Mips dinamic stack info when inserting Prologue/Epilog

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

17 years agoAdd support for eliminate stores to stack-allocated memory locations at the end
Owen Anderson [Wed, 11 Jul 2007 21:06:56 +0000 (21:06 +0000)]
Add support for eliminate stores to stack-allocated memory locations at the end
of a function.

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

17 years agoHandle eliminating stores that occur right before a free.
Owen Anderson [Wed, 11 Jul 2007 20:38:34 +0000 (20:38 +0000)]
Handle eliminating stores that occur right before a free.

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

17 years agoHandle packed structs in the CBackend.
Lauro Ramos Venancio [Wed, 11 Jul 2007 19:56:53 +0000 (19:56 +0000)]
Handle packed structs in the CBackend.

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

17 years agoEmit correct linkage. Patch by Roman Samoilov.
Anton Korobeynikov [Wed, 11 Jul 2007 19:51:06 +0000 (19:51 +0000)]
Emit correct linkage. Patch by Roman Samoilov.

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

17 years agoAdd test case for PR1545.
Evan Cheng [Wed, 11 Jul 2007 19:29:05 +0000 (19:29 +0000)]
Add test case for PR1545.

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

17 years agoMissed a couple of places where new instructions are added due to spill / restore.
Evan Cheng [Wed, 11 Jul 2007 19:17:18 +0000 (19:17 +0000)]
Missed a couple of places where new instructions are added due to spill / restore.

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

17 years agoClean up a few things based on Chris' feedback.
Owen Anderson [Wed, 11 Jul 2007 19:03:09 +0000 (19:03 +0000)]
Clean up a few things based on Chris' feedback.

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

17 years agoAdding ability to demote phi to stack.
Tanya Lattner [Wed, 11 Jul 2007 18:41:34 +0000 (18:41 +0000)]
Adding ability to demote phi to stack.

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

17 years agoFix hang compiling TimberWolf (allow for islands
Dale Johannesen [Wed, 11 Jul 2007 18:32:38 +0000 (18:32 +0000)]
Fix hang compiling TimberWolf (allow for islands
of size other than 4).

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

17 years agoAssert when TLS is not implemented.
Lauro Ramos Venancio [Wed, 11 Jul 2007 17:19:51 +0000 (17:19 +0000)]
Assert when TLS is not implemented.

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

17 years agoException handling has been implemented.
Duncan Sands [Wed, 11 Jul 2007 16:59:20 +0000 (16:59 +0000)]
Exception handling has been implemented.

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

17 years agoFix an oversight: for modules with no other identifying target info,
Chris Lattner [Wed, 11 Jul 2007 16:32:10 +0000 (16:32 +0000)]
Fix an oversight: for modules with no other identifying target info,
the sparc backend should be preferred when running on sparcs.

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

17 years agoIf assertions are not enabled, we should return False here.
Duncan Sands [Wed, 11 Jul 2007 08:47:55 +0000 (08:47 +0000)]
If assertions are not enabled, we should return False here.

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

17 years agoNo longer need to track last def / use.
Evan Cheng [Wed, 11 Jul 2007 08:47:44 +0000 (08:47 +0000)]
No longer need to track last def / use.

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

17 years agoFix for PR1545: Revamp code that update kill information due to register reuse.
Evan Cheng [Wed, 11 Jul 2007 05:28:39 +0000 (05:28 +0000)]
Fix for PR1545: Revamp code that update kill information due to register reuse.

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

17 years agoAdjust this per the changes to the configuration script in the llvm-top module.
Reid Spencer [Wed, 11 Jul 2007 03:00:11 +0000 (03:00 +0000)]
Adjust this per the changes to the configuration script in the llvm-top module.

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

17 years agoAdd FastDSE, a new algorithm for doing dead store elimination. This algorithm is...
Owen Anderson [Wed, 11 Jul 2007 00:46:18 +0000 (00:46 +0000)]
Add FastDSE, a new algorithm for doing dead store elimination.  This algorithm is not as accurate
as the current DSE, but it only a linear scan over each block, rather than quadratic.  Eventually
(once it has been improved somewhat), this will replace the current DSE.

NOTE: This has not yet been extensively tested.

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

17 years agoMake this work with GLIBCXX_DEBUG.
David Greene [Tue, 10 Jul 2007 22:00:30 +0000 (22:00 +0000)]
Make this work with GLIBCXX_DEBUG.

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

17 years agoDidn't mean the last commit. Revert.
Evan Cheng [Tue, 10 Jul 2007 22:00:16 +0000 (22:00 +0000)]
Didn't mean the last commit. Revert.

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

17 years agoFix fp_constant_op failure.
Dale Johannesen [Tue, 10 Jul 2007 21:53:30 +0000 (21:53 +0000)]
Fix fp_constant_op failure.

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

17 years agoUpdate.
Evan Cheng [Tue, 10 Jul 2007 21:49:47 +0000 (21:49 +0000)]
Update.

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

17 years agofix 80 columnn violations, increasing the world's
Dale Johannesen [Tue, 10 Jul 2007 20:53:41 +0000 (20:53 +0000)]
fix 80 columnn violations, increasing the world's
pedantic satisfaction level.

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

17 years agoCalculate the size of a array allocation correctly.
Owen Anderson [Tue, 10 Jul 2007 20:48:38 +0000 (20:48 +0000)]
Calculate the size of a array allocation correctly.

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

17 years agoFix a crasher when finding the dependency of a call.
Owen Anderson [Tue, 10 Jul 2007 20:39:07 +0000 (20:39 +0000)]
Fix a crasher when finding the dependency of a call.

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

17 years agoMake this pass registration static as well.
Owen Anderson [Tue, 10 Jul 2007 20:21:08 +0000 (20:21 +0000)]
Make this pass registration static as well.

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

17 years agoMake the pass registration static.
Owen Anderson [Tue, 10 Jul 2007 20:20:19 +0000 (20:20 +0000)]
Make the pass registration static.

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

17 years agoadd a note
Chris Lattner [Tue, 10 Jul 2007 20:03:50 +0000 (20:03 +0000)]
add a note

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

17 years agocheck for correct usage of the byval attribute
Rafael Espindola [Tue, 10 Jul 2007 19:28:12 +0000 (19:28 +0000)]
check for correct usage of the byval attribute

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

17 years agoDuring module cloning copy aliases too. This fixes PR1544
Anton Korobeynikov [Tue, 10 Jul 2007 19:07:35 +0000 (19:07 +0000)]
During module cloning copy aliases too. This fixes PR1544

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

17 years agoHandle vaarg instructions correctly.
Owen Anderson [Tue, 10 Jul 2007 18:43:15 +0000 (18:43 +0000)]
Handle vaarg instructions correctly.

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

17 years agoChange the peep for EXTRACT_VECTOR_ELT of BUILD_PAIR to look for
Dan Gohman [Tue, 10 Jul 2007 18:20:44 +0000 (18:20 +0000)]
Change the peep for EXTRACT_VECTOR_ELT of BUILD_PAIR to look for
the new CONCAT_VECTORS node type instead, as that's what legalize
uses now. And add a peep for EXTRACT_VECTOR_ELT of INSERT_VECTOR_ELT.

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

17 years agoVolatile loads and stores depend on each other.
Owen Anderson [Tue, 10 Jul 2007 18:11:42 +0000 (18:11 +0000)]
Volatile loads and stores depend on each other.

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

17 years agoRemove clobbersPred. Add an OptionalDefOperand to instructions which have the 's...
Evan Cheng [Tue, 10 Jul 2007 18:08:01 +0000 (18:08 +0000)]
Remove clobbersPred. Add an OptionalDefOperand to instructions which have the 's' bit.

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

17 years agoRemove clobbersPred.
Evan Cheng [Tue, 10 Jul 2007 18:07:08 +0000 (18:07 +0000)]
Remove clobbersPred.

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

17 years agoAdd OptionalDefOperand. Remove clobbersPred. Also add DefinesPredicate to be used...
Evan Cheng [Tue, 10 Jul 2007 18:06:29 +0000 (18:06 +0000)]
Add OptionalDefOperand. Remove clobbersPred. Also add DefinesPredicate to be used by if-converter.

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

17 years agoTry committing again. Add OptionalDefOperand. Remove clobbersPred.
Evan Cheng [Tue, 10 Jul 2007 18:05:01 +0000 (18:05 +0000)]
Try committing again. Add OptionalDefOperand. Remove clobbersPred.

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

17 years agoAdd support for finding the dependencies of call and invoke instructions.
Owen Anderson [Tue, 10 Jul 2007 17:59:22 +0000 (17:59 +0000)]
Add support for finding the dependencies of call and invoke instructions.

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

17 years agoIf the operand is marked M_OPTIONAL_DEF_OPERAND, then it's a def.
Evan Cheng [Tue, 10 Jul 2007 17:52:20 +0000 (17:52 +0000)]
If the operand is marked M_OPTIONAL_DEF_OPERAND, then it's a def.

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

17 years agoSomehow this wasn't committed last time. M_CLOBBERS_PRED is gone.
Evan Cheng [Tue, 10 Jul 2007 17:50:43 +0000 (17:50 +0000)]
Somehow this wasn't committed last time. M_CLOBBERS_PRED is gone.

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

17 years agoFix the build, and fix the handling of pointer sizes.
Owen Anderson [Tue, 10 Jul 2007 17:25:03 +0000 (17:25 +0000)]
Fix the build, and fix the handling of pointer sizes.

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

17 years agoFix a bunch of things from Chris' feedback
Owen Anderson [Tue, 10 Jul 2007 17:08:11 +0000 (17:08 +0000)]
Fix a bunch of things from Chris' feedback

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

17 years agoAdd a regression test for folding spill code into scalar min and max.
Dan Gohman [Tue, 10 Jul 2007 15:34:29 +0000 (15:34 +0000)]
Add a regression test for folding spill code into scalar min and max.

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

17 years agoFix a bug in the folding of binary operators to undef.
Dan Gohman [Tue, 10 Jul 2007 15:19:29 +0000 (15:19 +0000)]
Fix a bug in the folding of binary operators to undef.
Thanks to Lauro for spotting this!

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

17 years agoMake sure to keep symbols for profile build.
Reid Spencer [Tue, 10 Jul 2007 14:52:01 +0000 (14:52 +0000)]
Make sure to keep symbols for profile build.

Patch by Benoit Boissinot. Thanks, Benoit!

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

17 years agoFix the folding of undef in several binary operators to recognize
Dan Gohman [Tue, 10 Jul 2007 14:20:37 +0000 (14:20 +0000)]
Fix the folding of undef in several binary operators to recognize
undef in either the left or right operand.

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

17 years agoSimplify the handling of the --*flags options. The makefile already gets it
Reid Spencer [Tue, 10 Jul 2007 07:48:09 +0000 (07:48 +0000)]
Simplify the handling of the --*flags options. The makefile already gets it
right so there is no need to duplicate logic, just use the values the makefile
provides.

Eliminate some redundnt -D options from the output.

Fix the help output so it fits on 80 cols.

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

17 years agoMakesure the -cppflags also uses the CPP.BaseFlags as the CPP.Defines only
Reid Spencer [Tue, 10 Jul 2007 07:21:34 +0000 (07:21 +0000)]
Makesure the -cppflags also uses the CPP.BaseFlags as the CPP.Defines only
contains some of the defines but not all CPP flags.

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

17 years agoMake sure that preprocessor symbols like _DEBUG, NDEBUG, and _GLIBC_DEBUG are
Reid Spencer [Tue, 10 Jul 2007 07:19:53 +0000 (07:19 +0000)]
Make sure that preprocessor symbols like _DEBUG, NDEBUG, and _GLIBC_DEBUG are
put into the CPP.Defines variable. Seems the convention was corrupted with
various changes made. It is important to get command line parameters into the
right variable because things like llvm-config and sub-makefiles depend on it.

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

17 years agoWhen a node value is only used by a CopyToReg, use the user's dest. This should not...
Evan Cheng [Tue, 10 Jul 2007 07:08:32 +0000 (07:08 +0000)]
When a node value is only used by a CopyToReg, use the user's dest. This should not be restricted to nodes that produce only a single value.

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

17 years agoMove DenseMapKeyInfo<SDOperand> from LegalizeDAG.cpp to SelectionDAGNodes.h
Evan Cheng [Tue, 10 Jul 2007 06:59:55 +0000 (06:59 +0000)]
Move DenseMapKeyInfo<SDOperand> from LegalizeDAG.cpp to SelectionDAGNodes.h

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

17 years agoUpdate the ValueRanges interface to use value numbers instead of Value*s.
Nick Lewycky [Tue, 10 Jul 2007 03:28:21 +0000 (03:28 +0000)]
Update the ValueRanges interface to use value numbers instead of Value*s.

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

17 years agoEvidently my earlier fix did not go far enough. When resizing a zero-sized
Owen Anderson [Tue, 10 Jul 2007 02:01:16 +0000 (02:01 +0000)]
Evidently my earlier fix did not go far enough.  When resizing a zero-sized
BitVector, make sure to set or clear ALL of the bits.

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

17 years agoMove some key maps from std::map to DenseMap. This improves the time to optimize...
Owen Anderson [Tue, 10 Jul 2007 00:27:22 +0000 (00:27 +0000)]
Move some key maps from std::map to DenseMap.  This improves the time to optimize Anton's testcase from 17.5s
to 15.7s.

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

17 years agoUse a cheaper test, delaying calling find_leader() until we know that it's necessary...
Owen Anderson [Tue, 10 Jul 2007 00:09:25 +0000 (00:09 +0000)]
Use a cheaper test, delaying calling find_leader() until we know that it's necessary.  This improves
the time to optimize Anton's testcase from 21.1s to 17.6s.

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

17 years agoDefine non-intrinsic instructions for vector min, max, sqrt, rsqrt, and rcp,
Dan Gohman [Tue, 10 Jul 2007 00:05:58 +0000 (00:05 +0000)]
Define non-intrinsic instructions for vector min, max, sqrt, rsqrt, and rcp,
in addition to the intrinsic forms. Add spill-folding entries for these new
instructions, and for the scalar min and max instrinsic instructions which
were missing. And add some preliminary ISelLowering code for using the new
non-intrinsic vector sqrt instruction, and fneg and fabs.

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

17 years agoAdd an assertion if find_leader fails.
Owen Anderson [Mon, 9 Jul 2007 23:57:18 +0000 (23:57 +0000)]
Add an assertion if find_leader fails.

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

17 years agoWhen resizing a BitVector with size 0, be sure to clear the low word before using it.
Owen Anderson [Mon, 9 Jul 2007 23:39:39 +0000 (23:39 +0000)]
When resizing a BitVector with size 0, be sure to clear the low word before using it.

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

17 years agoTake advantage of the new fast SmallPtrSet assignment operator when propagating AVAIL...
Owen Anderson [Mon, 9 Jul 2007 22:29:50 +0000 (22:29 +0000)]
Take advantage of the new fast SmallPtrSet assignment operator when propagating AVAIL_OUT sets.
This reduces the time to optimize Anton's testcase from 31.2s to 21.s!

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

17 years agoMake the assignment operator for SmallPtrSet much faster for normal cases.
Owen Anderson [Mon, 9 Jul 2007 22:27:20 +0000 (22:27 +0000)]
Make the assignment operator for SmallPtrSet much faster for normal cases.

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

17 years agoPreserve volatililty and alignment information when lowering or
Dan Gohman [Mon, 9 Jul 2007 22:18:38 +0000 (22:18 +0000)]
Preserve volatililty and alignment information when lowering or
simplifying loads and stores.

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

17 years agoExpose struct size threhold to allow users to tweak their own setting.
Devang Patel [Mon, 9 Jul 2007 21:19:23 +0000 (21:19 +0000)]
Expose struct size threhold to allow users to tweak their own setting.

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

17 years agoChange getCopyToParts and getCopyFromParts to always use target-endian
Dan Gohman [Mon, 9 Jul 2007 20:59:04 +0000 (20:59 +0000)]
Change getCopyToParts and getCopyFromParts to always use target-endian
register ordering, for both physical and virtual registers. Update the PPC
target lowering for calls to expect registers for the call result to
already be in target order.

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

17 years agoMake the assignment operator for SmallPtrSet return a reference, and fix a long-stand...
Owen Anderson [Mon, 9 Jul 2007 20:59:01 +0000 (20:59 +0000)]
Make the assignment operator for SmallPtrSet return a reference, and fix a long-standing bug in the copy
ctor while I'm at it.

Thanks to Chris Lattner for help with this patch.

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

17 years agoFix memory leak.
Devang Patel [Mon, 9 Jul 2007 20:52:39 +0000 (20:52 +0000)]
Fix memory leak.

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

17 years agoInitialize the IndexedModeActions array with memset before
Dan Gohman [Mon, 9 Jul 2007 20:49:44 +0000 (20:49 +0000)]
Initialize the IndexedModeActions array with memset before
updating it with calls to setIndexedLoadAction/setIndexedStoreAction,
which only update a few bits at a time. This avoids ostensible
undefined behavior of operationg on values which may be
trap-representations, and as a practical matter fixes errors from
valgrind, which doesn't track uninitialized memory with bit
granularity.

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

17 years agoFix an error in the assignment operator that was causing an infinite loop in GVNPRE...
Owen Anderson [Mon, 9 Jul 2007 18:51:15 +0000 (18:51 +0000)]
Fix an error in the assignment operator that was causing an infinite loop in GVNPRE.cpp.
Patch by Chis Lattner.

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

17 years agoforce a cpu without SSE
Chris Lattner [Mon, 9 Jul 2007 17:35:18 +0000 (17:35 +0000)]
force a cpu without SSE

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

17 years agoallow this to work on ppc-darwin
Chris Lattner [Mon, 9 Jul 2007 17:32:28 +0000 (17:32 +0000)]
allow this to work on ppc-darwin

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

17 years agoremove this bogus t-t
Chris Lattner [Mon, 9 Jul 2007 17:31:07 +0000 (17:31 +0000)]
remove this bogus t-t

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

17 years agoThe various "getModuleMatchQuality" implementations should return
Chris Lattner [Mon, 9 Jul 2007 17:25:29 +0000 (17:25 +0000)]
The various "getModuleMatchQuality" implementations should return
zero if they see a target triple they don't understand.

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

17 years agoadd target triple to fix PR1546
Chris Lattner [Mon, 9 Jul 2007 17:14:58 +0000 (17:14 +0000)]
add target triple to fix PR1546

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

17 years agowork around an aparent gcc name resolution bug by
Chris Lattner [Mon, 9 Jul 2007 17:11:53 +0000 (17:11 +0000)]
work around an aparent gcc name resolution bug by
detemplatizing this.

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