oota-llvm.git
16 years agoTemporarily set SROA threshold to 512.
Evan Cheng [Tue, 17 Jul 2007 01:52:05 +0000 (01:52 +0000)]
Temporarily set SROA threshold to 512.

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

16 years agoTake advantage of undefined behavior if the source program tries to GEP
Owen Anderson [Mon, 16 Jul 2007 23:34:39 +0000 (23:34 +0000)]
Take advantage of undefined behavior if the source program tries to GEP
beyond the end of an alloca to make FastDSE faster and more aggressive.

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

16 years agoNormally, we don't want to install and we only need to build tools.
Reid Spencer [Mon, 16 Jul 2007 23:25:52 +0000 (23:25 +0000)]
Normally, we don't want to install and we only need to build tools.

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

16 years agoNo, we're not looking for a directory named /config.status.
Reid Spencer [Mon, 16 Jul 2007 22:54:42 +0000 (22:54 +0000)]
No, we're not looking for a directory named /config.status.
Sigh .. fix copy & paste error.

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

16 years agoIn ModuleInfo.txt, make sure that the script being executed can be
Reid Spencer [Mon, 16 Jul 2007 22:25:13 +0000 (22:25 +0000)]
In ModuleInfo.txt, make sure that the script being executed can be
found by prepending a .
In build-for-llvm-top.sh, dereference variables for exansion.

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

16 years agoPrepare for the future when llvm doesn't depend on llvm-gcc-4-0.
Reid Spencer [Mon, 16 Jul 2007 22:11:02 +0000 (22:11 +0000)]
Prepare for the future when llvm doesn't depend on llvm-gcc-4-0.
This also avoids a fork bomb from the llvm-top/build script which
doesn't know how to handle cycles in the dependence graph.

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

16 years agoRemove insignificant test no longer needed.
Reid Spencer [Mon, 16 Jul 2007 22:03:36 +0000 (22:03 +0000)]
Remove insignificant test no longer needed.

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

16 years agoAdd support for walking up memory def chains, which enables finding many more
Owen Anderson [Mon, 16 Jul 2007 21:52:50 +0000 (21:52 +0000)]
Add support for walking up memory def chains, which enables finding many more
dead stores on 400.perlbench.

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

16 years agoUse realloc() to (potentially) resize the contents of SmallPtrSet in place.
Owen Anderson [Mon, 16 Jul 2007 21:27:44 +0000 (21:27 +0000)]
Use realloc() to (potentially) resize the contents of SmallPtrSet in place.

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

16 years agoReturn Undef if the block has no dominator. This was required to allow
Reid Spencer [Mon, 16 Jul 2007 21:03:44 +0000 (21:03 +0000)]
Return Undef if the block has no dominator. This was required to allow
llvm-gcc build to succeed. Without this change it fails in libstdc++
compilation. This causes no regressions in dejagnu tests. However,
someone who knows this code better might want to review it.

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

16 years agoUse ConstantFoldFP for folding all unary floating-point operations which may
Dan Gohman [Mon, 16 Jul 2007 15:26:22 +0000 (15:26 +0000)]
Use ConstantFoldFP for folding all unary floating-point operations which may
have an error, and refector out the code for binary operators into
ConstantFoldBinaryFP and use it for all binary floating-point operations
which may have an error. These functions still rely exclusively on errno
to detect errors though.

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

16 years agoFix the documentation for llvm.sqrt so that sqrt(0) has defined behavior,
Dan Gohman [Mon, 16 Jul 2007 14:37:41 +0000 (14:37 +0000)]
Fix the documentation for llvm.sqrt so that sqrt(0) has defined behavior,
which appears to be the intent.

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

16 years agoFix comments about vectors to use the current wording.
Dan Gohman [Mon, 16 Jul 2007 14:29:03 +0000 (14:29 +0000)]
Fix comments about vectors to use the current wording.

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

16 years agoRemove the trailing semicolon from function declarations in LLVM,
Dan Gohman [Mon, 16 Jul 2007 13:37:30 +0000 (13:37 +0000)]
Remove the trailing semicolon from function declarations in LLVM,
where it's interpreted as a comment, not part of the syntax.

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

16 years agoFix validation errors
Bill Wendling [Mon, 16 Jul 2007 08:52:56 +0000 (08:52 +0000)]
Fix validation errors

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

16 years agoClean up some formatting
Bill Wendling [Mon, 16 Jul 2007 08:46:40 +0000 (08:46 +0000)]
Clean up some formatting

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

16 years agoClean up some formatting. Add some doc_code div tags.
Bill Wendling [Mon, 16 Jul 2007 08:44:39 +0000 (08:44 +0000)]
Clean up some formatting. Add some doc_code div tags.

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

16 years agoPrepare for building from llvm-top. Unfortunately, this doesn't work because
Reid Spencer [Mon, 16 Jul 2007 08:05:18 +0000 (08:05 +0000)]
Prepare for building from llvm-top. Unfortunately, this doesn't work because
of the cyclic depndency between llvm and llvm-gcc-4-0.

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

16 years agoRepair a regression in Transforms/InstCombine/mul.ll that Reid noticed.
Chris Lattner [Mon, 16 Jul 2007 04:15:34 +0000 (04:15 +0000)]
Repair a regression in Transforms/InstCombine/mul.ll that Reid noticed.

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

16 years agorename function to avoid llvm-upgrade warning
Chris Lattner [Mon, 16 Jul 2007 04:09:00 +0000 (04:09 +0000)]
rename function to avoid llvm-upgrade warning

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

