llvm-6502/test/Transforms
Chandler Carruth 9156c5e3ba Teach the load analysis to allow finding available values which require
inttoptr or ptrtoint cast provided there is datalayout available.
Eventually, the datalayout can just be required but in practice it will
always be there today.

To go with the ability to expose available values requiring a ptrtoint
or inttoptr cast, helpers are added to perform one of these three casts.

These smarts are necessary to finish canonicalizing loads and stores to
the operational type requirements without regressing fundamental
combines.

I've added some test cases. These should actually improve as the load
combining and store combining improves, but they may fundamentally be
highlighting some missing combines for select in addition to exercising
the specific added logic to load analysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220277 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-21 09:00:40 +00:00
..
ADCE
AddDiscriminators Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
AlignmentFromAssumptions
ArgumentPromotion Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
AtomicExpand/ARM
BBVectorize
BranchFolding Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
CodeExtractor
CodeGenPrepare
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim DebugInfo+DeadArgElimination: Ensure llvm::Function*s from debug info are updated even when DAE removes both varargs and non-varargs arguments on the same function. 2014-10-07 15:10:23 +00:00
DeadStoreElimination [DSE] Remove no-data-layout-only type-based overlap checking 2014-10-17 11:56:00 +00:00
DebugIR Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
EarlyCSE
FunctionAttrs
GCOVProfiling Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
GlobalDCE GlobalDCE: Don't drop any COMDAT members 2014-10-07 07:07:19 +00:00
GlobalOpt GlobalOpt: Don't drop unused memberes of a Comdat 2014-10-08 07:23:31 +00:00
GVN
IndVarSimplify Revert "r219834 - Teach ScalarEvolution to sharpen range information" 2014-10-15 23:46:04 +00:00
Inline Revert "TRE: make TRE a bit more aggressive" 2014-10-17 21:25:48 +00:00
InstCombine Teach the load analysis to allow finding available values which require 2014-10-21 09:00:40 +00:00
InstMerge
InstSimplify Introduce a 'nonnull' metadata on Load instructions. 2014-10-20 22:40:55 +00:00
Internalize
IPConstantProp
JumpThreading Fix a somewhat subtle pair of issues with JumpThreading I introduced in 2014-10-20 05:34:36 +00:00
LCSSA
LICM Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
LoadCombine
LoopDeletion
LoopIdiom Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
LoopReroll
LoopRotate Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
LoopSimplify
LoopStrengthReduce Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
LoopUnroll This patch de-pessimizes the calculation of loop trip counts in 2014-10-10 17:39:11 +00:00
LoopUnswitch
LoopVectorize [LoopVectorize] Ignore @llvm.assume for cost estimates and legality 2014-10-14 22:59:49 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
MemCpyOpt Allow call-slop optzn for destinations with a suitable dereferenceable attribute 2014-10-16 19:43:08 +00:00
MergeFunc
MetaRenamer
ObjCARC Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
PartiallyInlineLibCalls
PhaseOrdering
PruneEH
Reassociate [Reassociate] Don't canonicalize X - undef to X + (-undef). 2014-10-09 20:06:29 +00:00
Reg2Mem
SampleProfile Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
Scalarizer Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
ScalarRepl Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
SCCP
SeparateConstOffsetFromGEP/NVPTX
SimplifyCFG Switch to select optimization for two-case switches 2014-10-14 01:58:26 +00:00
Sink
SLPVectorizer [SLPVectorize] Basic ephemeral-value awareness 2014-10-15 17:35:01 +00:00
SROA [SROA] Change how SROA does vector-based promotion of allocas to handle 2014-10-18 00:44:02 +00:00
StripSymbols Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
StructurizeCFG
TailCallElim Fix a long-standing miscompile in the load analysis that was uncovered 2014-10-19 08:17:50 +00:00
TailDup
Util