Commit Graph

52675 Commits

Author SHA1 Message Date
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
Chris Lattner
3acb62d9ea simplify some run lines, convert a test to filecheck.
llvm-svn: 83750
2009-10-11 03:54:21 +00:00
Ted Kremenek
13cad039f8 Update release notes blurb on the static analyzer.
llvm-svn: 83749
2009-10-11 03:10:25 +00:00
Chris Lattner
8b521613d3 rewrite LCSSA to use SSAUpdate, to only return true if it modifies
the IR, and to implement the FIXME'd optimization.

llvm-svn: 83748
2009-10-11 02:53:37 +00:00
Chris Lattner
1b8c1d1d29 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.

llvm-svn: 83747
2009-10-11 01:07:15 +00:00
Chris Lattner
37ff3c0ed1 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).

llvm-svn: 83746
2009-10-10 23:50:30 +00:00
Chris Lattner
0aa320ae4d add a simple helper method.
llvm-svn: 83745
2009-10-10 23:41:48 +00:00
Chris Lattner
acf73d9839 add ability for clients of SSAUpdater to find out about the
PHI nodes inserted.

llvm-svn: 83744
2009-10-10 23:15:24 +00:00
Chris Lattner
10b6af716f clarify
llvm-svn: 83743
2009-10-10 23:05:42 +00:00
Chris Lattner
31d3137c01 remove dead code
llvm-svn: 83742
2009-10-10 23:04:12 +00:00
Chris Lattner
db4d523cca 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).

llvm-svn: 83741
2009-10-10 23:00:11 +00:00
Chris Lattner
9899ce267c rename GetValueInBlock -> GetValueAtEndOfBlock to better reflect
what it does.

llvm-svn: 83740
2009-10-10 22:41:58 +00:00
Anton Korobeynikov
1f9ff55cbc It seems that OR operation does not affect status reg at all.
Remove impdef of SRW. This fixes PR4779

llvm-svn: 83739
2009-10-10 22:17:47 +00:00
Chris Lattner
ce616c28ef fix broken link
llvm-svn: 83738
2009-10-10 22:15:25 +00:00
Chris Lattner
330bc88468 final changes.
llvm-svn: 83737
2009-10-10 22:13:38 +00:00
Chris Lattner
e584af1294 down to 'major changes'
llvm-svn: 83736
2009-10-10 22:02:58 +00:00
Chris Lattner
e747b10bc3 more updates
llvm-svn: 83735
2009-10-10 21:40:13 +00:00
Chris Lattner
513fd3ac2b add a link to the GSG for info on how to check out svn trunk
llvm-svn: 83734
2009-10-10 21:37:16 +00:00
Chris Lattner
a9d2468440 x86 uses 5 operands for most memory refs now.
llvm-svn: 83733
2009-10-10 21:30:55 +00:00
Duncan Sands
9a6f3eb8ae More spelling and grammar tweaks.
llvm-svn: 83728
2009-10-10 20:06:04 +00:00
Benjamin Kramer
453e8ae2be More spelling fixes.
llvm-svn: 83724
2009-10-10 19:45:13 +00:00