| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | use autogenerated side-effect information | Chris Lattner | 2006-03-09 | 1 | -27/+5 |
| | | | | | llvm-svn: 26673 | ||||
| * | Fix Transforms/SimplifyCFG/2006-02-17-InfiniteUnroll.ll | Chris Lattner | 2006-02-18 | 1 | -2/+8 |
| | | | | | llvm-svn: 26275 | ||||
| * | Canonicalize inner loops before outer loops. Inner loop canonicalization | Chris Lattner | 2006-02-14 | 1 | -4/+5 |
| | | | | | | | | | can provide work for the outer loop to canonicalize. This fixes a case that breaks unswitching. llvm-svn: 26189 | ||||
| * | When splitting exit edges to canonicalize loops, make sure to put the new | Chris Lattner | 2006-02-14 | 1 | -18/+20 |
| | | | | | | | | | block in the appropriate loop nest. Third time is the charm, right? llvm-svn: 26187 | ||||
| * | Revert my last patch. It too breaks stuff | Chris Lattner | 2006-02-12 | 1 | -12/+6 |
| | | | | | llvm-svn: 26128 | ||||
| * | Fix for my previously reverted patch | Chris Lattner | 2006-02-11 | 1 | -6/+12 |
| | | | | | llvm-svn: 26126 | ||||
| * | revert my previous change, it exposed other problems. | Chris Lattner | 2006-02-11 | 1 | -1/+1 |
| | | | | | llvm-svn: 26121 | ||||
| * | Make this check stricter. Disallow loop exit blocks from being shared by | Chris Lattner | 2006-02-11 | 1 | -4/+7 |
| | | | | | | | loops and their subloops. llvm-svn: 26118 | ||||
| * | remove dead expr | Chris Lattner | 2006-02-11 | 1 | -1/+0 |
| | | | | | llvm-svn: 26116 | ||||
| * | teach the cloner to handle inline asms | Chris Lattner | 2006-01-26 | 1 | -9/+1 |
| | | | | | llvm-svn: 25633 | ||||
| * | rename method | Chris Lattner | 2006-01-24 | 1 | -1/+1 |
| | | | | | llvm-svn: 25572 | ||||
| * | When cloning a module, clone the inline asm. | Chris Lattner | 2006-01-23 | 1 | -0/+1 |
| | | | | | llvm-svn: 25559 | ||||
| * | 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 | ||||

