| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Use the getFirstInsertionPt() method instead of getFirstNonPHI + an 'isa<>' | Bill Wendling | 2011-08-16 | 1 | -2/+1 |
| | | | | | | | check for a LandingPadInst. llvm-svn: 137745 | ||||
| * | A few places where we want to skip the landingpad instruction for insertion. | Bill Wendling | 2011-08-16 | 1 | -0/+1 |
| | | | | | llvm-svn: 137712 | ||||
| * | Update instcombine for atomic load/store. | Eli Friedman | 2011-08-15 | 1 | -29/+32 |
| | | | | | llvm-svn: 137664 | ||||
| * | Convert GetElementPtrInst to use ArrayRef. | Jay Foad | 2011-07-25 | 1 | -2/+1 |
| | | | | | llvm-svn: 135904 | ||||
| * | Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use | Jay Foad | 2011-07-22 | 1 | -2/+1 |
| | | | | | | | ArrayRef. llvm-svn: 135761 | ||||
| * | Fix an MSVC warning, caused by a case I missed when converting | Jay Foad | 2011-07-22 | 1 | -1/+1 |
| | | | | | | | ConstantExpr::getGetElementPtr to use ArrayRef. llvm-svn: 135758 | ||||
| * | land David Blaikie's patch to de-constify Type, with a few tweaks. | Chris Lattner | 2011-07-18 | 1 | -14/+14 |
| | | | | | llvm-svn: 135375 | ||||
| * | Final step of instcombine debuginfo; switch a couple more places over to ↵ | Eli Friedman | 2011-05-27 | 1 | -4/+6 |
| | | | | | | | InsertNewInstWith, and use setDebugLoc for the cases which can't be easily handled by the automated mechanisms. llvm-svn: 132167 | ||||
| * | More instcombine cleanup, towards improving debug line info. | Eli Friedman | 2011-05-18 | 1 | -3/+5 |
| | | | | | llvm-svn: 131604 | ||||
| * | Remove PHINode::reserveOperandSpace(). Instead, add a parameter to | Jay Foad | 2011-03-30 | 1 | -2/+1 |
| | | | | | | | PHINode::Create() giving the (known or expected) number of operands. llvm-svn: 128537 | ||||
| * | This case is solved by Scalar Replacement of Aggregates (DT) and | Jin-Gu Kang | 2011-03-14 | 1 | -25/+3 |
| | | | | | | | Early CSE pass so this patch reverts it to original source code. llvm-svn: 127574 | ||||
| * | Add comment as following: | Jin-Gu Kang | 2011-03-13 | 1 | -0/+12 |
| | | | | | | | | | | | | | | | | | | load and store reference same memory location, the memory location is represented by getelementptr with two uses (load and store) and the getelementptr's base is alloca with single use. At this point, instructions from alloca to store can be removed. (this pattern is generated when bitfield is accessed.) For example, %u = alloca %struct.test, align 4 ; [#uses=1] %0 = getelementptr inbounds %struct.test* %u, i32 0, i32 0;[#uses=2] %1 = load i8* %0, align 4 ; [#uses=1] %2 = and i8 %1, -16 ; [#uses=1] %3 = or i8 %2, 5 ; [#uses=1] store i8 %3, i8* %0, align 4 llvm-svn: 127565 | ||||
| * | This patch removes some of useless instructions generated by bitfield access. | Jin-Gu Kang | 2011-03-12 | 1 | -3/+13 |
| | | | | | llvm-svn: 127539 | ||||
| * | llvm.dbg.declare intrinsic does not use any llvm::Values. It's magic! | Devang Patel | 2011-03-08 | 1 | -30/+0 |
| | | | | | llvm-svn: 127282 | ||||
| * | Spelling fix: consequtive -> consecutive. | Duncan Sands | 2011-02-15 | 1 | -1/+1 |
| | | | | | llvm-svn: 125563 | ||||
| * | Move getOrEnforceKnownAlignment out of instcombine into Transforms/Utils. | Chris Lattner | 2010-12-25 | 1 | -2/+3 |
| | | | | | llvm-svn: 122554 | ||||
| * | Fix a case where instcombine was stripping metadata (and alignment) | Dan Gohman | 2010-10-25 | 1 | -1/+3 |
| | | | | | | | from stores when folding in bitcasts. llvm-svn: 117265 | ||||
| * | Remove r111665, which implemented store-narrowing in InstCombine. Chris ↵ | Owen Anderson | 2010-08-31 | 1 | -47/+0 |
| | | | | | | | | | discovered a miscompilation in it, and it's not easily fixable at the optimizer level. I'll investigate reimplementing it in DAGCombine. llvm-svn: 112575 | ||||
| * | Re-apply r111568 with a fix for the clang self-host. | Owen Anderson | 2010-08-20 | 1 | -0/+47 |
| | | | | | llvm-svn: 111665 | ||||
| * | Revert r111568 to unbreak clang self-host. | Owen Anderson | 2010-08-19 | 1 | -45/+0 |
| | | | | | llvm-svn: 111571 | ||||
| * | When a set of bitmask operations, typically from a bitfield initialization, ↵ | Owen Anderson | 2010-08-19 | 1 | -0/+45 |
| | | | | | | | | | only modifies the low bytes of a value, we can narrow the store to only over-write the affected bytes. llvm-svn: 111568 | ||||
| * | Make instcombine set explicit alignments on load or store | Dan Gohman | 2010-08-03 | 1 | -6/+14 |
| | | | | | | | | instructions with alignment 0, so that subsequent passes don't need to bother checking the TargetData ABI size manually. llvm-svn: 110128 | ||||
| * | mass elimination of reliance on automatic iterator dereferencing | Gabor Greif | 2010-07-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 109103 | ||||
| * | cache result of operator* | Gabor Greif | 2010-07-12 | 1 | -6/+9 |
| | | | | | llvm-svn: 108150 | ||||
| * | do not repeatedly dereference use_iterator | Gabor Greif | 2010-07-09 | 1 | -3/+4 |
| | | | | | llvm-svn: 107962 | ||||
| * | Move FindAvailableLoadedValue isSafeToLoadUnconditionally out of | Dan Gohman | 2010-05-28 | 1 | -0/+1 |
| | | | | | | | | lib/Transforms/Utils and into lib/Analysis so that Analysis passes can use them. llvm-svn: 104949 | ||||
| * | Teach instcombine to promote alloca array sizes. | Dan Gohman | 2010-05-28 | 1 | -0/+12 |
| | | | | | llvm-svn: 104945 | ||||
| * | There are two ways of checking for a given type, for example isa<PointerType>(T) | Duncan Sands | 2010-02-16 | 1 | -14/+14 |
| | | | | | | | | and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344 | ||||
| * | Uniformize the names of type predicates: rather than having isFloatTy and | Duncan Sands | 2010-02-15 | 1 | -5/+5 |
| | | | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223 | ||||
| * | Check alignment of loads when deciding whether it is safe to execute them | Bob Wilson | 2010-01-30 | 1 | -6/+7 |
| | | | | | | | | unconditionally. Besides checking the offset, also check that the underlying object is aligned as much as the load itself. llvm-svn: 94875 | ||||
| * | Use more specific types to avoid casts. No functionality change. | Bob Wilson | 2010-01-30 | 1 | -6/+6 |
| | | | | | llvm-svn: 94863 | ||||
| * | Preserve load alignment in instcombine transformations. I've been unable to | Bob Wilson | 2010-01-29 | 1 | -0/+3 |
| | | | | | | | | | | | create a testcase where this matters. The select+load transformation only occurs when isSafeToLoadUnconditionally is true, and in those situations, instcombine also changes the underlying objects to be aligned. This seems like a good idea regardless, and I've verified that it doesn't pessimize the subsequent realignment. llvm-svn: 94850 | ||||
| * | Improve isSafeToLoadUnconditionally to recognize that GEPs with constant | Bob Wilson | 2010-01-29 | 1 | -2/+2 |
| | | | | | | | | indices are safe if the result is known to be within the bounds of the underlying object. llvm-svn: 94829 | ||||
| * | Keep ignoring pointer-to-pointer bitcasts | Victor Hernandez | 2010-01-22 | 1 | -4/+8 |
| | | | | | llvm-svn: 94194 | ||||
| * | No need to look through bitcasts for DbgInfoIntrinsic | Victor Hernandez | 2010-01-21 | 1 | -13/+6 |
| | | | | | llvm-svn: 94112 | ||||
| * | Fix comment. | Eric Christopher | 2010-01-19 | 1 | -1/+1 |
| | | | | | llvm-svn: 93831 | ||||
| * | split out load/store/alloca. | Chris Lattner | 2010-01-05 | 1 | -0/+613 |
| llvm-svn: 92685 | |||||

