Chris Lattner
40cf28d6eb
add some more hooks to the C bindings, patch by Kenneth Uildriks!
...
llvm-svn: 83821
2009-10-12 04:01:02 +00:00
Douglas Gregor
3a66952bea
Make ParallelJIT pthreads linking with CMake slightly less broken
...
llvm-svn: 83820
2009-10-12 04:00:13 +00:00
Edward O'Callaghan
396ed2bcaa
Fix LLVM CMake build system so that it may now work on Solaris and AuroraUX.
...
llvm-svn: 83819
2009-10-12 04:00:11 +00:00
Chris Lattner
8abd572dae
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.
llvm-svn: 83818
2009-10-12 03:58:40 +00:00
Chris Lattner
8ce6b36c86
revert r83814 for now, it is making the llvm-gcc bootstrap unhappy.
...
llvm-svn: 83817
2009-10-11 23:56:08 +00:00
Chris Lattner
2caacfa7e1
pic16 uses 16 bit pointers, but is 8 bit.
...
llvm-svn: 83815
2009-10-11 23:19:44 +00:00
Chris Lattner
78d6310429
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: 83814
2009-10-11 23:17:43 +00:00
Nick Lewycky
f8dd676a50
Fix Makefile to build correctly on Darwin. Patch by Sandeep Patel!
...
llvm-svn: 83813
2009-10-11 23:10:09 +00:00
Anton Korobeynikov
4b38ce9f25
Add missed mem-mem move patterns
...
llvm-svn: 83812
2009-10-11 23:03:53 +00:00
Anton Korobeynikov
415c3dc501
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
2c2deae5ac
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
da0508fe15
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
06462efb47
reduce vec_shuffle2 and merge into vec_shuffle.
...
llvm-svn: 83807
2009-10-11 22:54:48 +00:00
Chris Lattner
6373045e7d
filecheckize vec_shuffle.ll and merge shuffle.ll into it.
...
llvm-svn: 83806
2009-10-11 22:52:15 +00:00
Chris Lattner
79a2f91f65
filecheckize
...
llvm-svn: 83805
2009-10-11 22:45:17 +00:00
Chris Lattner
8308fd9aab
rename test
...
llvm-svn: 83804
2009-10-11 22:44:16 +00:00
Chris Lattner
e660ee0a3b
remove old testcase
...
llvm-svn: 83803
2009-10-11 22:42:06 +00:00
Chris Lattner
1fe15dbbbb
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
d7969a2796
convert to filecheck.
...
llvm-svn: 83801
2009-10-11 22:36:59 +00:00
Chris Lattner
c6cdbfbfdd
teach instcombine to simplify xor's harder, catching the
...
new testcase.
llvm-svn: 83799
2009-10-11 22:22:13 +00:00
Chris Lattner
6e6ac47125
cleanups
...
llvm-svn: 83797
2009-10-11 22:00:32 +00:00
Chris Lattner
7db5b7893d
convert xor2 to filecheck, merge in a random regtest
...
llvm-svn: 83796
2009-10-11 21:42:08 +00:00
Chris Lattner
1639234775
cleanup, no functionality change.
...
llvm-svn: 83795
2009-10-11 21:36:10 +00:00
Chris Lattner
fd27f8a5b3
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
406cb75c6b
simplify a transformation by making it more general.
...
llvm-svn: 83792
2009-10-11 21:22:21 +00:00
Chris Lattner
f39f4f928a
temporarily revert previous patch
...
llvm-svn: 83791
2009-10-11 21:05:34 +00:00
Chris Lattner
bb058d3a23
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
8b3081350e
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
5f6aa105f5
More DragonEgg verbiage.
...
llvm-svn: 83788
2009-10-11 19:40:38 +00:00
Duncan Sands
dcea7e921b
Remove spurious brackets.
...
llvm-svn: 83787
2009-10-11 19:30:56 +00:00
Torok Edwin
907ec36943
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
6bce6bbf40
Implement 'm' memory operand properly
...
llvm-svn: 83785
2009-10-11 19:14:21 +00:00
Anton Korobeynikov
a58a3f930a
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
3525a4a268
Implement asm printing for inline asm memory operands
...
llvm-svn: 83783
2009-10-11 19:13:34 +00:00
Chris Lattner
c04812c035
add PR5004 as a known problem.
...
llvm-svn: 83782
2009-10-11 19:07:23 +00:00
Chris Lattner
70fdca4b7f
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
c7cf0b223b
Fix typo.
...
llvm-svn: 83780
2009-10-11 18:53:09 +00:00
Nick Lewycky
5246987a76
Fix typo.
...
llvm-svn: 83779
2009-10-11 18:47:33 +00:00
Chris Lattner
85c85c5e04
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
94ac58d99a
some notes from Anton
...
llvm-svn: 83777
2009-10-11 18:21:32 +00:00
Gabor Greif
ccdf5fdfc1
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
c51ca75468
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
bc3f7c9229
Fix typo.
...
llvm-svn: 83770
2009-10-11 11:20:26 +00:00
Gabor Greif
39635acfc1
apply some tweaks
...
llvm-svn: 83769
2009-10-11 10:44:44 +00:00
Gabor Greif
e9fc6c982e
fix some obvious typos
...
llvm-svn: 83768
2009-10-11 10:27:57 +00:00
Duncan Sands
2dccb8571e
Add an outline of the DragonEgg gcc plugin.
...
llvm-svn: 83765
2009-10-11 09:07:15 +00:00
Chris Lattner
e374382b8f
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
d1d23e1949
add a helper for matching "1".
...
llvm-svn: 83760
2009-10-11 07:51:25 +00:00
Chris Lattner
97b1405207
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
4140d8bd5c
another testcase jump threading shouldn't crash on.
...
llvm-svn: 83758
2009-10-11 07:11:11 +00:00