- Jan 04, 2011
-
-
Jakob Stoklund Olesen authored
The analysis will be needed by both the greedy register allocator and the X86FloatingPoint pass. It only needs to be computed once when the CFG doesn't change. This pass is very fast, usually showing up as 0.0% wall time. llvm-svn: 122832
-
Dale Johannesen authored
warning is overzealous but gcc is what it is.) llvm-svn: 122829
-
Owen Anderson authored
llvm-svn: 122828
-
Owen Anderson authored
llvm-svn: 122827
-
Owen Anderson authored
llvm-svn: 122826
-
Owen Anderson authored
Clarify terminology, settling on referring to what was the "number table" as the "leader table", and rename methods to make it much more clear what they're doing. llvm-svn: 122823
-
Owen Anderson authored
llvm-svn: 122822
-
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
-