- Nov 23, 2009
-
-
Nick Lewycky authored
llvm-svn: 89644
-
Nick Lewycky authored
llvm-svn: 89642
-
Nick Lewycky authored
fixes part of PR5438. llvm-svn: 89639
-
- Nov 21, 2009
-
-
Eric Christopher authored
object size intrinsic and verify return type is correct. Collect various code in one place. llvm-svn: 89523
-
- Nov 20, 2009
-
-
Dan Gohman authored
it may be used in contexts where preheader insertion may have failed due to an indirectbr. Make LoopSimplify's LoopSimplify::SeparateNestedLoop properly fail in the case that it would require splitting an indirectbr edge. These fix PR5502. llvm-svn: 89484
-
Dan Gohman authored
blockaddress users. This fixes PR5569. llvm-svn: 89483
-
Daniel Dunbar authored
llvm-svn: 89482
-
Eric Christopher authored
llvm-svn: 89479
-
Duncan Sands authored
tests/Transforms/InstCombine/shufflemask-undef.ll. If anyone cares, the use of 2*e here (and the equivalent all over the place in instcombine) seems wrong, though harmless: it should really be twice the length of the input vector. I think shufflevector used to require that the mask have the same length as the input, but I don't think that's true any more. I don't care enough about vectors to do anything about this... llvm-svn: 89456
-
- Nov 19, 2009
-
-
Dan Gohman authored
if it is not ultimately captured. Teach BasicAliasAnalysis that a local object address which does not escape and is never stored does not alias with a value resulting from a load. llvm-svn: 89398
-
Dan Gohman authored
they are lowered to instruction sequences more complex than a simple load, such that CodeGen cannot rematerialize them, a reload from a spill slot is likely to be cheaper than the complex sequence. llvm-svn: 89374
-
Jim Grosbach authored
Eliminate duplicate phi nodes in loops. Loop rotation, for example, can introduce these, and it's beneficial to later passes to clean them up. llvm-svn: 89298
-
Jim Grosbach authored
llvm-svn: 89297
-
- Nov 17, 2009
-
-
Jim Grosbach authored
llvm-svn: 89145
-
Jim Grosbach authored
llvm-svn: 89123
-
Evan Cheng authored
llvm-svn: 89116
-
Jim Grosbach authored
llvm-svn: 89110
-
Devang Patel authored
llvm-svn: 89016
-
- Nov 16, 2009
-
-
David Greene authored
Fix an expensive-checks error. The Mask and LHSMask may not be of the same size, so don't do the transformation if they're different. llvm-svn: 88972
-
Duncan Sands authored
a name. llvm-svn: 88908
-
- Nov 15, 2009
-
-
Chris Lattner authored
llvm-svn: 88865
-
Chris Lattner authored
llvm-svn: 88864
-
Nick Lewycky authored
grief. I suspect this patch merely exposed a bug else. llvm-svn: 88841
-
Nick Lewycky authored
zext(icmp). It may be able to optimize that away. This fixes one of the cases in PR5438. llvm-svn: 88830
-
- Nov 14, 2009
-
-
Nick Lewycky authored
ultimately never used. llvm-svn: 88763
-
Dan Gohman authored
llvm-svn: 88742
-
- Nov 13, 2009
-
-
Owen Anderson authored
llvm-svn: 87042
-
- Nov 12, 2009
-
-
Chris Lattner authored
llvm-svn: 87035
-
Chris Lattner authored
running IPSCCP early, and we run functionattrs interlaced with the inliner, we often (particularly for small or noop functions) completely propagate all of the information about a call to its call site in IPSSCP (making a call dead) and functionattrs is smart enough to realize that the function is readonly (because it is interlaced with inliner). To improve compile time and make the inliner threshold more accurate, realize that we don't have to inline dead readonly function calls. Instead, just delete the call. This happens all the time for C++ codes, here are some counters from opt/llvm-ld counting the number of times calls were deleted vs inlined on various apps: Tramp3d opt: 5033 inline - Number of call sites deleted, not inlined 24596 inline - Number of functions inlined llvm-ld: 667 inline - Number of functions deleted because all callers found 699 inline - Number of functions inlined 483.xalancbmk opt: 8096 inline - Number of call sites deleted, not inlined 62528 inline - Number of functions inlined llvm-ld: 217 inline - Number of allocas merged together 2158 inline - Number of functions inlined 471.omnetpp: 331 inline - Number of call sites deleted, not inlined 8981 inline - Number of functions inlined llvm-ld: 171 inline - Number of functions deleted because all callers found 629 inline - Number of functions inlined Deleting a call is much faster than inlining it, and is insensitive to the size of the callee. :) llvm-svn: 86975
-
Evan Cheng authored
cannot be folded into target cmp instruction. - Avoid a phase ordering issue where early cmp optimization would prevent the later count-to-zero optimization. - Add missing checks which could cause LSR to reuse stride that does not have users. - Fix a bug in count-to-zero optimization code which failed to find the pre-inc iv's phi node. - Remove, tighten, loosen some incorrect checks disable valid transformations. - Quite a bit of code clean up. llvm-svn: 86969
-
Chris Lattner authored
which implements GCC PR18046. This also gets us 360 more jump threads on 176.gcc. llvm-svn: 86953
-
Chris Lattner authored
llvm-svn: 86952
-
Chris Lattner authored
making the new LVI stuff smart enough to subsume some special cases in the old code. Disable them when LVI is around, the testcase still passes. llvm-svn: 86951
-
Daniel Dunbar authored
llvm-svn: 86933
-
Chris Lattner authored
allows us to handle the test10 testcase. llvm-svn: 86924
-
Chris Lattner authored
llvm-svn: 86923
-
Chris Lattner authored
llvm-svn: 86920
-
- Nov 11, 2009
-
-
Chris Lattner authored
uses LVI info when -enable-jump-threading-lvi is passed. llvm-svn: 86886
-
Duncan Sands authored
llvm.invariant.start to be used without necessarily being paired with a call to llvm.invariant.end. If you run the entire optimization pipeline then such calls are in fact deleted (adce does it), but that's actually a good thing since we probably do want them to be zapped late in the game. There should really be an integration test that checks that the llvm.invariant.start call lasts long enough that all passes that do interesting things with it get to do their stuff before it is deleted. But since no passes do anything interesting with it yet this will have to wait for later. llvm-svn: 86840
-
Chris Lattner authored
llvm-svn: 86810
-