| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Significantly improve the documentation of the instcombine divide/compare | Chris Lattner | 2007-06-21 | 1 | -35/+51 | |
| | | | | | | | | | transformation. Also, keep track of which end of the integer interval overflows occur on. This fixes Transforms/InstCombine/2007-06-21-DivCompareMiscomp.ll and rdar://5278853, a miscompilation of perl. llvm-svn: 37692 | |||||
| * | Change lots of sets from std::set to SmallPtrSet. This reduces the time ↵ | Owen Anderson | 2007-06-21 | 1 | -92/+99 | |
| | | | | | | | required to optimize 253.perlbmk from 10.9s to 5.3s. llvm-svn: 37690 | |||||
| * | 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 | |||||
| * | Eliminate a redundant check. This speeds up optimization of 253.perlbmk ↵ | Owen Anderson | 2007-06-21 | 1 | -7/+3 | |
| | | | | | | | from 13.5 seconds to 10.9 seconds. llvm-svn: 37683 | |||||
| * | Comment-ize the functions in GVNPRE. | Owen Anderson | 2007-06-21 | 1 | -76/+108 | |
| | | | | | llvm-svn: 37681 | |||||
| * | refactor a bunch of code out of visitICmpInstWithInstAndIntCst into its own | Chris Lattner | 2007-06-20 | 1 | -123/+134 | |
| | | | | | | | routine. llvm-svn: 37679 | |||||
| * | Split runOnFunction into many smaller functions. This make it easier to get ↵ | Owen Anderson | 2007-06-20 | 1 | -279/+329 | |
| | | | | | | | accurate performance analysis of GVNPRE. llvm-svn: 37678 | |||||
| * | Make GVNPRE accurate report whether it modified the function or not. | Owen Anderson | 2007-06-20 | 1 | -5/+12 | |
| | | | | | llvm-svn: 37673 | |||||
| * | Get rid of an unneeded helper function. | Owen Anderson | 2007-06-20 | 1 | -19/+9 | |
| | | | | | llvm-svn: 37670 | |||||
| * | Use a DenseMap instead of an std::map for the value numbering. This reduces ↵ | Owen Anderson | 2007-06-19 | 1 | -4/+5 | |
| | | | | | | | the time to optimize lencod on a PPC Debug build from ~300s to ~140s. llvm-svn: 37668 | |||||
| * | Make dependsOnInvoke much more specific in what it tests, which in turn make ↵ | Owen Anderson | 2007-06-19 | 1 | -42/+10 | |
| | | | | | | | it much faster to run. This reduces the time to optimize lencondwith a debug build on PPC from ~450s to ~300s. llvm-svn: 37667 | |||||
| * | Moved Inliner.h to include/llvm/Transforms/IPO/InlinerPass.h | Tanya Lattner | 2007-06-19 | 1 | -65/+0 | |
| | | | | | llvm-svn: 37666 | |||||
| * | Inliner pass header file was moved. | Tanya Lattner | 2007-06-19 | 2 | -2/+3 | |
| | | | | | llvm-svn: 37665 | |||||
| * | Rename ScalarEvolution::deleteInstructionFromRecords to | Dan Gohman | 2007-06-19 | 2 | -5/+5 | |
| | | | | | | | | | | deleteValueFromRecords and loosen the types to all it to accept Value* instead of just Instruction*, since this is what ScalarEvolution uses internally anyway. This allows more flexibility for future uses. llvm-svn: 37657 | |||||
| * | Handle constants in phi nodes properly. This fixes ↵ | Owen Anderson | 2007-06-19 | 1 | -1/+10 | |
| | | | | | | | test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll llvm-svn: 37655 | |||||
| * | silence a bogus warning Duraid ran into. | Chris Lattner | 2007-06-19 | 1 | -1/+1 | |
| | | | | | llvm-svn: 37649 | |||||
| * | Be careful to erase values from all of the appropriate sets when they're not ↵ | Owen Anderson | 2007-06-19 | 1 | -2/+14 | |
| | | | | | | | needed anymore. This fixes a few more memory-related issues. llvm-svn: 37647 | |||||
| * | Remember to clear the maximal sets between functions. | Owen Anderson | 2007-06-19 | 1 | -2/+3 | |
| | | | | | | | Thanks to Nicholas for valgrinding this. llvm-svn: 37646 | |||||
| * | Refactor GVNPRE to use a much smart method of uniquing value sets, and ↵ | Owen Anderson | 2007-06-19 | 1 | -273/+451 | |
| | | | | | | | centralize a lot of the value numbering information. No functionality change. llvm-svn: 37645 | |||||
| * | Cache the results of dependsOnInvoke() | Owen Anderson | 2007-06-18 | 1 | -4/+18 | |
| | | | | | llvm-svn: 37622 | |||||
| * | Fix indentation. | Owen Anderson | 2007-06-18 | 1 | -6/+6 | |
| | | | | | llvm-svn: 37621 | |||||
| * | Don't perform an expensive check if it's not necessary. | Owen Anderson | 2007-06-18 | 1 | -2/+12 | |
| | | | | | llvm-svn: 37620 | |||||
| * | Fix test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll by ignoring all ↵ | Owen Anderson | 2007-06-16 | 1 | -3/+36 | |
| | | | | | | | instructions that depend on invokes. llvm-svn: 37610 | |||||
| * | Use SCEVConstant::get instead of SCEVUnknown::get to create an | Dan Gohman | 2007-06-15 | 1 | -2/+2 | |
| | | | | | | | integer constant SCEV. llvm-svn: 37596 | |||||
| * | Fix test/Transforms/GVNPRE/2007-06-15-Looping.ll | Owen Anderson | 2007-06-15 | 1 | -4/+2 | |
| | | | | | llvm-svn: 37595 | |||||
| * | Add a SCEV class and supporting code for sign-extend expressions. | Dan Gohman | 2007-06-15 | 2 | -18/+23 | |
| | | | | | | | | | | | This created an ambiguity for expandInTy to decide when to use sign-extension or zero-extension, but it turns out that most of its callers don't actually need a type conversion, now that LLVM types don't have explicit signedness. Drop expandInTy in favor of plain expand, and change the few places that actually need a type conversion to do it themselves. llvm-svn: 37591 | |||||
| * | Generalize many transforms to work on ~ of vectors in addition to ~ of | Chris Lattner | 2007-06-15 | 1 | -29/+31 | |
| | | | | | | | | integer ops. This implements Transforms/InstCombine/and-or-not.ll test3/test4, and finishes off PR1510 llvm-svn: 37589 | |||||
| * | Implement two xforms: | Chris Lattner | 2007-06-15 | 1 | -6/+26 | |
| | | | | | | | | | | | | 1. ~(~X | Y) === (X & ~Y) 2. (A|B) & ~(A&B) -> A^B This allows us to transform ~(~(a|b) | (a&b)) -> a^b. This implements PR1510 for scalar values. llvm-svn: 37584 | |||||
| * | delete some obviously dead vector operations, which deletes a few thousand | Chris Lattner | 2007-06-15 | 1 | -1/+12 | |
| | | | | | | | operations from Duraids example. llvm-svn: 37582 | |||||
| * | Fix test/Transforms/GVNPRE/2007-06-12-PhiTranslate.ll | Owen Anderson | 2007-06-12 | 1 | -38/+39 | |
| | | | | | llvm-svn: 37564 | |||||
| * | Refactor some code, and fix test/Transforms/GVNPRE/2007-06-12-NoExit.ll by ↵ | Owen Anderson | 2007-06-12 | 1 | -47/+69 | |
| | | | | | | | | | being more careful when using post-dominator information. llvm-svn: 37556 | |||||
| * | Sink CmpInst's to their uses to reduce register pressure. | Dale Johannesen | 2007-06-12 | 1 | -3/+61 | |
| | | | | | llvm-svn: 37554 | |||||
| * | Fix a few more bugs, including an instance of walking in reverse topological ↵ | Owen Anderson | 2007-06-12 | 1 | -31/+49 | |
| | | | | | | | | | rather than topological order. This fixes a testcase extracted from llvm-test. llvm-svn: 37550 | |||||
| * | 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 | |||||
| * | Handle functions with multiple exit blocks properly. | Owen Anderson | 2007-06-11 | 1 | -0/+6 | |
| | | | | | llvm-svn: 37539 | |||||
| * | Perform PRE of comparison operators. | Owen Anderson | 2007-06-09 | 1 | -24/+155 | |
| | | | | | llvm-svn: 37536 | |||||
| * | Collect statistics from GVN-PRE. | Owen Anderson | 2007-06-08 | 1 | -0/+9 | |
| | | | | | llvm-svn: 37530 | |||||
| * | Fix typo in a comment. | Owen Anderson | 2007-06-08 | 1 | -1/+1 | |
| | | | | | llvm-svn: 37526 | |||||
| * | Fix a bug that was causing the elimination phase not to replace values when ↵ | Owen Anderson | 2007-06-08 | 1 | -13/+56 | |
| | | | | | | | | | | | it should be. With this patch, GVN-PRE now correctly optimizes the example from the thesis. Many thanks to Daniel Berlin for helping me find errors in this. llvm-svn: 37525 | |||||
| * | Small bugfix, and const-ify some methods (Thanks, Bill). | Owen Anderson | 2007-06-08 | 1 | -6/+6 | |
| | | | | | llvm-svn: 37513 | |||||
| * | 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 | |||||
| * | Add partial redundancy elimination. | Owen Anderson | 2007-06-08 | 1 | -84/+249 | |
| | | | | | llvm-svn: 37510 | |||||
| * | Do not preserve ETForest. | Devang Patel | 2007-06-08 | 1 | -26/+5 | |
| | | | | | llvm-svn: 37506 | |||||
| * | Do not require ETForest. Now it is unused by LICM. | Devang Patel | 2007-06-07 | 1 | -3/+0 | |
| | | | | | llvm-svn: 37502 | |||||
| * | Do not use ETForest as well as DomiantorTree. DominatorTree is sufficient. | Devang Patel | 2007-06-07 | 2 | -21/+18 | |
| | | | | | llvm-svn: 37501 | |||||
| * | Use DominatorTree instead of ETForest. | Devang Patel | 2007-06-07 | 4 | -18/+20 | |
| | | | | | | | This allows faster immediate domiantor walk. llvm-svn: 37500 | |||||
| * | Use DominatorTree instead of ETForest. | Devang Patel | 2007-06-07 | 1 | -8/+7 | |
| | | | | | llvm-svn: 37499 | |||||

