| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Add explicit #includes of <iostream> | Chris Lattner | 2006-01-22 | 2 | -0/+2 |
| | | | | | llvm-svn: 25509 | ||||
| * | ConstantFoldLoadThroughGEPConstantExpr wasn't handling pointers to | Robert Bocchino | 2006-01-19 | 1 | -9/+22 |
| | | | | | | | packed types correctly. llvm-svn: 25470 | ||||
| * | Make sure that cloning a module clones its target triple and dependent | Chris Lattner | 2006-01-18 | 1 | -3/+7 |
| | | | | | | | library list as well. This should help bugpoint. llvm-svn: 25424 | ||||
| * | Constant folding support for the insertelement operation. | Robert Bocchino | 2006-01-17 | 1 | -0/+3 |
| | | | | | llvm-svn: 25407 | ||||
| * | For PR411: | Reid Spencer | 2006-01-16 | 1 | -5/+16 |
| | | | | | | | | | | | | | | | | | This patch is an incremental step towards supporting a flat symbol table. It de-overloads the intrinsic functions by providing type-specific intrinsics and arranging for automatically upgrading from the old overloaded name to the new non-overloaded name. Specifically: llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64 llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64 llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64 llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64 llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64 New code should not use the overloaded intrinsic names. Warnings will be emitted if they are used. llvm-svn: 25366 | ||||
| * | Teach the inliner to update the CallGraph itself, and have it add edges to | Chris Lattner | 2006-01-14 | 1 | -4/+53 |
| | | | | | | | llvm.stacksave/restore when it inserts calls to them. llvm-svn: 25320 | ||||
| * | Add bswap intrinsics as documented in the Language Reference | Nate Begeman | 2006-01-14 | 1 | -0/+3 |
| | | | | | llvm-svn: 25309 | ||||
| * | it is ok to dce stacksave. | Chris Lattner | 2006-01-13 | 1 | -0/+1 |
| | | | | | llvm-svn: 25295 | ||||
| * | If inlining a call to a function that contains dynamic allocas, wrap the | Chris Lattner | 2006-01-13 | 1 | -0/+30 |
| | | | | | | | resultant code with llvm.stacksave/llvm.stackrestore intrinsics. llvm-svn: 25286 | ||||
| * | Use ClonedCodeInfo to avoid another walk over the inlined code, this this | Chris Lattner | 2006-01-13 | 1 | -2/+4 |
| | | | | | | | time in common C cases. llvm-svn: 25285 | ||||
| * | Use the ClonedCodeInfo object to avoid scans of the inlined code when | Chris Lattner | 2006-01-13 | 1 | -62/+67 |
| | | | | | | | | it doesn't contain any calls. This is a fairly common case for C++ code, so it will probably speed up the inliner marginally in these cases. llvm-svn: 25284 | ||||
| * | Refactor a bunch of invoke handling stuff out into a new function | Chris Lattner | 2006-01-13 | 1 | -88/+108 |
| | | | | | | | "HandleInlinedInvoke". No functionality change. llvm-svn: 25283 | ||||
| * | Allow the code cloning interfaces to capture some important info about the | Chris Lattner | 2006-01-13 | 1 | -11/+35 |
| | | | | | | | code being cloned if the client wants. llvm-svn: 25281 | ||||
| * | Fix a bug I noticed by inspection: if the first instruction in the inlined | Chris Lattner | 2006-01-13 | 1 | -5/+3 |
| | | | | | | | | | function was not an alloca, we wouldn't check the entry block for any allocas, leading to increased stack space in some cases. In practice, allocas are almost always at the top of the block, so this was never noticed. llvm-svn: 25280 | ||||
| * | Preserve and update ETForest. Patch by Daniel Berlin | Chris Lattner | 2006-01-11 | 1 | -0/+5 |
| | | | | | llvm-svn: 25203 | ||||
| * | Added support for the extractelement operation. | Robert Bocchino | 2006-01-10 | 1 | -0/+2 |
| | | | | | llvm-svn: 25181 | ||||
| * | Teach loopsimplify to update et-forest. Patch contributed by Daniel Berlin! | Chris Lattner | 2006-01-09 | 1 | -0/+19 |
| | | | | | llvm-svn: 25153 | ||||
| * | Fix SimplifyCFG/2005-12-03-IncorrectPHIFold.ll | Chris Lattner | 2005-12-03 | 1 | -8/+14 |
| | | | | | llvm-svn: 24581 | ||||
| * | Implement a refinement to the mem2reg algorithm for cases where an alloca | Chris Lattner | 2005-11-18 | 1 | -0/+55 |
| | | | | | | | | | | | has a single def. In this case, look for uses that are dominated by the def and attempt to rewrite them to directly use the stored value. This speeds up mem2reg on these values and reduces the number of phi nodes inserted. This should address PR665. llvm-svn: 24411 | ||||
| * | This needs proper dominance | Chris Lattner | 2005-11-18 | 1 | -5/+14 |
| | | | | | llvm-svn: 24410 | ||||
| * | Fix #include order | Chris Lattner | 2005-10-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 24044 | ||||
| * | Move some constant folding code shared by Analysis and Transform passes | John Criswell | 2005-10-27 | 2 | -142/+2 |
| | | | | | | | | | into the LLVMAnalysis library. This allows LLVMTranform and LLVMTransformUtils to be archives and linked with LLVMAnalysis.a, which provides any missing definitions. llvm-svn: 24036 | ||||
| * | 1. Remove libraries no longer created from the list of libraries linked into the | John Criswell | 2005-10-26 | 1 | -1/+0 |
| | | | | | | | | | | | SparcV9 JIT. 2. Make LLVMTransformUtils a relinked object file and always link it before LLVMAnalysis.a. These two libraries have circular dependencies on each other which creates problem when building the SparcV9 JIT. This change fixes the dependency on all platforms problems with a minimum of fuss. llvm-svn: 24023 | ||||
| * | Update Visual Studio projects to reflect moved file. | Jeff Cohen | 2005-10-26 | 1 | -0/+855 |
| | | | | | llvm-svn: 23998 | ||||
| * | DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now | Chris Lattner | 2005-10-24 | 1 | -1/+0 |
| | | | | | llvm-svn: 23940 | ||||
| * | Only build .a file versions of these libraries, instead of .a and .o versions. | Chris Lattner | 2005-10-24 | 1 | -0/+2 |
| | | | | | | | This should speed up build times. llvm-svn: 23933 | ||||
| * | Fix DemoteRegToStack on an invoke. This fixes PR634. | Chris Lattner | 2005-10-04 | 1 | -1/+2 |
| | | | | | llvm-svn: 23618 | ||||
| * | Clean up the code a bit. Use isInstructionTriviallyDead to be more aggressive | Chris Lattner | 2005-10-03 | 1 | -4/+8 |
| | | | | | | | | and more correct than use_empty(). This fixes PR635 and SimplifyCFG/2005-10-02-InvokeSimplify.ll llvm-svn: 23616 | ||||
| * | Constant fold llvm.sqrt | Chris Lattner | 2005-09-28 | 1 | -1/+9 |
| | | | | | llvm-svn: 23487 | ||||
| * | allow demotion to volatile values, add support for invoke | Chris Lattner | 2005-09-27 | 1 | -12/+15 |
| | | | | | llvm-svn: 23473 | ||||
| * | Move the ConstantFoldLoadThroughGEPConstantExpr function out of the InstCombine | Chris Lattner | 2005-09-26 | 1 | -1/+45 |
| | | | | | | | pass. llvm-svn: 23444 | ||||
| * | remove some debugging code | Chris Lattner | 2005-09-23 | 1 | -1/+0 |
| | | | | | llvm-svn: 23411 | ||||
| * | Fold two consequtive branches that share a common destination between them. | Chris Lattner | 2005-09-23 | 1 | -33/+119 |
| | | | | | | | | This implements SimplifyCFG/branch-fold.ll, and is useful on ?:/min/max heavy code llvm-svn: 23410 | ||||
| * | simplify some logic further | Chris Lattner | 2005-09-23 | 1 | -6/+1 |
| | | | | | llvm-svn: 23408 | ||||
| * | pull a bunch of logic out of SimplifyCFG into a helper fn | Chris Lattner | 2005-09-23 | 1 | -112/+112 |
| | | | | | llvm-svn: 23407 | ||||
| * | Start threading across blocks with code in them, so long as the code does | Chris Lattner | 2005-09-20 | 1 | -15/+64 |
| | | | | | | | | | | not define a value that is used outside of it's block. This catches many more simplifications, e.g. 854 in 176.gcc, 137 in vpr, etc. This implements branch-phi-thread.ll:test3.ll llvm-svn: 23397 | ||||
| * | Implement merging of blocks with the same condition if the block has multiple | Chris Lattner | 2005-09-20 | 1 | -21/+59 |
| | | | | | | | predecessors. This implements branch-phi-thread.ll::test1 llvm-svn: 23395 | ||||
| * | Reject a case we don't handle yet | Chris Lattner | 2005-09-19 | 1 | -1/+3 |
| | | | | | llvm-svn: 23393 | ||||
| * | remove debugging code :-/ | Chris Lattner | 2005-09-19 | 1 | -2/+0 |
| | | | | | llvm-svn: 23392 | ||||
| * | Implement SimplifyCFG/branch-phi-thread.ll, the most trivial case of threading | Chris Lattner | 2005-09-19 | 1 | -0/+73 |
| | | | | | | | | control across branches with determined outcomes. More generality to follow. This triggers a couple thousand times in specint. llvm-svn: 23391 | ||||
| * | Teach SplitCriticalEdge to update LoopInfo if it is alive. This fixes | Chris Lattner | 2005-08-13 | 1 | -0/+31 |
| | | | | | | | | a problem in LoopStrengthReduction, where it would split critical edges then confused itself with outdated loop information. llvm-svn: 22776 | ||||
| * | Change break critical edges to not remove, then insert, PHI node entries. | Chris Lattner | 2005-08-12 | 1 | -2/+2 |
| | | | | | | | | Instead, just update the BB in-place. This is both faster, and it prevents split-critical-edges from shuffling the PHI argument list unneccesarily. llvm-svn: 22765 | ||||
| * | This code can handle non-dominating instructions | Chris Lattner | 2005-08-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 22667 | ||||
| * | Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization into | Nate Begeman | 2005-08-04 | 2 | -36/+1 |
| | | | | | | | | | BasicBlock's removePredecessor routine. This requires shuffling around the definition and implementation of hasContantValue from Utils.h,cpp into Instructions.h,cpp llvm-svn: 22664 | ||||
| * | Fix Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll, a problem that | Chris Lattner | 2005-08-03 | 1 | -2/+3 |
| | | | | | | | occurred while bugpointing another testcase llvm-svn: 22621 | ||||
| * | Finally, add the required constraint checks to fix ↵ | Chris Lattner | 2005-08-03 | 1 | -2/+29 |
| | | | | | | | | | Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll the right way llvm-svn: 22615 | ||||
| * | Simplify some code, add the correct pred checks | Chris Lattner | 2005-08-03 | 1 | -16/+25 |
| | | | | | llvm-svn: 22613 | ||||
| * | Refactor code out of PropagatePredecessorsForPHIs, turning it into a pure ↵ | Chris Lattner | 2005-08-03 | 1 | -37/+36 |
| | | | | | | | function with no side-effects llvm-svn: 22612 | ||||
| * | use splice instead of remove/insert to avoid some symtab operations | Chris Lattner | 2005-08-03 | 1 | -2/+2 |
| | | | | | llvm-svn: 22611 | ||||
| * | move two functions up in the file, use SafeToMergeTerminators to eliminate | Chris Lattner | 2005-08-03 | 1 | -61/+45 |
| | | | | | | | some duplicated code llvm-svn: 22610 | ||||

