oota-llvm.git
14 years agoAdd MSP430 mem-mem insts support. Patch by Brian Lucas with some my refinements
Anton Korobeynikov [Sun, 11 Oct 2009 23:03:28 +0000 (23:03 +0000)]
Add MSP430 mem-mem insts support. Patch by Brian Lucas with some my refinements

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

14 years agoremove some harmful code that would turn an insertelement on an undef
Chris Lattner [Sun, 11 Oct 2009 23:02:46 +0000 (23:02 +0000)]
remove some harmful code that would turn an insertelement on an undef
into a shuffle even if it was used by another insertelement.  If the
visitation order of instcombine was wrong, this would turn a chain of
insertelements into a chain of shufflevectors, which was quite painful.

Since CollectShuffleElements handles these cases, the code can just
be nuked.

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

14 years agoAdd bunch of MSP430 'feature' tests. Patch by Brian Lucas with some my refinements
Anton Korobeynikov [Sun, 11 Oct 2009 23:02:38 +0000 (23:02 +0000)]
Add bunch of MSP430 'feature' tests. Patch by Brian Lucas with some my refinements

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

14 years agoreduce vec_shuffle2 and merge into vec_shuffle.
Chris Lattner [Sun, 11 Oct 2009 22:54:48 +0000 (22:54 +0000)]
reduce vec_shuffle2 and merge into vec_shuffle.

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

14 years agofilecheckize vec_shuffle.ll and merge shuffle.ll into it.
Chris Lattner [Sun, 11 Oct 2009 22:52:15 +0000 (22:52 +0000)]
filecheckize vec_shuffle.ll and merge shuffle.ll into it.

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

14 years agofilecheckize
Chris Lattner [Sun, 11 Oct 2009 22:45:17 +0000 (22:45 +0000)]
filecheckize

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

14 years agorename test
Chris Lattner [Sun, 11 Oct 2009 22:44:16 +0000 (22:44 +0000)]
rename test

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

14 years agoremove old testcase
Chris Lattner [Sun, 11 Oct 2009 22:42:06 +0000 (22:42 +0000)]
remove old testcase

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

14 years agomerge test into shift.ll, this also eliminates awful grepping on -stats output
Chris Lattner [Sun, 11 Oct 2009 22:39:58 +0000 (22:39 +0000)]
merge test into shift.ll, this also eliminates awful grepping on -stats output

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

14 years agoconvert to filecheck.
Chris Lattner [Sun, 11 Oct 2009 22:36:59 +0000 (22:36 +0000)]
convert to filecheck.

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

14 years agoteach instcombine to simplify xor's harder, catching the
Chris Lattner [Sun, 11 Oct 2009 22:22:13 +0000 (22:22 +0000)]
teach instcombine to simplify xor's harder, catching the
new testcase.

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

14 years agocleanups
Chris Lattner [Sun, 11 Oct 2009 22:00:32 +0000 (22:00 +0000)]
cleanups

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

14 years agoconvert xor2 to filecheck, merge in a random regtest
Chris Lattner [Sun, 11 Oct 2009 21:42:08 +0000 (21:42 +0000)]
convert xor2 to filecheck, merge in a random regtest

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

14 years agocleanup, no functionality change.
Chris Lattner [Sun, 11 Oct 2009 21:36:10 +0000 (21:36 +0000)]
cleanup, no functionality change.

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

14 years agogeneralize a transformation even more: we don't care whether the
Chris Lattner [Sun, 11 Oct 2009 21:29:45 +0000 (21:29 +0000)]
generalize a transformation even more: we don't care whether the
input the the mul is a zext from bool, just that it is all zeros
other than the low bit.  This fixes some phase ordering issues
that would cause us to miss some xforms in mul.ll when the worklist
is visited differently.

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

14 years agosimplify a transformation by making it more general.
Chris Lattner [Sun, 11 Oct 2009 21:22:21 +0000 (21:22 +0000)]
simplify a transformation by making it more general.

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

14 years agotemporarily revert previous patch
Chris Lattner [Sun, 11 Oct 2009 21:05:34 +0000 (21:05 +0000)]
temporarily revert previous patch

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

