- Jan 04, 2011
-
-
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
-
Cameron Zwarich authored
capacity on the Visited SmallPtrSet. On 403.gcc, this is about a 4.5% speedup of CodeGenPrepare time (which itself is 10% of time spent in the backend). This is progress towards PR8889. llvm-svn: 122741
-
Chris Lattner authored
improvement in the generated code, and speeds up 'opt -std-compile-opts' compile time on 176.gcc from 24.84s to 23.2s (about 7%). This also resolves a specific code quality issue in rdar://7352081 which was generating poor code for: int t(int a, int b) { if (a & b & 1) return a & b; return 3; } llvm-svn: 122740
-
Nick Lewycky authored
The rationale is that after analyzing a function in the SCC, we may want to modify it in a way that requires us to update its uses (f.e. to replace the call with a constant) or its users (f.e. to call it with fewer arguments). llvm-svn: 122739
-
Chris Lattner authored
elimination as well. This deletes 60 stores in 176.gcc that largely come from bitfield code. llvm-svn: 122736
-
Cameron Zwarich authored
a 28% speedup of MachineCSE time on 403.gcc. llvm-svn: 122735
-
Nick Lewycky authored
in their SCC as they already have with the direct callees. llvm-svn: 122734
-
Chris Lattner authored
speeding earlycse up by 6%. llvm-svn: 122733
-