16 years agoStart adding and cleaning up comments.
Nick Lewycky [Mon, 16 Jul 2007 02:58:37 +0000 (02:58 +0000)]
Start adding and cleaning up comments.

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

16 years agoHandle decrementing loops properly. Fixes PR1533.
Nick Lewycky [Mon, 16 Jul 2007 02:08:00 +0000 (02:08 +0000)]
Handle decrementing loops properly. Fixes PR1533.

Always pass the constant as the second parameter to HowManyLessThans.

Remove obsolete "isSigned" parameter.

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

16 years agoadd a helper method.
Chris Lattner [Sun, 15 Jul 2007 23:32:03 +0000 (23:32 +0000)]
add a helper method.

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

16 years agonew testcase
Chris Lattner [Sun, 15 Jul 2007 22:30:34 +0000 (22:30 +0000)]
new testcase

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

16 years agoImplement shift-simplify.ll:test[45].
Chris Lattner [Sun, 15 Jul 2007 20:54:51 +0000 (20:54 +0000)]
Implement shift-simplify.ll:test[45].

First teach instcombine that sign bit checks only demand the
sign bit, this allows simplify demanded bits to hack on
expressions better.

Second, teach instcombine that ashr is useless if only the
sign bit is demanded.

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

16 years agoImplement shift-simplify.ll:test3, turning:
Chris Lattner [Sun, 15 Jul 2007 20:42:37 +0000 (20:42 +0000)]
Implement shift-simplify.ll:test3, turning:
(X << 31) <s 0  --> (X&1) != 0

This happens dozens of times in the CFE.

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

16 years agoClarify the language. Pointed out by Duncan Sands.
Nick Lewycky [Sat, 14 Jul 2007 17:41:03 +0000 (17:41 +0000)]
Clarify the language. Pointed out by Duncan Sands.

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

16 years agoFix the build. Patch from Holger Schurig.
Nick Lewycky [Sat, 14 Jul 2007 15:11:14 +0000 (15:11 +0000)]
Fix the build. Patch from Holger Schurig.

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

16 years agoLong live the exception handling!
Anton Korobeynikov [Sat, 14 Jul 2007 14:06:15 +0000 (14:06 +0000)]
Long live the exception handling!

This patch fills the last necessary bits to enable exceptions
handling in LLVM. Currently only on x86-32/linux.

In fact, this patch adds necessary intrinsics (and their lowering) which
represent really weird target-specific gcc builtins used inside unwinder.

After corresponding llvm-gcc patch will land (easy) exceptions should be
more or less workable. However, exceptions handling support should not be
thought as 'finished': I expect many small and not so small glitches
everywhere.

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

16 years agoUse maximal intersection algorithm exclusively. Fixes miscompile bug.
Nick Lewycky [Sat, 14 Jul 2007 04:28:04 +0000 (04:28 +0000)]
Use maximal intersection algorithm exclusively. Fixes miscompile bug.

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

16 years agoAdd alternate ConstantRange intersection algorithm.
Nick Lewycky [Sat, 14 Jul 2007 02:51:34 +0000 (02:51 +0000)]
Add alternate ConstantRange intersection algorithm.

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

16 years agoAdded test case from PR1540.
Evan Cheng [Fri, 13 Jul 2007 23:57:33 +0000 (23:57 +0000)]
Added test case from PR1540.

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

16 years agoMake LCSSA a loop pass.
Devang Patel [Fri, 13 Jul 2007 23:57:11 +0000 (23:57 +0000)]
Make LCSSA a loop pass.

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

16 years agoFix for PR1540: Specify F0, F1 are sub-registers of D0, etc.
Evan Cheng [Fri, 13 Jul 2007 23:55:50 +0000 (23:55 +0000)]
Fix for PR1540: Specify F0, F1 are sub-registers of D0, etc.

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

16 years agoHandle GEPs with all-zero indices in the same way we handle pointer-pointer bitcasts...
Owen Anderson [Fri, 13 Jul 2007 22:50:48 +0000 (22:50 +0000)]
Handle GEPs with all-zero indices in the same way we handle pointer-pointer bitcasts. Also, fix a potentia infinite loop.

This brings FastDSE to parity with old DSE on 175.vpr.

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

16 years agoDisable claims to preserve analysis until open issues are resolved.
Devang Patel [Fri, 13 Jul 2007 21:53:42 +0000 (21:53 +0000)]
Disable claims to preserve analysis until open issues are resolved.

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

16 years agoEliminate an unused parameter.
Dan Gohman [Fri, 13 Jul 2007 20:16:50 +0000 (20:16 +0000)]
Eliminate an unused parameter.

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

16 years agoFix the comment for LegalizeOp to more accurately reflect what it does.
Dan Gohman [Fri, 13 Jul 2007 20:14:11 +0000 (20:14 +0000)]
Fix the comment for LegalizeOp to more accurately reflect what it does.

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

16 years agoremove obsolete note
Chris Lattner [Fri, 13 Jul 2007 20:08:19 +0000 (20:08 +0000)]
remove obsolete note

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

16 years agoDon't call SimplifyVBinOp for non-vector operations, following earlier review
Dan Gohman [Fri, 13 Jul 2007 20:03:40 +0000 (20:03 +0000)]
Don't call SimplifyVBinOp for non-vector operations, following earlier review
feedback. This theoretically makes the common (scalar) case more efficient.

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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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