Nick Lewycky
4c87d257a4
Fix Makefile to build correctly on Darwin. Patch by Sandeep Patel!
...
llvm-svn: 83813
2009-10-11 23:10:09 +00:00
Anton Korobeynikov
deadc3ed2d
Add missed mem-mem move patterns
...
llvm-svn: 83812
2009-10-11 23:03:53 +00:00
Anton Korobeynikov
986885b62e
Add MSP430 mem-mem insts support. Patch by Brian Lucas with some my refinements
...
llvm-svn: 83811
2009-10-11 23:03:28 +00:00
Chris Lattner
85457e7c14
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.
llvm-svn: 83810
2009-10-11 23:02:46 +00:00
Anton Korobeynikov
fb18fbf80d
Add bunch of MSP430 'feature' tests. Patch by Brian Lucas with some my refinements
...
llvm-svn: 83809
2009-10-11 23:02:38 +00:00
Chris Lattner
cb56deb798
reduce vec_shuffle2 and merge into vec_shuffle.
...
llvm-svn: 83807
2009-10-11 22:54:48 +00:00
Chris Lattner
33bff4602c
filecheckize vec_shuffle.ll and merge shuffle.ll into it.
...
llvm-svn: 83806
2009-10-11 22:52:15 +00:00
Chris Lattner
b044bc079a
filecheckize
...
llvm-svn: 83805
2009-10-11 22:45:17 +00:00
Chris Lattner
68ac2f7b2c
rename test
...
llvm-svn: 83804
2009-10-11 22:44:16 +00:00
Chris Lattner
fa84cccd57
remove old testcase
...
llvm-svn: 83803
2009-10-11 22:42:06 +00:00
Chris Lattner
65bef57da8
merge test into shift.ll, this also eliminates awful grepping on -stats output
...
llvm-svn: 83802
2009-10-11 22:39:58 +00:00
Chris Lattner
bc0f470f07
convert to filecheck.
...
llvm-svn: 83801
2009-10-11 22:36:59 +00:00
Chris Lattner
b033a0ac47
teach instcombine to simplify xor's harder, catching the
...
new testcase.
llvm-svn: 83799
2009-10-11 22:22:13 +00:00
Chris Lattner
d2dc77f8c0
cleanups
...
llvm-svn: 83797
2009-10-11 22:00:32 +00:00
Chris Lattner
c8e0cdb676
convert xor2 to filecheck, merge in a random regtest
...
llvm-svn: 83796
2009-10-11 21:42:08 +00:00
Chris Lattner
6cf4024732
cleanup, no functionality change.
...
llvm-svn: 83795
2009-10-11 21:36:10 +00:00
Chris Lattner
100f3ac565
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.
llvm-svn: 83794
2009-10-11 21:29:45 +00:00
Chris Lattner
40d1618562
simplify a transformation by making it more general.
...
llvm-svn: 83792
2009-10-11 21:22:21 +00:00
Chris Lattner
0ad392bbe7
temporarily revert previous patch
...
llvm-svn: 83791
2009-10-11 21:05:34 +00:00
Chris Lattner
aafa929524
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).
llvm-svn: 83790
2009-10-11 21:04:37 +00:00
Torok Edwin
8525f5df9a
Remove CleanupDbgInfo, instcombine does this and its not worth duplicating it
...
here.
llvm-svn: 83789
2009-10-11 19:58:35 +00:00
Duncan Sands
95e8b77b90
More DragonEgg verbiage.
...
llvm-svn: 83788
2009-10-11 19:40:38 +00:00
Duncan Sands
5fa8a1b445
Remove spurious brackets.
...
llvm-svn: 83787
2009-10-11 19:30:56 +00:00
Torok Edwin
ed37f33b81
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.
llvm-svn: 83786
2009-10-11 19:15:54 +00:00
Anton Korobeynikov
329def1675
Implement 'm' memory operand properly
...
llvm-svn: 83785
2009-10-11 19:14:21 +00:00
Anton Korobeynikov
4465f90db6
Implement proper asmprinting for the globals. This eliminates bogus "call" modifier and also adds support for offsets wrt globals.
...
llvm-svn: 83784
2009-10-11 19:14:02 +00:00
Anton Korobeynikov
1ca8655151
Implement asm printing for inline asm memory operands
...
llvm-svn: 83783
2009-10-11 19:13:34 +00:00
Chris Lattner
41473572e4
add PR5004 as a known problem.
...
llvm-svn: 83782
2009-10-11 19:07:23 +00:00
Chris Lattner
829e4cd11d
duncan points out that llvm-gcc doesn't do the right thing with -fverbose-asm yet.
...
llvm-svn: 83781
2009-10-11 19:02:54 +00:00
Nick Lewycky
9d708ff741
Fix typo.
...
llvm-svn: 83780
2009-10-11 18:53:09 +00:00
Nick Lewycky
a958e6eedf
Fix typo.
...
llvm-svn: 83779
2009-10-11 18:47:33 +00:00
Chris Lattner
8ae883b5f0
when folding duplicate conditions, delete the
...
now-probably-dead instruction tree feeding it.
llvm-svn: 83778
2009-10-11 18:39:58 +00:00
Chris Lattner
729185ce68
some notes from Anton
...
llvm-svn: 83777
2009-10-11 18:21:32 +00:00
Gabor Greif
8dd7df0f9c
catch some other serial commas that my earlier grep did not spot
...
llvm-svn: 83772
2009-10-11 11:44:34 +00:00
Gabor Greif
7ad4f05b31
eliminate some instances of serial comma. sabre, if you feel strong about this, feel free to revert this rev
...
llvm-svn: 83771
2009-10-11 11:23:40 +00:00
Duncan Sands
033058de4d
Fix typo.
...
llvm-svn: 83770
2009-10-11 11:20:26 +00:00
Gabor Greif
ca81780b37
apply some tweaks
...
llvm-svn: 83769
2009-10-11 10:44:44 +00:00
Gabor Greif
9a55b4ae63
fix some obvious typos
...
llvm-svn: 83768
2009-10-11 10:27:57 +00:00
Duncan Sands
4738c2a931
Add an outline of the DragonEgg gcc plugin.
...
llvm-svn: 83765
2009-10-11 09:07:15 +00:00
Chris Lattner
601cc4c588
implement rdar://7293527, a trivial instcombine that llvm-gcc
...
gets but clang doesn't, because it is implemented in GCC's
fold routine.
llvm-svn: 83761
2009-10-11 07:53:15 +00:00
Chris Lattner
2a0366af9e
add a helper for matching "1".
...
llvm-svn: 83760
2009-10-11 07:51:25 +00:00
Chris Lattner
1832a32b78
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.
llvm-svn: 83759
2009-10-11 07:24:57 +00:00
Chris Lattner
9a90dc5b0c
another testcase jump threading shouldn't crash on.
...
llvm-svn: 83758
2009-10-11 07:11:11 +00:00
Chris Lattner
90aeacd46f
rename a file, remove a poorly reduced testcase.
...
llvm-svn: 83757
2009-10-11 07:10:28 +00:00
Chris Lattner
562cc63c29
restructure some code, no functionality change.
...
llvm-svn: 83756
2009-10-11 04:40:21 +00:00
Chris Lattner
b4e9fb6967
factor some code better and move a function, no functionality change.
...
llvm-svn: 83755
2009-10-11 04:33:43 +00:00
Chris Lattner
525c0272aa
make jump threading on a phi with undef inputs happen.
...
llvm-svn: 83754
2009-10-11 04:18:15 +00:00
Chris Lattner
a9bbfdf699
there is no need to run mem2reg after jump threading at LTO time now.
...
llvm-svn: 83753
2009-10-11 04:17:33 +00:00
Chris Lattner
969d1df7ba
fix a bunch of bad formatting, delete the dead
...
ConstantInt::TheTrueVal/TheFalseVal members.
llvm-svn: 83752
2009-10-11 04:03:22 +00:00
Chris Lattner
dedd4ca17b
merge two tests.
...
llvm-svn: 83751
2009-10-11 03:55:30 +00:00