14 years agopopulate instcombine's initial worklist more carefully, causing
Chris Lattner [Sun, 11 Oct 2009 21:04:37 +0000 (21:04 +0000)]
populate instcombine's initial worklist more carefully, causing
it to visit instructions from the start of the function to the
end of the function in the first path.  This greatly speeds up
some pathological cases (e.g. PR5150).

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

14 years agoRemove CleanupDbgInfo, instcombine does this and its not worth duplicating it
Torok Edwin [Sun, 11 Oct 2009 19:58:35 +0000 (19:58 +0000)]
Remove CleanupDbgInfo, instcombine does this and its not worth duplicating it
here.

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

14 years agoMore DragonEgg verbiage.
Duncan Sands [Sun, 11 Oct 2009 19:40:38 +0000 (19:40 +0000)]
More DragonEgg verbiage.

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

14 years agoRemove spurious brackets.
Duncan Sands [Sun, 11 Oct 2009 19:30:56 +0000 (19:30 +0000)]
Remove spurious brackets.

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

14 years agoLICM shouldn't sink/delete debug information. Fix this and add a testcase.
Torok Edwin [Sun, 11 Oct 2009 19:15:54 +0000 (19:15 +0000)]
LICM shouldn't sink/delete debug information. Fix this and add a testcase.
For now the metadata of sinked/hoisted instructions is still wrong, but that'll
be fixed when instructions will have debug metadata directly attached.

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

14 years agoImplement 'm' memory operand properly
Anton Korobeynikov [Sun, 11 Oct 2009 19:14:21 +0000 (19:14 +0000)]
Implement 'm' memory operand properly

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

14 years agoImplement proper asmprinting for the globals. This eliminates bogus "call" modifier...
Anton Korobeynikov [Sun, 11 Oct 2009 19:14:02 +0000 (19:14 +0000)]
Implement proper asmprinting for the globals. This eliminates bogus "call" modifier and also adds support for offsets wrt globals.

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

14 years agoImplement asm printing for inline asm memory operands
Anton Korobeynikov [Sun, 11 Oct 2009 19:13:34 +0000 (19:13 +0000)]
Implement asm printing for inline asm memory operands

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

14 years agoadd PR5004 as a known problem.
Chris Lattner [Sun, 11 Oct 2009 19:07:23 +0000 (19:07 +0000)]
add PR5004 as a known problem.

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

14 years agoduncan points out that llvm-gcc doesn't do the right thing with -fverbose-asm yet.
Chris Lattner [Sun, 11 Oct 2009 19:02:54 +0000 (19:02 +0000)]
duncan points out that llvm-gcc doesn't do the right thing with -fverbose-asm yet.

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

14 years agoFix typo.
Nick Lewycky [Sun, 11 Oct 2009 18:53:09 +0000 (18:53 +0000)]
Fix typo.

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

14 years agoFix typo.
Nick Lewycky [Sun, 11 Oct 2009 18:47:33 +0000 (18:47 +0000)]
Fix typo.

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

14 years agowhen folding duplicate conditions, delete the
Chris Lattner [Sun, 11 Oct 2009 18:39:58 +0000 (18:39 +0000)]
when folding duplicate conditions, delete the
now-probably-dead instruction tree feeding it.

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

14 years agosome notes from Anton
Chris Lattner [Sun, 11 Oct 2009 18:21:32 +0000 (18:21 +0000)]
some notes from Anton

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

14 years agocatch some other serial commas that my earlier grep did not spot
Gabor Greif [Sun, 11 Oct 2009 11:44:34 +0000 (11:44 +0000)]
catch some other serial commas that my earlier grep did not spot

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

14 years agoeliminate some instances of serial comma. sabre, if you feel strong about this, feel...
Gabor Greif [Sun, 11 Oct 2009 11:23:40 +0000 (11:23 +0000)]
eliminate some instances of serial comma. sabre, if you feel strong about this, feel free to revert this rev

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

14 years agoFix typo.
Duncan Sands [Sun, 11 Oct 2009 11:20:26 +0000 (11:20 +0000)]
Fix typo.

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

14 years agoapply some tweaks
Gabor Greif [Sun, 11 Oct 2009 10:44:44 +0000 (10:44 +0000)]
apply some tweaks

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

14 years agofix some obvious typos
Gabor Greif [Sun, 11 Oct 2009 10:27:57 +0000 (10:27 +0000)]
fix some obvious typos

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

