llvm-6502/test/Transforms
Chandler Carruth 17c84ea594 Fix the first part of PR14478: memset now works.
PR14478 highlights a serious problem in SROA that simply wasn't being
exercised due to a lack of vector input code mixed with C-library
function calls. Part of SROA was written carefully to handle subvector
accesses via memset and memcpy, but the rewriter never grew support for
this. Fixing it required refactoring the subvector access code in other
parts of SROA so it could be shared, and then fixing the splat formation
logic and using subvector insertion (this patch).

The PR isn't quite fixed yet, as memcpy is still broken in the same way.
I'm starting on that series of patches now.

Hopefully this will be enough to bring the bullet benchmark back to life
with the bb-vectorizer enabled, but that may require fixing memcpy as
well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170301 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17 04:07:37 +00:00
..
ADCE
ArgumentPromotion
BBVectorize BBVectorize: Correctly merge SubclassOptionalData 2012-11-28 03:04:10 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware. 2012-11-08 20:34:25 +00:00
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
EarlyCSE
FunctionAttrs
GlobalDCE
GlobalOpt Revert previous check in r168581, r169079 as they are still in code review status. 2012-12-01 10:54:28 +00:00
GVN unHECKify test. It was fixed by Chris in 2009. 2012-12-12 20:43:00 +00:00
IndVarSimplify Follow up to 168711: It's safe to base this analysis on the found compare, just return the value for the right predicate. 2012-11-29 19:07:57 +00:00
Inline Take into account minimize size attribute in the inliner. 2012-12-13 01:05:25 +00:00
InstCombine Add back FoldOpIntoPhi optimizations with fix. Included test cases to help catch these errors and to test the presence of the optimization itself 2012-12-14 22:08:26 +00:00
InstSimplify Added a slew of SimplifyInstruction floating-point optimizations, many of which take advantage of fast-math flags. Test cases included. 2012-12-12 00:27:46 +00:00
Internalize Change the internalize pass to internalize all symbols when given an empty 2012-10-26 18:47:48 +00:00
IPConstantProp
JumpThreading Add a test case for PR14233. 2012-11-01 10:26:36 +00:00
LCSSA
LICM Set %defaultjit to use MCJIT for PowerPC targets. 2012-10-30 18:07:58 +00:00
LoopDeletion
LoopIdiom - Re-enable population count loop idiom recognization 2012-12-09 03:12:46 +00:00
LoopRotate
LoopSimplify
LoopStrengthReduce
LoopUnroll getSmallConstantTripMultiple should never return zero. 2012-10-24 19:46:44 +00:00
LoopUnswitch
LoopVectorize Teach the cost model about the optimization in r169904: Truncation of induction variables costs the same as scalar trunc. 2012-12-13 00:21:03 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
MetaRenamer
ObjCARC
PhaseOrdering
PruneEH
Reassociate Fix PR14060, an infinite loop in reassociate. The problem was that one of the 2012-11-18 19:27:01 +00:00
ScalarRepl
SCCP llvm/ConstantFolding.cpp: Make ReadDataFromGlobal() and FoldReinterpretLoadFromConstPtr() Big-endian-aware. 2012-11-08 20:34:25 +00:00
SimplifyCFG Fix logic to determine whether to turn a switch into a lookup table. When 2012-11-30 02:02:42 +00:00
SimplifyLibCalls instcombine: Migrate puts optimizations 2012-11-29 19:15:17 +00:00
Sink
SROA Fix the first part of PR14478: memset now works. 2012-12-17 04:07:37 +00:00
StripSymbols
TailCallElim Revert r166407 because it caused analyzer tests to crash and broke self-host bots. 2012-10-22 18:16:14 +00:00
TailDup