| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | remove a bunch of extraneous LLVMContext arguments | Chris Lattner | 2009-11-06 | 3 | -8/+4 |
| | | | | | | | from various APIs, addressing PR5325. llvm-svn: 86231 | ||||
| * | Avoid calling getUniqueExitBlocks from within LoopSimplify, as it depends | Dan Gohman | 2009-11-05 | 1 | -1/+8 |
| | | | | | | | | on loops having dedicated exits, which LoopSimplify can no longer always guarantee. llvm-svn: 86181 | ||||
| * | The introduction of indirectbr meant the introduction of | Dan Gohman | 2009-11-05 | 1 | -21/+82 |
| | | | | | | | | | | unsplittable critical edges, which means the introduction of loops which cannot be transformed to LoopSimplify form. Fix LoopSimplify to avoid transforming such loops into invalid code. llvm-svn: 86176 | ||||
| * | Teach LoopUnroll how to bail if LoopSimplify can't give it what it needs. | Dan Gohman | 2009-11-05 | 1 | -1/+12 |
| | | | | | llvm-svn: 86164 | ||||
| * | Delete an unused member variable. | Dan Gohman | 2009-11-05 | 1 | -2/+0 |
| | | | | | llvm-svn: 86160 | ||||
| * | Add an assertion to catch indirectbr in SplitBlockPredecessors. This | Dan Gohman | 2009-11-05 | 1 | -2/+6 |
| | | | | | | | | | | | | | makes several optimization passes abort in cases where they're currently silently miscompiling code. Remove the indirectbr assertion from SplitEdge. Indirectbr is only a problem for critical edges, and SplitEdge defers to SplitCriticalEdge to handle those, and SplitCriticalEdge has its own assertion for indirectbr. llvm-svn: 86147 | ||||
| * | remove a isFreeCall check: it is a callinst that can write to memory already. | Chris Lattner | 2009-11-03 | 1 | -3/+2 |
| | | | | | llvm-svn: 85863 | ||||
| * | Alphabetize. | Ted Kremenek | 2009-11-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 85859 | ||||
| * | fix a bug exposed by moving SRoA earlier which caused a crash building kc++ | Chris Lattner | 2009-11-02 | 1 | -1/+6 |
| | | | | | llvm-svn: 85786 | ||||
| * | improve comment. | Chris Lattner | 2009-11-01 | 1 | -1/+1 |
| | | | | | llvm-svn: 85725 | ||||
| * | change llvm::MergeBlockIntoPredecessor to not merge two blocks BB1->BB2 | Chris Lattner | 2009-11-01 | 1 | -3/+7 |
| | | | | | | | | | | when BB2 has its address taken. Since it ends up doing BB2->rauw(BB1), this can cause the address of the entry block to be taken. Since it is generally undesirable to nuke blocks whose address is taken, even when we can, just unconditionally stop this xform. llvm-svn: 85708 | ||||
| * | constant fold indirectbr(blockaddress(%bb)) -> br label %bb. | Chris Lattner | 2009-11-01 | 1 | -9/+46 |
| | | | | | llvm-svn: 85704 | ||||
| * | Revert 85678/85680. The decision is to stay with the current form of | Chris Lattner | 2009-11-01 | 1 | -7/+2 |
| | | | | | | | | indirectbr, thus we don't need "blockaddr(@func, null)". Eliminate it for simplicity. llvm-svn: 85699 | ||||
| * | llvm::SplitEdge should refuse to split an edge from an indirectbr. | Chris Lattner | 2009-10-31 | 1 | -0/+2 |
| | | | | | | | Fix CodeGenPrepare to not try to split edges from indirectbr. llvm-svn: 85690 | ||||
| * | update the comment above llvm::SplitCriticalEdge, and make | Chris Lattner | 2009-10-31 | 1 | -6/+21 |
| | | | | | | | it abort on IndirectBrInst as describe in the comment. llvm-svn: 85688 | ||||
| * | adjust a couple xforms to work with null bb's in BlockAddress. | Chris Lattner | 2009-10-31 | 1 | -2/+7 |
| | | | | | llvm-svn: 85680 | ||||
| * | Revert r85667. LoopUnroll currently can't call utility functions which | Dan Gohman | 2009-10-31 | 2 | -24/+94 |
| | | | | | | | | auto-update the DominatorTree because it doesn't keep the DominatorTree current while it works. llvm-svn: 85670 | ||||
| * | Remove redundant code. | Dan Gohman | 2009-10-31 | 1 | -3/+0 |
| | | | | | llvm-svn: 85668 | ||||
| * | Merge the enhancements from LoopUnroll's FoldBlockIntoPredecessor into | Dan Gohman | 2009-10-31 | 2 | -94/+24 |
| | | | | | | | | MergeBlockIntoPredecessor. This makes SimplifyCFG slightly more aggressive, and makes it unnecessary for LoopUnroll to have its own copy of this code. llvm-svn: 85667 | ||||
| * | Simplify this code. | Dan Gohman | 2009-10-31 | 1 | -2/+2 |
| | | | | | llvm-svn: 85662 | ||||
| * | Update CMakeLists for recent renames. | Dan Gohman | 2009-10-31 | 1 | -1/+1 |
| | | | | | llvm-svn: 85660 | ||||
| * | Rename UnrollLoop.cpp to LoopUnroll.cpp, and LoopUnroll.cpp to | Dan Gohman | 2009-10-31 | 1 | -0/+0 |
| | | | | | | | | LoopUnrollPass.cpp, for consistency with other passes which are similarly split. llvm-svn: 85659 | ||||
| * | Add a comment about a missed opportunity. | Dan Gohman | 2009-10-30 | 1 | -0/+5 |
| | | | | | llvm-svn: 85635 | ||||
| * | Teach SimplifyCFG how to eliminate duplicate PHI nodes within a block. | Dan Gohman | 2009-10-30 | 1 | -0/+61 |
| | | | | | | | | This reduces codesize on a variety of codes by 1-2% on x86-64. It also helps clean up after SSAUpdater. llvm-svn: 85626 | ||||
| * | teach various passes about blockaddress. We no longer | Chris Lattner | 2009-10-29 | 1 | -2/+2 |
| | | | | | | | crash on any clang tests. llvm-svn: 85465 | ||||
| * | teach ValueMapper about BlockAddress', making bugpoint a lot more useful. | Chris Lattner | 2009-10-29 | 1 | -7/+10 |
| | | | | | llvm-svn: 85458 | ||||
| * | unindent massive blocks, no functionality change. | Chris Lattner | 2009-10-29 | 1 | -69/+75 |
| | | | | | llvm-svn: 85457 | ||||
| * | Factor out redundancy from clone() implementations. | Devang Patel | 2009-10-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 85327 | ||||
| * | Rename MallocFreeHelper as MemoryBuiltins | Victor Hernandez | 2009-10-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 85286 | ||||
| * | Fix a pretty serious misfeature of the inliner: if it inlines a function | Chris Lattner | 2009-10-27 | 1 | -0/+9 |
| | | | | | | | | | | | with multiple return values it inserts a PHI to merge them all together. However, if the return values are all the same, it ends up with a pointless PHI and this pointless PHI happens to really block SRoA from happening in at least a silly C++ example written by Doug, but probably others. This fixes rdar://7339069. llvm-svn: 85206 | ||||
| * | Rename MallocHelper as MallocFreeHelper, since it now also identifies calls ↵ | Victor Hernandez | 2009-10-26 | 1 | -1/+1 |
| | | | | | | | to free() llvm-svn: 85181 | ||||
| * | Remove FreeInst. | Victor Hernandez | 2009-10-26 | 6 | -123/+2 |
| | | | | | | | | Remove LowerAllocations pass. Update some more passes to treate free calls just like they were treating FreeInst. llvm-svn: 85176 | ||||
| * | Remove includes of Support/Compiler.h that are no longer needed after the | Nick Lewycky | 2009-10-25 | 9 | -9/+1 |
| | | | | | | | VISIBILITY_HIDDEN removal. llvm-svn: 85043 | ||||
| * | Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. | Nick Lewycky | 2009-10-25 | 11 | -13/+13 |
| | | | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042 | ||||
| * | MapValue doesn't needs its LLVMContext argument. | Dan Gohman | 2009-10-24 | 3 | -18/+13 |
| | | | | | llvm-svn: 85020 | ||||
| * | Auto-upgrade free instructions to calls to the builtin free function. | Victor Hernandez | 2009-10-24 | 2 | -6/+3 |
| | | | | | | | | Update all analysis passes and transforms to treat free calls just like FreeInst. Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised. llvm-svn: 84987 | ||||
| * | alternate fix for PR5258 which avoids worklist problems, with reduced testcase. | Chris Lattner | 2009-10-20 | 1 | -11/+6 |
| | | | | | llvm-svn: 84667 | ||||
| * | Fix PR5258, jump-threading creating invalid PHIs. | Torok Edwin | 2009-10-20 | 1 | -2/+10 |
| | | | | | | | | When an incoming value for a PHI is updated, we must also updated all other incoming values for the same BB to match, otherwise we create invalid PHIs. llvm-svn: 84638 | ||||
| * | Fix SplitBlockPredecessors' LoopInfo updating code to handle the case | Dan Gohman | 2009-10-19 | 1 | -8/+20 |
| | | | | | | | | | where a loop's header is being split and it has predecessors which are not contained by the most-nested loop which contains the loop. This fixes PR5235. llvm-svn: 84505 | ||||
| * | Change instnamer to name arguments "arg" instead of "tmp" for clarity, and | Dan Gohman | 2009-10-19 | 1 | -2/+2 |
| | | | | | | | to name basic blocks "bb" instead of "BB", for consistency. llvm-svn: 84502 | ||||
| * | Simplify some code (first hunk) and fix PR5208 (second hunk) by | Chris Lattner | 2009-10-17 | 1 | -8/+6 |
| | | | | | | | updating the callgraph when introducing a call. llvm-svn: 84310 | ||||
| * | Remove MallocInst from LLVM Instructions. | Victor Hernandez | 2009-10-17 | 1 | -29/+10 |
| | | | | | llvm-svn: 84299 | ||||
| * | Strip trailing white space. | Duncan Sands | 2009-10-16 | 1 | -33/+31 |
| | | | | | llvm-svn: 84256 | ||||
| * | Update CMake file. | Ted Kremenek | 2009-10-13 | 1 | -1/+0 |
| | | | | | llvm-svn: 84001 | ||||
| * | Commit the removal of this file, which is now moved to lib/Analysis. | Dan Gohman | 2009-10-13 | 1 | -337/+0 |
| | | | | | llvm-svn: 83999 | ||||
| * | Start refactoring the inline cost estimation code so that it can be used | Dan Gohman | 2009-10-13 | 1 | -71/+71 |
| | | | | | | | for purposes other than inlining. llvm-svn: 83997 | ||||
| * | change simplifycfg to not duplicate 'unwind' instructions. Hopefully | Chris Lattner | 2009-10-13 | 1 | -12/+5 |
| | | | | | | | | this will increase the likelihood of common code getting sunk towards the unwind. llvm-svn: 83996 | ||||
| * | rewrite LCSSA to use SSAUpdate, to only return true if it modifies | Chris Lattner | 2009-10-11 | 1 | -154/+130 |
| | | | | | | | the IR, and to implement the FIXME'd optimization. llvm-svn: 83748 | ||||
| * | clean up and simplify some code. Don't use setvector when things will be | Chris Lattner | 2009-10-11 | 1 | -28/+23 |
| | | | | | | | | inserted only once, just use vector. Don't compute ExitBlocks unless we need it, change std::sort to array_pod_sort. llvm-svn: 83747 | ||||
| * | add a simple helper method. | Chris Lattner | 2009-10-10 | 1 | -0/+6 |
| | | | | | llvm-svn: 83745 | ||||