14 years agoAdd an outline of the DragonEgg gcc plugin.
Duncan Sands [Sun, 11 Oct 2009 09:07:15 +0000 (09:07 +0000)]
Add an outline of the DragonEgg gcc plugin.

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

14 years agoimplement rdar://7293527, a trivial instcombine that llvm-gcc
Chris Lattner [Sun, 11 Oct 2009 07:53:15 +0000 (07:53 +0000)]
implement rdar://7293527, a trivial instcombine that llvm-gcc
gets but clang doesn't, because it is implemented in GCC's
fold routine.

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

14 years agoadd a helper for matching "1".
Chris Lattner [Sun, 11 Oct 2009 07:51:25 +0000 (07:51 +0000)]
add a helper for matching "1".

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

14 years agoimplement a transformation in jump threading that is currently
Chris Lattner [Sun, 11 Oct 2009 07:24:57 +0000 (07:24 +0000)]
implement a transformation in jump threading that is currently
done by condprop, but do it in a much more general form.  The
basic idea is that we can do a limited form of tail duplication
in the case when we have a branch on a phi.  Moving the branch
up in to the predecessor block makes instruction selection
much easier and encourages chained jump threadings.

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

14 years agoanother testcase jump threading shouldn't crash on.
Chris Lattner [Sun, 11 Oct 2009 07:11:11 +0000 (07:11 +0000)]
another testcase jump threading shouldn't crash on.

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

14 years agorename a file, remove a poorly reduced testcase.
Chris Lattner [Sun, 11 Oct 2009 07:10:28 +0000 (07:10 +0000)]
rename a file, remove a poorly reduced testcase.

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

14 years agorestructure some code, no functionality change.
Chris Lattner [Sun, 11 Oct 2009 04:40:21 +0000 (04:40 +0000)]
restructure some code, no functionality change.

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

14 years agofactor some code better and move a function, no functionality change.
Chris Lattner [Sun, 11 Oct 2009 04:33:43 +0000 (04:33 +0000)]
factor some code better and move a function, no functionality change.

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

14 years agomake jump threading on a phi with undef inputs happen.
Chris Lattner [Sun, 11 Oct 2009 04:18:15 +0000 (04:18 +0000)]
make jump threading on a phi with undef inputs happen.

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

14 years agothere is no need to run mem2reg after jump threading at LTO time now.
Chris Lattner [Sun, 11 Oct 2009 04:17:33 +0000 (04:17 +0000)]
there is no need to run mem2reg after jump threading at LTO time now.

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

14 years agofix a bunch of bad formatting, delete the dead
Chris Lattner [Sun, 11 Oct 2009 04:03:22 +0000 (04:03 +0000)]
fix a bunch of bad formatting, delete the dead
ConstantInt::TheTrueVal/TheFalseVal members.

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

14 years agomerge two tests.
Chris Lattner [Sun, 11 Oct 2009 03:55:30 +0000 (03:55 +0000)]
merge two tests.

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

14 years agosimplify some run lines, convert a test to filecheck.
Chris Lattner [Sun, 11 Oct 2009 03:54:21 +0000 (03:54 +0000)]
simplify some run lines, convert a test to filecheck.

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

14 years agoUpdate release notes blurb on the static analyzer.
Ted Kremenek [Sun, 11 Oct 2009 03:10:25 +0000 (03:10 +0000)]
Update release notes blurb on the static analyzer.

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

14 years agorewrite LCSSA to use SSAUpdate, to only return true if it modifies
Chris Lattner [Sun, 11 Oct 2009 02:53:37 +0000 (02:53 +0000)]
rewrite LCSSA to use SSAUpdate, to only return true if it modifies
the IR, and to implement the FIXME'd optimization.

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

14 years agoclean up and simplify some code. Don't use setvector when things will be
Chris Lattner [Sun, 11 Oct 2009 01:07:15 +0000 (01:07 +0000)]
clean up and simplify some code.  Don't use setvector when things will be
inserted only once, just use vector.  Don't compute ExitBlocks unless we
need it, change std::sort to array_pod_sort.

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

