- Aug 29, 2010
-
-
Chris Lattner authored
instead of PromoteMemToReg. This allows it to stop using DF and DT, eliminating a computation of DT and DF from clang -O3. Clang is now down to 2 runs of DomFrontier. llvm-svn: 112457
-
Chris Lattner authored
llvm-svn: 112455
-
Chris Lattner authored
assertingvh so we get a violent explosion if the pointer dangles. 2) Fix AliasSetTracker::deleteValue to remove call sites with by-pointer comparisons instead of by-alias queries. Using findAliasSetForCallSite can cause alias sets to get merged when they shouldn't, and can also miss alias sets when the call is readonly. #2 fixes PR6889, which only repros with a .c file :( llvm-svn: 112452
-
Chris Lattner authored
out of loops, just delete them. llvm-svn: 112451
-
Chris Lattner authored
symtab manipulation, so its faster (in addition to being more elegant) llvm-svn: 112450
-
Chris Lattner authored
llvm-svn: 112449
-
Chris Lattner authored
of AST to remove the hoisted instruction from the AST, since it is no longer in the loop. llvm-svn: 112448
-
Chris Lattner authored
LICM correctly. When sinking an instruction, it should not add entries for the sunk instruction to the AST, it should remove the entry for the sunk instruction. The blocks being sunk to are not in the loop, so their instructions shouldn't be in the AST (yet)! llvm-svn: 112447
-
Chris Lattner authored
keeping them around until the pass is destroyed, keep them around a) just when useful (not for outer loops) and b) destroy them right after we use them. This should reduce memory use and fixes potential bugs where a loop is deleted and another loop gets allocated to the same address. llvm-svn: 112446
-
Chris Lattner authored
claims that it preserves domfrontier if it doesn't really. llvm-svn: 112445
-
Chris Lattner authored
for the unroller to pretend it supports updating it. It still has a horrible hack for DomTree. llvm-svn: 112444
-
Dan Gohman authored
This has the side effect of reversing the order of most of IVUser's results. llvm-svn: 112442
-
Dan Gohman authored
other filtering techniques, as those may allow it to filter out more obviously unprofitable candidates. llvm-svn: 112441
-
Dan Gohman authored
LSRInstance data structures up to date. This fixes some pessimizations caused by stale data which will be exposed in an upcoming change. llvm-svn: 112440
-
Dan Gohman authored
NarrowSearchSpaceUsingHeuristics into separate functions. llvm-svn: 112439
-
Dan Gohman authored
llvm-svn: 112438
-
Dan Gohman authored
llvm-svn: 112437
-
Dan Gohman authored
the high-level logic. llvm-svn: 112436
-
Dan Gohman authored
llvm-svn: 112435
-
Dan Gohman authored
llvm-svn: 112434
-
Dan Gohman authored
all applicable addrecs before recursing on getMulExpr, instead of recursing on getMulExpr for each one. llvm-svn: 112433
-
Dan Gohman authored
operations. llvm-svn: 112432
-
Dan Gohman authored
llvm-svn: 112431
-
Dan Gohman authored
with the Add code. llvm-svn: 112430
-
Dan Gohman authored
llvm-svn: 112429
-
Dan Gohman authored
llvm-svn: 112428
-
Dan Gohman authored
llvm-svn: 112427
-
Dan Gohman authored
llvm-svn: 112426
-
Dan Gohman authored
llvm-svn: 112425
-
Dan Gohman authored
llvm-svn: 112424
-
Kalle Raiskila authored
The IDX was treated as byte index, not element index. llvm-svn: 112422
-
Bill Wendling authored
llvm-svn: 112421
-
Chris Lattner authored
since none of them use it. With this, we now only run domfrontier (an N^2 analysis) 3 times at clang -O3: once for "early" per-function cleanup, once at the start of the per-function pipeline to support SRoA, and once late because the EHPrepare class uses it. EHPrepare needs to stop using it, this is silly and wasteful. llvm-svn: 112420
-
Chris Lattner authored
preserves domfrontier. It does preserve AA though. llvm-svn: 112419
-
Chris Lattner authored
require DomFrontier. Dropping this doesn't actually save any runs of the pass though. llvm-svn: 112418
-
Chris Lattner authored
Among other things, this uses SSAUpdater instead of PromoteMemToReg. llvm-svn: 112417
-
Bob Wilson authored
IR add/sub operations with one or both operands sign- or zero-extended. Auto-upgrade the old intrinsics. llvm-svn: 112416
-
Chris Lattner authored
llvm-svn: 112412
-
Eli Friedman authored
llvm-svn: 112411
-
Chris Lattner authored
This leads to much simpler code. llvm-svn: 112410
-