llvm-6502/lib/Transforms/Scalar
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.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
BasicBlockPlacement.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
CMakeLists.txt Introduce a new SROA implementation. 2012-09-14 09:22:59 +00:00
CodeGenPrepare.cpp Revert EVT->MVT changes, r169836-169851, due to buildbot failures. 2012-12-11 11:14:33 +00:00
ConstantProp.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
CorrelatedValuePropagation.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
DCE.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
DeadStoreElimination.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
EarlyCSE.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
GlobalMerge.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
GVN.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
IndVarSimplify.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
JumpThreading.cpp Teach the jump threading optimization to stop scanning the basic block when calculating the cost after passing the threshold. 2012-12-03 17:34:44 +00:00
LICM.cpp Add 'using' declarations to suppress -Woverloaded-virtual warnings. 2012-12-04 05:41:27 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
LoopDeletion.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
LoopIdiomRecognize.cpp - Re-enable population count loop idiom recognization 2012-12-09 03:12:46 +00:00
LoopInstSimplify.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
LoopRotation.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
LoopStrengthReduce.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
LoopUnrollPass.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
LoopUnswitch.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
LowerAtomic.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
Makefile
MemCpyOptimizer.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
ObjCARC.cpp s/AttrListPtr/AttributeSet/g to better label what this class is going to be in the near future. 2012-12-07 23:16:57 +00:00
Reassociate.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
Reg2Mem.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
Scalar.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
ScalarReplAggregates.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
SCCP.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
SimplifyCFGPass.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
SimplifyLibCalls.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
Sink.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
SROA.cpp Fix the first part of PR14478: memset now works. 2012-12-17 04:07:37 +00:00
TailRecursionElimination.cpp Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00