Chris Lattner [Mon, 12 Oct 2009 04:01:02 +0000 (04:01 +0000)]
add some more hooks to the C bindings, patch by Kenneth Uildriks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83821
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 12 Oct 2009 04:00:13 +0000 (04:00 +0000)]
Make ParallelJIT pthreads linking with CMake slightly less broken
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83820
91177308-0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Mon, 12 Oct 2009 04:00:11 +0000 (04:00 +0000)]
Fix LLVM CMake build system so that it may now work on Solaris and AuroraUX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83819
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Oct 2009 03:58:40 +0000 (03:58 +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).
Try #3, this time with some unneeded debug info stuff removed
which was causing dead pointers to be added to the worklist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83818
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Oct 2009 23:56:08 +0000 (23:56 +0000)]
revert r83814 for now, it is making the llvm-gcc bootstrap unhappy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83817
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Oct 2009 23:19:44 +0000 (23:19 +0000)]
pic16 uses 16 bit pointers, but is 8 bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83815
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Oct 2009 23:17:43 +0000 (23:17 +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@83814
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 11 Oct 2009 23:10:09 +0000 (23:10 +0000)]
Fix Makefile to build correctly on Darwin. Patch by Sandeep Patel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83813
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 11 Oct 2009 23:03:53 +0000 (23:03 +0000)]
Add missed mem-mem move patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83812
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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