summaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar
AgeCommit message (Expand)AuthorFilesLines
2012-10-03Try to use a better set of abstractions for computing the alignmentChandler Carruth1-16/+28
2012-10-03Switch the SetVector::remove_if implementation to use partition whichChandler Carruth1-1/+3
2012-10-02Teach the new SROA to handle cases where an alloca that has already beenChandler Carruth1-0/+4
2012-10-02Fix another crasher in SROA, reported by Joel.Chandler Carruth1-9/+32
2012-10-02Fix a silly coding error on my part. The whole point of the speculatorChandler Carruth1-16/+28
2012-10-01Make this plural. Spotted by Duncan in review (and a very old typo, thisChandler Carruth1-1/+1
2012-10-01Prune some unnecessary includes.Chandler Carruth1-4/+0
2012-10-01Fix several issues with alignment. We weren't always accounting for typeChandler Carruth1-31/+32
2012-10-01Factor the PHI and select speculation into a separate rewriter. ThisChandler Carruth1-263/+294
2012-10-01Refactor the PartitionUse structure to actually use the Use* instead ofChandler Carruth1-85/+79
2012-09-29Fix a somewhat surprising miscompile where code relying on an ABIChandler Carruth1-3/+13
2012-09-28Do not delete BBs if their addresses are taken. rdar://12396696Evan Cheng1-2/+3
2012-09-28CorrelatedPropagation: BasicBlock::removePredecessor can simplify PHI nodes. ...Benjamin Kramer1-0/+5
2012-09-26Remove the `hasFnAttr' method from Function.Bill Wendling3-3/+3
2012-09-26Analogous fix to memset and memcpy rewriting. Don't have a test caseChandler Carruth1-0/+16
2012-09-26When rewriting the pointer operand to a load or store which hasChandler Carruth1-0/+6
2012-09-26Teach all of the loads, stores, memsets and memcpys created by theChandler Carruth1-32/+49
2012-09-26Revert the business end of r164636 and try again. I'll come in again. ;]Chandler Carruth1-8/+8
2012-09-25Don't drop the alignment on a memcpy intrinsic when producing a store. This isNick Lewycky1-2/+3
2012-09-25Revert the business end of r164634, and replace it with a different fix. TheNick Lewycky1-7/+4
2012-09-25Don't try to promote the same alloca twice. Fixes PR13916!Nick Lewycky1-0/+6
2012-09-25Fix a case where SROA did not correctly detect dead PHI or selects dueChandler Carruth1-5/+10
2012-09-25Fix a crash in SROA. This was reported independently by Takumi andChandler Carruth1-12/+7
2012-09-25Don't forget that strcpy and friends return a pointer to the destination, soNick Lewycky1-2/+2
2012-09-24Remove unused name of variable to quiet a warning. Also canonicalize aNick Lewycky1-3/+3
2012-09-24Teach DSE that strcpy, strncpy, strcat and strncat are all stores which may beNick Lewycky1-32/+71
2012-09-24Move all the calls to AA.getTargetLibraryInfo() to using a TLI member variable.Nick Lewycky1-12/+11
2012-09-24Address one of the original FIXMEs for the new SROA pass by implementingChandler Carruth1-1/+118
2012-09-23Switch to a signed representation for the dynamic offsets while walkingChandler Carruth1-26/+75
2012-09-21Fix a case where the new SROA pass failed to zap dead operands toChandler Carruth1-0/+4
2012-09-21LoopIdiom: Give up when the loop is not in canonical form.Benjamin Kramer1-0/+5
2012-09-19CodeGenPrep: turn lookup tables into switches for some targets.Hans Wennborg1-4/+114
2012-09-18Fix the last crasher I've gotten a reproduction for in SROA. This oneChandler Carruth1-0/+2
2012-09-18LSR critical edge splitting fix for PR13756.Andrew Trick1-11/+15
2012-09-18Fix getCommonType in a different way from the way I fixed it whenChandler Carruth1-1/+1
2012-09-18Fix build for compilers that don't understand injected class names properly.Benjamin Kramer1-2/+2
2012-09-18SROA: Use CRTP for OpSplitter to get rid of virtual dispatch and the virtual-...Benjamin Kramer1-8/+7
2012-09-18SROA: Replace the member function template contraption for recursively splitt...Benjamin Kramer1-97/+105
2012-09-18SROA.cpp: Appease msvc.NAKAMURA Takumi1-1/+1
2012-09-18Fix a warning in release builds and a test case I forgot to update withChandler Carruth1-0/+1
2012-09-18Add a major missing piece to the new SROA pass: aggressive splitting ofChandler Carruth1-7/+220
2012-09-18Mark unimplemented copy constructors and copy assignment operators as LLVM_DE...Craig Topper1-3/+2
2012-09-17NewSROA: Provide a full set of operator< for ByteRanges.Benjamin Kramer1-2/+7
2012-09-16Refactor the SROA visitors for partitioning an alloca and buildingChandler Carruth1-24/+29
2012-09-15Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.Craig Topper1-2/+4
2012-09-15Port the SSAUpdater-based promotion logic from the old SROA pass to theChandler Carruth1-12/+162
2012-09-14Stylistic and 80-col fixesEvan Cheng1-7/+3
2012-09-14Fix Doxygen issues:Dmitri Gribenko1-4/+4
2012-09-14SROA: Silence unused variable warnings in Release builds.Benjamin Kramer1-1/+8
2012-09-14Rework the computation of a sub-structure natural type. There wereChandler Carruth1-10/+20