- Jan 04, 2011
-
-
Dale Johannesen authored
case where a static caller is itself inlined everywhere else, and thus may go away if it doesn't get too big due to inlining other things into it. If there are references to the caller other than calls, it will not be removed; account for this. This results in same-day completion of the case in PR8853. llvm-svn: 122821
-
Owen Anderson authored
Branch instructions don't produce values, so there's no need to generate a value number for them. This avoids adding them to the various value numbering tables, resulting in a minor (~3%) speedup for GVN on 40.gcc. llvm-svn: 122819
-
Owen Anderson authored
llvm-svn: 122817
-
Owen Anderson authored
llvm-svn: 122816
-
Cameron Zwarich authored
llvm-svn: 122815
-
Chris Lattner authored
ashr's with huge shift amounts, PR8896 llvm-svn: 122814
-
Michael J. Spencer authored
llvm-svn: 122812
-
Cameron Zwarich authored
makes getLeader() nonrecursive. llvm-svn: 122811
-
Tobias Grosser authored
This ensures that always the recently compiled tools are picked for testing. llvm-svn: 122810
-
Duncan Sands authored
llvm-svn: 122809
-
Francois Pichet authored
llvm-svn: 122808
-
Chris Lattner authored
when safe. The testcase is basically this nested loop: void foo(char *X) { for (int i = 0; i != 100; ++i) for (int j = 0; j != 100; ++j) X[j+i*100] = 0; } which gets turned into a single memset now. clang -O3 doesn't optimize this yet though due to a phase ordering issue I haven't analyzed yet. llvm-svn: 122806
-
Chris Lattner authored
instruction *after* the store. The store will always be deleted if the transformation kicks in, so we'd do an N^2 scan of every loop block. Whoops. llvm-svn: 122805
-
Cameron Zwarich authored
spent in StrongPHIElimination on 403.gcc. llvm-svn: 122803
-
Cameron Zwarich authored
CodeGenPrepare (which is the default behavior). llvm-svn: 122801
-
David Greene authored
Don't pattern match "/clang" so we don't mangle directory names. Some tests use absolute paths to clang. llvm-svn: 122796
-
Owen Anderson authored
llvm-svn: 122795
-
Andrew Trick authored
llvm-svn: 122794
-
Cameron Zwarich authored
FunctionPass. It probably doesn't have a reason to be a LoopPass, as it will probably drop the simple fixed point and either use RPO iteration or Duncan's approach in instsimplify of only revisiting instructions that have changed. The next step is to preserve LoopSimplify. This looks like it won't be too hard, although the pass manager doesn't actually seem to respect when non-loop passes claim to preserve LCSSA or LoopSimplify. This will have to be fixed. llvm-svn: 122791
-
Chris Lattner authored
stop setting NSW: signed overflow is possible. Thanks to Dan for pointing these out. llvm-svn: 122790
-
Bill Wendling authored
llvm-svn: 122789
-
Owen Anderson authored
llvm-svn: 122788
-
Owen Anderson authored
Use the new addEscapingValue callback to update GlobalsModRef when GVN adds PHIs of GEPs. For the moment, have GlobalsModRef handle this conservatively by simply removing the value from its maps. llvm-svn: 122787
-
Evan Cheng authored
llvm-svn: 122786
-
Chris Lattner authored
invalidated by stores, so they can be handled as 'simple' operations. llvm-svn: 122785
-
- Jan 03, 2011
-
-
Evan Cheng authored
prologue and epilogue if the adjustment is 8. Similarly, use pushl / popl if the adjustment is 4 in 32-bit mode. In the epilogue, takes care to pop to a caller-saved register that's not live at the exit (either return or tailcall instruction). rdar://8771137 llvm-svn: 122783
-
David Greene authored
Don't pattern match "clang-" as it may be part of a tool name with a triple suffix. llvm-svn: 122779
-
Wesley Peck authored
llvm-svn: 122778
-
Owen Anderson authored
a pointer value has potentially become escaping. Implementations can choose to either fall back to conservative responses for that value, or may recompute their analysis to accomodate the change. llvm-svn: 122777
-
Owen Anderson authored
llvm-svn: 122773
-
rdar://8813415Chris Lattner authored
exposed. It turns out to be a latent bug in basicaa, scary. llvm-svn: 122772
-
Chris Lattner authored
llvm-svn: 122771
-
Oscar Fuentes authored
(clang/include/clang/Basic/StmtNodes.td, for instance, is tablegenned from clang/include/clang/AST/CMakeLists.txt) so it is not contained on the list of all .td files on the current source directory which is used as the DEPENDS of the custom command. We must add the .td file to the DEPENDS list of the custom command. Otherwise some .inc files are not regenerated when the corresponding .td file changes. llvm-svn: 122768
-
Owen Anderson authored
almost-but-not-quite-identical code. No intended functionality change. llvm-svn: 122760
-
Chris Lattner authored
that are allowed to have metadata operands are intrinsic calls, and the only ones that take metadata currently return void. Just reject all void instructions, which should not be value numbered anyway. To future proof things, add an assert to the getHashValue impl for calls to check that metadata operands aren't present. llvm-svn: 122759
-
Chris Lattner authored
nested values, so they can change and drop to null, which can change the hash and cause havok. It turns out that it isn't a good idea to value number stuff with metadata operands anyway, so... don't. llvm-svn: 122758
-
David Greene authored
Reapply 122341 to fix PR8199 now that clang changes are in. llvm-svn: 122754
-
Oscar Fuentes authored
the benefit of project-based generators (VS, XCode, etc). llvm-svn: 122749
-
Duncan Sands authored
InstructionSimplify on instructions that didn't change since the last time round the loop. llvm-svn: 122745
-
Evan Cheng authored
llvm-svn: 122743
-