| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Change the rename pass to be "tail recursive", only adding N-1 successors | Chris Lattner | 2007-08-04 | 1 | -21/+35 | |
| | | | | | | | | to the worklist, and handling the last one with a 'tail call'. This speeds up PR1432 from 2.0578s to 2.0012s (2.8%) llvm-svn: 40822 | |||||
| * | cache computation of #preds for a BB. This speeds up | Chris Lattner | 2007-08-04 | 1 | -3/+14 | |
| | | | | | | | mem2reg from 2.0742->2.0522s on PR1432. llvm-svn: 40821 | |||||
| * | reserve operand space for phi nodes when we insert them. | Chris Lattner | 2007-08-04 | 1 | -0/+1 | |
| | | | | | llvm-svn: 40820 | |||||
| * | use continue to avoid nesting, no functionality change. | Chris Lattner | 2007-08-04 | 1 | -14/+15 | |
| | | | | | llvm-svn: 40819 | |||||
| * | Promoting allocas with the 'single store' fastpath is | Chris Lattner | 2007-08-04 | 1 | -10/+9 | |
| | | | | | | | | faster than with the 'local to a block' fastpath. This speeds up PR1432 from 2.1232 to 2.0686s (2.6%) llvm-svn: 40818 | |||||
| * | When PromoteLocallyUsedAllocas promoted allocas, it didn't remember | Chris Lattner | 2007-08-04 | 1 | -2/+13 | |
| | | | | | | | | to increment NumLocalPromoted, and didn't actually delete the dead alloca, leading to an extra iteration of mem2reg. llvm-svn: 40817 | |||||
| * | std::map -> DenseMap | Chris Lattner | 2007-08-04 | 1 | -3/+3 | |
| | | | | | llvm-svn: 40816 | |||||
| * | fix a logic bug where we wouldn't promote single store allocas if the | Chris Lattner | 2007-08-04 | 1 | -2/+2 | |
| | | | | | | | | | | stored value was a non-instruction value. Doh. This increase the # single store allocas from 8982 to 9026, and speeds up mem2reg on the testcase in PR1432 from 2.17 to 2.13s. llvm-svn: 40813 | |||||
| * | When we do the single-store optimization, delete both the store | Chris Lattner | 2007-08-04 | 1 | -2/+8 | |
| | | | | | | | | | and the alloca so they don't get reprocessed. This speeds up PR1432 from 2.20s to 2.17s. llvm-svn: 40812 | |||||
| * | Three improvements: | Chris Lattner | 2007-08-04 | 1 | -6/+16 | |
| | | | | | | | | | | | | | | 1. Check for revisiting a block before checking domination, which is faster. 2. If the stored value isn't an instruction, we don't have to check for domination. 3. If we have a value used in the same block more than once, make sure to remove the block from the UsingBlocks vector. Not doing so forces us to go through the slow path for the alloca. The combination of these improvements increases the number of allocas on the fastpath from 8935 to 8982 on PR1432. This speeds it up from 2.90s to 2.20s (31%) llvm-svn: 40811 | |||||
| * | switch from using a std::set to using a SmallPtrSet. This speeds up the | Chris Lattner | 2007-08-04 | 1 | -3/+3 | |
| | | | | | | | testcase in PR1432 from 6.33s to 2.90s (2.22x) llvm-svn: 40810 | |||||
| * | In mem2reg, when handling the single-store case, make sure to remove | Chris Lattner | 2007-08-04 | 1 | -8/+10 | |
| | | | | | | | | | | | a using block from the list if we handle it. Not doing this caused us to not be able to promote (with the fast path) allocas which have uses (whoops). This increases the # allocas hitting this fastpath from 4042 to 8935 on the testcase in PR1432, speeding up mem2reg by 2.6x llvm-svn: 40809 | |||||
| * | split rewriting of single-store allocas into its own | Chris Lattner | 2007-08-04 | 1 | -39/+57 | |
| | | | | | | | method. llvm-svn: 40806 | |||||
| * | refactor some code to shrink PromoteMem2Reg::run a bit | Chris Lattner | 2007-08-04 | 1 | -63/+96 | |
| | | | | | llvm-svn: 40805 | |||||
| * | add a typedef, no other change. | Chris Lattner | 2007-08-04 | 1 | -7/+8 | |
| | | | | | llvm-svn: 40804 | |||||
| * | avoid an unneeded vector copy. This speeds up mem2reg on the testcase | Chris Lattner | 2007-08-04 | 1 | -1/+9 | |
| | | | | | | | in PR1432 by 6% llvm-svn: 40803 | |||||
| * | make RenamePassWorkList a local var instead of an ivar. | Chris Lattner | 2007-08-04 | 1 | -8/+8 | |
| | | | | | llvm-svn: 40802 | |||||
| * | More explicit keywords. | Dan Gohman | 2007-08-01 | 3 | -4/+4 | |
| | | | | | llvm-svn: 40673 | |||||
| * | New CallInst interface to address GLIBCXX_DEBUG errors caused by | David Greene | 2007-08-01 | 3 | -6/+6 | |
| | | | | | | | | | indexing an empty std::vector. Updates to all clients. llvm-svn: 40660 | |||||
| * | LCSSA preserves dom info. | Devang Patel | 2007-07-30 | 1 | -0/+8 | |
| | | | | | llvm-svn: 40604 | |||||
| * | Use SmallPtrSet. | Devang Patel | 2007-07-27 | 2 | -3/+2 | |
| | | | | | llvm-svn: 40560 | |||||
| * | Move the GET_SIDE_EFFECT_INFO logic from isInstructionTriviallyDead | Dan Gohman | 2007-07-26 | 1 | -7/+0 | |
| | | | | | | | | to Instruction::mayWriteToMemory, fixing a FIXME, and helping various places that call mayWriteToMemory directly. llvm-svn: 40533 | |||||
| * | Add BasicInliner interface. | Devang Patel | 2007-07-25 | 2 | -0/+412 | |
| | | | | | | | | This interface allows clients to inline bunch of functions with module level call graph information.:wq llvm-svn: 40486 | |||||
| * | Verify loop info. | Devang Patel | 2007-07-19 | 1 | -0/+10 | |
| | | | | | llvm-svn: 40062 | |||||
| * | After a basic block is split into two parts, | Devang Patel | 2007-07-19 | 1 | -2/+15 | |
| | | | | | | | | | second part dominates all the blocks dominated by original basic block. And first part dominates second part. llvm-svn: 40035 | |||||
| * | Now this temp. fix is not required. | Devang Patel | 2007-07-19 | 1 | -4/+0 | |
| | | | | | llvm-svn: 40034 | |||||
| * | Return Undef if the block has no dominator. This was required to allow | Reid Spencer | 2007-07-16 | 1 | -0/+4 | |
| | | | | | | | | | llvm-gcc build to succeed. Without this change it fails in libstdc++ compilation. This causes no regressions in dejagnu tests. However, someone who knows this code better might want to review it. llvm-svn: 39924 | |||||
| * | Fix comments about vectors to use the current wording. | Dan Gohman | 2007-07-16 | 1 | -2/+2 | |
| | | | | | llvm-svn: 39921 | |||||
| * | Make LCSSA a loop pass. | Devang Patel | 2007-07-13 | 1 | -21/+11 | |
| | | | | | llvm-svn: 39844 | |||||
| * | Adding ability to demote phi to stack. | Tanya Lattner | 2007-07-11 | 1 | -0/+38 | |
| | | | | | llvm-svn: 39744 | |||||
| * | During module cloning copy aliases too. This fixes PR1544 | Anton Korobeynikov | 2007-07-10 | 1 | -0/+15 | |
| | | | | | llvm-svn: 38505 | |||||
| * | Add SplitEdge and SplitBlock utility routines. | Devang Patel | 2007-07-06 | 1 | -0/+61 | |
| | | | | | llvm-svn: 37952 | |||||
| * | Fix reference to iterator invalidated by an erase operation. Uncovered | David Greene | 2007-06-29 | 1 | -3/+4 | |
| | | | | | | | by _GLIBCXX_DEBUG. llvm-svn: 37796 | |||||
| * | Move code to update dominator information after basic block is split | Devang Patel | 2007-06-21 | 2 | -202/+22 | |
| | | | | | | | from LoopSimplify.cpp to Dominator.cpp llvm-svn: 37689 | |||||
| * | Add and use DominatorTreeBase::findNearestCommonDominator(). | Devang Patel | 2007-06-11 | 1 | -1/+1 | |
| | | | | | llvm-svn: 37545 | |||||
| * | Simplify. | Devang Patel | 2007-06-11 | 1 | -4/+2 | |
| | | | | | llvm-svn: 37542 | |||||
| * | simplify | Devang Patel | 2007-06-11 | 1 | -4/+3 | |
| | | | | | llvm-svn: 37541 | |||||
| * | Simplify. Dominator Tree is required so always available. | Devang Patel | 2007-06-11 | 1 | -31/+26 | |
| | | | | | llvm-svn: 37540 | |||||
| * | Update LoopSimplify to require and preserve DominatorTree only. | Devang Patel | 2007-06-08 | 1 | -32/+26 | |
| | | | | | | | Now LoopSimplify does not require nor preserve ETForest. llvm-svn: 37512 | |||||
| * | Do not preserve ETForest. | Devang Patel | 2007-06-08 | 1 | -26/+5 | |
| | | | | | llvm-svn: 37506 | |||||
| * | Do not use ETForest as well as DomiantorTree. DominatorTree is sufficient. | Devang Patel | 2007-06-07 | 1 | -16/+15 | |
| | | | | | llvm-svn: 37501 | |||||
| * | Use DominatorTree instead of ETForest. | Devang Patel | 2007-06-07 | 2 | -13/+15 | |
| | | | | | | | This allows faster immediate domiantor walk. llvm-svn: 37500 | |||||
| * | Maintain ETNode as part of DomTreeNode. | Devang Patel | 2007-06-07 | 2 | -2/+2 | |
| | | | | | | | This adds redundancy for now. llvm-svn: 37492 | |||||
| * | s/DominatorTree::createNewNode/DominatorTree::addNewBlock/g | Devang Patel | 2007-06-04 | 3 | -4/+3 | |
| | | | | | llvm-svn: 37415 | |||||
| * | Add basic block level interface to change immediate dominator | Devang Patel | 2007-06-04 | 1 | -2/+2 | |
| | | | | | | | and create new node. llvm-svn: 37414 | |||||
| * | s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g | Devang Patel | 2007-06-04 | 3 | -15/+15 | |
| | | | | | llvm-svn: 37407 | |||||
| * | s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g | Devang Patel | 2007-06-03 | 3 | -15/+15 | |
| | | | | | llvm-svn: 37403 | |||||
| * | Minor comment cleanups. | Dan Gohman | 2007-05-24 | 1 | -1/+1 | |
| | | | | | llvm-svn: 37321 | |||||
| * | Fix typos. | Dan Gohman | 2007-05-11 | 1 | -1/+1 | |
| | | | | | llvm-svn: 36994 | |||||
| * | Fix typo in comment. | Nick Lewycky | 2007-05-06 | 7 | -7/+7 | |
| | | | | | llvm-svn: 36873 | |||||

