hanchenye-llvm-project/llvm/test/Transforms
Mehdi Amini 2668a487a7 Update InstCombine to transform aggregate loads into scalar loads.
Summary:
One step further getting aggregate loads and store being optimized
properly. This will only handle struct with one element at this point.

Test Plan: Added unit tests for the new supported cases.

Reviewers: chandlerc, joker-eph, joker.eph, majnemer

Reviewed By: majnemer

Subscribers: pete, llvm-commits

Differential Revision: http://reviews.llvm.org/D8339

Patch by Amaury Sechet.

From: Amaury Sechet <amaury@fb.com>
llvm-svn: 236695
2015-05-07 05:52:40 +00:00
..
ADCE
AddDiscriminators IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
AlignmentFromAssumptions
ArgumentPromotion IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
AtomicExpand/ARM
BBVectorize [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
BDCE
BranchFolding
CodeExtractor
CodeGenPrepare [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
ConstProp Constfold insertelement to undef when index is out-of-bounds 2015-04-27 09:30:49 +00:00
ConstantHoisting [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
ConstantMerge [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
CorrelatedValuePropagation
DeadArgElim IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DeadStoreElimination IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
EarlyCSE
Float2Int Reapply r233175 and r233183: float2int. 2015-03-27 10:36:57 +00:00
FunctionAttrs [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
GCOVProfiling IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
GVN Update BasicAliasAnalysis to understand that nothing aliases with undef values. 2015-05-05 18:10:49 +00:00
GlobalDCE [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
GlobalOpt IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
IPConstantProp Skip extra LLVM IR assemble/disassemble steps in some tests 2015-04-24 18:06:09 +00:00
IRCE [IRCE] Fix a regression introduced in r232444. 2015-03-24 19:29:18 +00:00
IndVarSimplify [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Inline [Inliner] Discard empty COMDAT groups 2015-05-05 20:14:22 +00:00
InstCombine Update InstCombine to transform aggregate loads into scalar loads. 2015-05-07 05:52:40 +00:00
InstMerge [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
InstSimplify [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Internalize
JumpThreading [JumpThreading] Simplify comparisons when simplifying branches 2015-05-07 00:19:14 +00:00
LCSSA [opaque pointer type] Add textual IR support for explicit type parameter to the invoke instruction 2015-04-24 19:32:54 +00:00
LICM IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
LoadCombine
LoopDeletion
LoopIdiom IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
LoopInterchange Add support to interchange loops with reductions. 2015-04-23 04:51:44 +00:00
LoopReroll
LoopRotate IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
LoopSimplify Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
LoopStrengthReduce IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
LoopUnroll [LoopUnrollRuntime] Avoid high-cost trip count computation. 2015-04-14 03:20:38 +00:00
LoopUnswitch [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
LoopVectorize [X86] Disable loop unrolling in loop vectorization pass when VF is 1. 2015-05-06 17:12:25 +00:00
LowerAtomic
LowerBitSets LowerBitSets: Avoid reusing byte set addresses. 2015-03-19 22:02:10 +00:00
LowerExpectIntrinsic [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
LowerInvoke Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
LowerSwitch
Mem2Reg IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
MemCpyOpt [MemCpyOpt] Use the raw i8* dest when optimizing memset+memcpy. 2015-04-21 21:28:33 +00:00
MergeFunc [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
MetaRenamer
NaryReassociate Resurrect r235688 2015-04-24 04:22:39 +00:00
ObjCARC IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
PartiallyInlineLibCalls
PhaseOrdering [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
PlaceSafepoints [IRBuilder] Add a CreateGCStatepointInvoke. 2015-05-06 23:53:09 +00:00
PruneEH
Reassociate [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Reg2Mem
RewriteStatepointsForGC [RewriteStatepointsForGC] Exclude constant values from being considered live at a safepoint 2015-04-26 19:48:03 +00:00
SCCP [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
SLPVectorizer Let llc and opt override "-target-cpu" and "-target-features" via command line 2015-05-06 23:54:14 +00:00
SROA [ConstantFold] Don't fold ppc_fp128 <-> int bitcasts 2015-03-28 16:44:57 +00:00
SampleProfile Allow 0-weight branches in BranchProbabilityInfo. 2015-05-06 17:55:11 +00:00
ScalarRepl IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
Scalarizer IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
SeparateConstOffsetFromGEP/NVPTX [SeparateConstOffsetFromGEP] garbage-collect intermediate instructions 2015-04-21 19:53:18 +00:00
SimplifyCFG IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
Sink
StraightLineStrengthReduce [NVPTX] run SeparateConstOffsetFromGEP before SLSR 2015-04-23 20:00:04 +00:00
StripSymbols IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
StructurizeCFG
TailCallElim
TailDup [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Util [SwitchLowering] Remove incoming values in the reverse order 2015-03-17 18:03:10 +00:00