14 years agoswitch GVN to use SSAUpdater. Besides removing a lot of complexity
Chris Lattner [Sat, 10 Oct 2009 23:50:30 +0000 (23:50 +0000)]
switch GVN to use SSAUpdater.  Besides removing a lot of complexity
from GVN, this also speeds it up, inserts fewer PHI nodes (see the
testcase) and allows it to remove more loads (due to fewer PHI nodes
standing in the way).

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

14 years agoadd a simple helper method.
Chris Lattner [Sat, 10 Oct 2009 23:41:48 +0000 (23:41 +0000)]
add a simple helper method.

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

14 years agoadd ability for clients of SSAUpdater to find out about the
Chris Lattner [Sat, 10 Oct 2009 23:15:24 +0000 (23:15 +0000)]
add ability for clients of SSAUpdater to find out about the
PHI nodes inserted.

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

14 years agoclarify
Chris Lattner [Sat, 10 Oct 2009 23:05:42 +0000 (23:05 +0000)]
clarify

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

14 years agoremove dead code
Chris Lattner [Sat, 10 Oct 2009 23:04:12 +0000 (23:04 +0000)]
remove dead code

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

14 years agoadd the ability to get a rewritten value from the middle of a block,
Chris Lattner [Sat, 10 Oct 2009 23:00:11 +0000 (23:00 +0000)]
add the ability to get a rewritten value from the middle of a block,
not just at the end.  Add a big comment explaining when this could
be useful (which never happens for jump threading).

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

14 years agorename GetValueInBlock -> GetValueAtEndOfBlock to better reflect
Chris Lattner [Sat, 10 Oct 2009 22:41:58 +0000 (22:41 +0000)]
rename GetValueInBlock -> GetValueAtEndOfBlock to better reflect
what it does.

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

14 years agoIt seems that OR operation does not affect status reg at all.
Anton Korobeynikov [Sat, 10 Oct 2009 22:17:47 +0000 (22:17 +0000)]
It seems that OR operation does not affect status reg at all.
Remove impdef of SRW. This fixes PR4779

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

14 years agofix broken link
Chris Lattner [Sat, 10 Oct 2009 22:15:25 +0000 (22:15 +0000)]
fix broken link

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

14 years agofinal changes.
Chris Lattner [Sat, 10 Oct 2009 22:13:38 +0000 (22:13 +0000)]
final changes.

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

14 years agodown to 'major changes'
Chris Lattner [Sat, 10 Oct 2009 22:02:58 +0000 (22:02 +0000)]
down to 'major changes'

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

14 years agomore updates
Chris Lattner [Sat, 10 Oct 2009 21:40:13 +0000 (21:40 +0000)]
more updates

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

14 years agoadd a link to the GSG for info on how to check out svn trunk
Chris Lattner [Sat, 10 Oct 2009 21:37:16 +0000 (21:37 +0000)]
add a link to the GSG for info on how to check out svn trunk

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

14 years agox86 uses 5 operands for most memory refs now.
Chris Lattner [Sat, 10 Oct 2009 21:30:55 +0000 (21:30 +0000)]
x86 uses 5 operands for most memory refs now.

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

14 years agoMore spelling and grammar tweaks.
Duncan Sands [Sat, 10 Oct 2009 20:06:04 +0000 (20:06 +0000)]
More spelling and grammar tweaks.

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

14 years agoMore spelling fixes.
Benjamin Kramer [Sat, 10 Oct 2009 19:45:13 +0000 (19:45 +0000)]
More spelling fixes.

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

14 years agoSpelling fixes.
Duncan Sands [Sat, 10 Oct 2009 19:30:16 +0000 (19:30 +0000)]
Spelling fixes.

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

14 years agomore tweaks
Chris Lattner [Sat, 10 Oct 2009 19:26:21 +0000 (19:26 +0000)]
more tweaks

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

14 years agoRemove an inappropriate line in the description of the
Duncan Sands [Sat, 10 Oct 2009 19:16:25 +0000 (19:16 +0000)]
Remove an inappropriate line in the description of the
clang static analyser.  Decrease duplication in the text.

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

14 years agocontinue decoding chris scribble.
Chris Lattner [Sat, 10 Oct 2009 19:00:55 +0000 (19:00 +0000)]
continue decoding chris scribble.

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

14 years agoremove some dead passes
Chris Lattner [Sat, 10 Oct 2009 18:40:48 +0000 (18:40 +0000)]
remove some dead passes

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

