- Nov 30, 2010
-
-
Chris Lattner authored
llvm-svn: 120474
-
Chris Lattner authored
llvm-svn: 120471
-
Eric Christopher authored
llvm-svn: 120470
-
Chris Lattner authored
the code. We now get accurate sizes on Loads, though it surely doesn't matter in practice. llvm-svn: 120469
-
Chris Lattner authored
1. if the underlying pointer passed in can be resolved to any argument or alloca, then we don't need to scan. Previously we would only avoid the scan if the alloca or byval was actually considered dead. 2. The dead store processing code is itself completely dead and didn't handle volatile stores right anyway, so delete it. This allows simplifying the interface to RemoveAccessedObjects. llvm-svn: 120467
-
Eric Christopher authored
while I'm in there. llvm-svn: 120466
-
Chris Lattner authored
made sense to me. We now have a set of dead stack objects, and they become live when loaded. Fix a theoretical problem where we'd pass in the wrong pointer to the alias query. llvm-svn: 120465
-
Chris Lattner authored
If the call might read all the allocas, stop scanning early. Convert a vector to smallvector, shrink SmallPtrSet to 16 instead of 64 to avoid crazy linear scans. llvm-svn: 120463
-
Ted Kremenek authored
- Use a DenseSet instead of a FoldingSet to cache canonicalized nodes. This reduces the overhead of double-hashing. - Use reference counts in ImutAVLTree to much more aggressively recover tree nodes that are no longer usable. We can generate many transient nodes while using add() and remove() on ImmutableSet/ImmutableMaps to generate a final set/map. For the clang static analyzer (the main client of these data structures), this results in a slight speedup (0.5%) when analyzing sqlite3, but much more importantly results in a 30-60% reduction in peak memory usage when the analyzer is analyzing a given function in a file. On average that's about a ** 44% reduction ** in the memory footprint of the static analyzer. llvm-svn: 120459
-
Dale Johannesen authored
there should be a better way to do this. PR 8679. llvm-svn: 120457
-
Owen Anderson authored
llvm-svn: 120455
-
Chris Lattner authored
llvm-svn: 120454
-
Chris Lattner authored
AA and MD pass info instead of using getAnalysis<> all over. llvm-svn: 120453
-
Chris Lattner authored
llvm-svn: 120452
-
Jim Grosbach authored
llvm-svn: 120451
-
Chris Lattner authored
llvm-svn: 120450
-
Owen Anderson authored
llvm-svn: 120449
-
Eric Christopher authored
llvm-svn: 120447
-
Chris Lattner authored
now that DSE hacks on them. This fixes a regression I introduced, by generalizing DSE to hack on transfers. llvm-svn: 120445
-
Jim Grosbach authored
no extra encoding information), so we no longer need to special case them here. llvm-svn: 120444
-
Jim Grosbach authored
llvm-svn: 120443
-
Jim Grosbach authored
llvm-svn: 120442
-
Jim Grosbach authored
llvm-svn: 120441
-
Cameron Zwarich authored
Change the basic block map in LoopInfo from a std::map to a DenseMap. This is a 16% speedup running loops on test-suite + SPEC2000. Reviewed by Eric Christopher. llvm-svn: 120440
-
Owen Anderson authored
llvm-svn: 120439
-
Jim Grosbach authored
rdar://8685712 llvm-svn: 120438
-
Owen Anderson authored
llvm-svn: 120436
-
Chris Lattner authored
and use this to disable a specific optimization. Patch by Micah Villmow! llvm-svn: 120435
-
Che-Liang Chiou authored
llvm-svn: 120423
-
Eric Christopher authored
llvm-svn: 120418
-
Eric Christopher authored
llvm-svn: 120416
-
Eric Christopher authored
llvm-svn: 120415
-
Jay Foad authored
llvm-svn: 120413
-
Eric Christopher authored
it. llvm-svn: 120412
-
Eric Christopher authored
While I'm there, clean up too many \n even for me. llvm-svn: 120411
-
Eric Christopher authored
llvm-svn: 120410
-
Bill Wendling authored
certainly be made more generic. But it does allow us to parse something like: ldr r3, [r2, r4] correctly in Thumb mode. llvm-svn: 120408
-
Che-Liang Chiou authored
support register and register-immediate addressing mode todo: immediate and register-register addressing mode llvm-svn: 120407
-
Chris Lattner authored
about pairs of AA::Location's instead of looking for MemDep's "Def" predicate. This is more powerful and general, handling memset/memcpy/store all uniformly, and implementing PR8701 and probably obsoleting parts of memcpyoptimizer. This also fixes an obscure bug with init.trampoline and i8 stores, but I'm not surprised it hasn't been hit yet. Enhancing init.trampoline to carry the size that it stores would allow DSE to be much more aggressive about optimizing them. llvm-svn: 120406
-
Chris Lattner authored
llvm-svn: 120405
-