14 years agocheckpoint.
Chris Lattner [Sat, 10 Oct 2009 18:33:13 +0000 (18:33 +0000)]
checkpoint.

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

14 years agofix broken anchors.
Chris Lattner [Sat, 10 Oct 2009 18:26:06 +0000 (18:26 +0000)]
fix broken anchors.

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

14 years agouse a typedef instead of spelling out an insane type. Yay for auto someday.
Chris Lattner [Sat, 10 Oct 2009 09:09:20 +0000 (09:09 +0000)]
use a typedef instead of spelling out an insane type.  Yay for auto someday.

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

14 years agoChange jump threading to use the new SSAUpdater class instead of
Chris Lattner [Sat, 10 Oct 2009 09:05:58 +0000 (09:05 +0000)]
Change jump threading to use the new SSAUpdater class instead of
DemoteRegToStack.  This makes it more efficient (because it isn't
creating a ton of load/stores that are eventually removed by a later
mem2reg), and more slightly more effective (because those load/stores
don't get in the way of threading).

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

14 years agoImplement an efficient and fully general SSA update mechanism that
Chris Lattner [Sat, 10 Oct 2009 09:04:27 +0000 (09:04 +0000)]
Implement an efficient and fully general SSA update mechanism that
works on unstructured CFGs.  This implements PR217, our oldest open PR.

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

14 years agoadd some WeakVH::operator='s. Without these, assigning
Chris Lattner [Sat, 10 Oct 2009 08:27:29 +0000 (08:27 +0000)]
add some WeakVH::operator='s.  Without these, assigning
a Value* to a WeakVH was constructing a temporary WeakVH
(due to the implicit assignment operator).  This avoids
that cost.

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

14 years agochange some static_cast into cast, pointed out by Gabor.
Chris Lattner [Sat, 10 Oct 2009 08:01:27 +0000 (08:01 +0000)]
change some static_cast into cast, pointed out by Gabor.

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

14 years agoadd a version of PHINode::getIncomingBlock that takes a raw
Chris Lattner [Sat, 10 Oct 2009 07:42:42 +0000 (07:42 +0000)]
add a version of PHINode::getIncomingBlock that takes a raw
Use, to complement the version that takes a use_iterator.

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

14 years agorandom tidying
Chris Lattner [Sat, 10 Oct 2009 06:22:45 +0000 (06:22 +0000)]
random tidying

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

14 years agoCreate a new InstrEmitter class for translating SelectionDAG nodes
Dan Gohman [Sat, 10 Oct 2009 01:32:21 +0000 (01:32 +0000)]
Create a new InstrEmitter class for translating SelectionDAG nodes
into MachineInstrs. This is mostly just moving the code from
ScheduleDAGSDNodesEmit.cpp into a new class. This decouples MachineInstr
emitting from scheduling.

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

14 years agoMake getMachineNode return a MachineSDNode* instead of a generic SDNode*
Dan Gohman [Sat, 10 Oct 2009 01:29:16 +0000 (01:29 +0000)]
Make getMachineNode return a MachineSDNode* instead of a generic SDNode*
since it won't do any folding. This will help avoid some inconvenient
casting.

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

14 years agoRemove a no-longer-necessary #include.
Dan Gohman [Sat, 10 Oct 2009 00:36:09 +0000 (00:36 +0000)]
Remove a no-longer-necessary #include.

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

14 years agoReplace X86's CanRematLoadWithDispOperand by calling the target-independent
Dan Gohman [Sat, 10 Oct 2009 00:34:18 +0000 (00:34 +0000)]
Replace X86's CanRematLoadWithDispOperand by calling the target-independent
MachineInstr::isInvariantLoad instead, which has the benefit of being
more complete.

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

14 years agoFix a missing initialization of PostRAScheduler's AA member.
Dan Gohman [Sat, 10 Oct 2009 00:15:38 +0000 (00:15 +0000)]
Fix a missing initialization of PostRAScheduler's AA member.

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

14 years agoThe ScheduleDAG framework now requires an AliasAnalysis argument, though
Dan Gohman [Fri, 9 Oct 2009 23:33:48 +0000 (23:33 +0000)]
The ScheduleDAG framework now requires an AliasAnalysis argument, though
it isn't needed in the ScheduleDAGSDNodes schedulers.

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

14 years agoUpdate this test; the code is the same but it gets counted as one
Dan Gohman [Fri, 9 Oct 2009 23:31:04 +0000 (23:31 +0000)]
Update this test; the code is the same but it gets counted as one
fewer remat.

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

14 years agoMark the LDR instruction with isReMaterializable, as it is rematerializable
Dan Gohman [Fri, 9 Oct 2009 23:28:27 +0000 (23:28 +0000)]
Mark the LDR instruction with isReMaterializable, as it is rematerializable
when loading from an invariant memory location.

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

14 years agoFactor out LiveIntervalAnalysis' code to determine whether an instruction
Dan Gohman [Fri, 9 Oct 2009 23:27:56 +0000 (23:27 +0000)]
Factor out LiveIntervalAnalysis' code to determine whether an instruction
is trivially rematerializable and integrate it into
TargetInstrInfo::isTriviallyReMaterializable. This way, all places that
need to know whether an instruction is rematerializable will get the
same answer.

This enables the useful parts of the aggressive-remat option by
default -- using AliasAnalysis to determine whether a memory location
is invariant, and removes the questionable parts -- rematting operations
with virtual register inputs that may not be live everywhere.

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

14 years agoExtract scope information from the variable itself, instead of relying on alloca...
Devang Patel [Fri, 9 Oct 2009 22:42:28 +0000 (22:42 +0000)]
Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location.

While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself.

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

14 years agoExecutionEngine::clearGlobalMappingsFromModule failed to remove reverse
Jeffrey Yasskin [Fri, 9 Oct 2009 22:10:27 +0000 (22:10 +0000)]
ExecutionEngine::clearGlobalMappingsFromModule failed to remove reverse
mappings, which could cause errors and assert-failures.  This patch fixes that,
adds a test, and refactors the global-mapping-removal code into a single place.

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

14 years agoAdd a const qualifier.
Dan Gohman [Fri, 9 Oct 2009 22:09:05 +0000 (22:09 +0000)]
Add a const qualifier.

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

14 years agoUse names instead of numbers for some of the magic
Dale Johannesen [Fri, 9 Oct 2009 21:42:02 +0000 (21:42 +0000)]
Use names instead of numbers for some of the magic
constants used in inlining heuristics (especially
those used in more than one file).  No functional change.

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

14 years agoAdded another bit of the ARM target assembler to llvm-mc to parse register
Kevin Enderby [Fri, 9 Oct 2009 21:12:28 +0000 (21:12 +0000)]
Added another bit of the ARM target assembler to llvm-mc to parse register
lists.  Changed ARMAsmParser::MatchRegisterName to return -1 instead of 0 on
errors so 0-15 values could be returned as register numbers.  Also added the
rest of the arm register names to the currently hacked up version to allow more
testing.  Some changes to ARMAsmParser::ParseOperand to give different errors
for things not yet supported and some additions to the hacked
ARMAsmParser::MatchInstruction to allow more testing for now.

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

14 years agoisTriviallyReMaterializable checks the
Dan Gohman [Fri, 9 Oct 2009 21:02:10 +0000 (21:02 +0000)]
isTriviallyReMaterializable checks the
TargetInstrDesc::isRematerializable flag, so it isn't necessary to do
this check in its callers.

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

14 years agoFix the x86 test-shrink optimization so that it doesn't shrink comparisons
Dan Gohman [Fri, 9 Oct 2009 20:35:19 +0000 (20:35 +0000)]
Fix the x86 test-shrink optimization so that it doesn't shrink comparisons
when one of the bits being tested would end up being the sign bit in the
narrower type, and a signed comparison is being performed, since this would
change the result of the signed comparison. This fixes PR5132.

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

14 years agoMerge a bunch of NEON tests into larger files so they run faster.
Bob Wilson [Fri, 9 Oct 2009 20:20:54 +0000 (20:20 +0000)]
Merge a bunch of NEON tests into larger files so they run faster.

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

14 years agoAdd basic infrastructure and x86 support for preserving MachineMemOperand
Dan Gohman [Fri, 9 Oct 2009 18:10:05 +0000 (18:10 +0000)]
Add basic infrastructure and x86 support for preserving MachineMemOperand
information when unfolding memory references.

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