1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Transforms
Florian Hahn c5d367254d [Matrix] Use alignment info when lowering loads/stores.
This patch updates LowerMatrixIntrinsics to preserve the alignment
specified at the original load/stores and the align attribute for the
pointer argument of the column.major.load/store intrinsics.

We can always use the specified alignment for the load of the first
column. For subsequent columns, the alignment may need to be reduced.

For ConstantInt strides, compute the offset for the start of the column in
bytes and use commonAlignment to get the largest valid alignment.

For non-ConstantInt strides, we need to take the common alignment of the
initial alignment and the element size in bytes.

Reviewers: anemet, Gerolf, hfinkel, andrew.w.kaylor, LuoYuanke, rjmccall

Reviewed By: rjmccall

Differential Revision: https://reviews.llvm.org/D81960
2020-06-18 13:19:31 +01:00
..
ADCE [ADCE] Fix incorrect reporting of CFG changes 2020-04-14 20:26:13 +07:00
AddDiscriminators
AggressiveInstCombine
AlignmentFromAssumptions
ArgumentPromotion AllocaInst should store Align instead of MaybeAlign. 2020-05-16 14:53:16 -07:00
AtomicExpand Handle part-word LL/SC in atomic expansion pass 2020-04-28 10:07:39 -05:00
Attributor Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
BDCE
BlockExtractor
BranchFolding
CalledValuePropagation
CallSiteSplitting BreakCriticalEdges for callbr indirect dests 2020-06-17 11:45:06 -07:00
CanonicalizeAliases
CanonicalizeFreezeInLoops [TargetPassConfig] Add CanonicalizeFreezeInLoops before LSR 2020-05-28 05:21:12 +09:00
CodeExtractor [CodeExtractor] Fix extraction of a value used only by intrinsics outside of region 2020-04-25 11:44:47 +03:00
CodeGenPrepare [CGP] Reset the debug location when promoting zext(s). 2020-06-17 11:13:13 -07:00
ConstantHoisting
ConstantMerge
ConstProp
Coroutines CoroSplit: Fix coroutine splitting for retcon and retcon.once 2020-06-03 12:10:58 -07:00
CorrelatedValuePropagation StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
CrossDSOCFI
DCE Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
DeadArgElim Preserve DbgLoc when DeadArgumentElimination rewrites a 'ret'. 2020-05-29 10:00:33 -07:00
DeadStoreElimination [DSE,MSSA] Port partial store merging. 2020-06-15 18:41:46 +01:00
DivRemPairs [ValueTracking] Fix crash in isGuaranteedNotToBeUndefOrPoison when V is in an unreachable block 2020-05-13 10:16:47 +09:00
EarlyCSE [Tests] Migrate a number of tests to gc-live bundle representation 2020-06-05 16:44:04 -07:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp
FixIrreducible FixIrreducible: don't crash when moving a child loop 2020-04-22 07:47:30 +05:30
Float2Int
ForcedFunctionAttrs
FunctionAttrs Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
FunctionImport
GCOVProfiling [gcov][test] Add mkdir -p %t && cd %t 2020-06-09 11:09:50 -07:00
GlobalDCE
GlobalMerge
GlobalOpt Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
GlobalSplit
GuardWidening
GVN [MemDep] Also remove load instructions from NonLocalDesCache. 2020-06-17 09:36:53 +01:00
GVNHoist
GVNSink
HardwareLoops [HardwareLoops] llvm.loop.decrement.reg definition 2020-05-21 10:48:16 +01:00
HotColdSplit
IndirectBrExpand
IndVarSimplify [IndVarSimplify][LoopUtils] Avoid TOCTOU/ordering issues (PR45835) 2020-05-21 13:05:55 +03:00
InferAddressSpaces AMDGPU: Handle rewriting ptrmask for more address spaces 2020-05-28 14:35:15 -04:00
InferFunctionAttrs
Inline Revert "[InlineCost] InlineCostAnnotationWriterPass introduced" 2020-06-17 14:02:34 +00:00
InstCombine [Test] Add more tests showing missing opportunities in Select instcombine 2020-06-18 12:32:55 +07:00
InstMerge
InstNamer [InstNamer] use 'i' for Instructions, not 'tmp' 2020-06-01 11:11:14 -04:00
InstSimplify Revert "[AssumeBundles] add cannonicalisation to the assume builder" 2020-06-16 14:34:55 +02:00
InterleavedAccess [Alignment] Fix misaligned interleaved loads 2020-05-27 12:12:22 +00:00
Internalize
IPConstantProp [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
IRCE Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
JumpThreading Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
LCSSA
LICM Revert "[AssumeBundles] add cannonicalisation to the assume builder" 2020-06-16 14:34:55 +02:00
LoadStoreVectorizer LoadStoreVectorizer: Match nested adds to prove vectorization is safe 2020-05-18 12:13:01 -07:00
LoopDataPrefetch
LoopDeletion
LoopDistribute
LoopFusion [LoopFusion] Update second loop guard non loop successor phis incoming 2020-06-09 21:14:51 +00:00
LoopIdiom StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
LoopInstSimplify
LoopInterchange [llvm] Fix yet more missing FileCheck colons 2020-04-13 10:49:19 -06:00
LoopLoadElim [LoopLoadElim] Fix crash by always checking simplify form 2020-04-10 09:23:28 +07:00
LoopPredication
LoopReroll [LoopReroll] Fix rerolling loop with use outside the loop 2020-05-13 13:03:03 +09:00
LoopRotate
LoopSimplify [LoopSimplify] don't separate nested loops with convergent calls 2020-05-19 09:22:39 +05:30
LoopSimplifyCFG
LoopStrengthReduce [NFC] Move test vscale-factor-out-constant.ll to AArch64 sub-directory. 2020-06-04 12:55:28 -07:00
LoopTransformWarning
LoopUnroll [LoopUnroll] Allow loops with multiple exiting blocks where loop latch 2020-06-14 18:44:18 +00:00
LoopUnrollAndJam [UnJ] Update LI for inner nested loops 2020-05-27 14:36:38 +01:00
LoopUnswitch
LoopVectorize Recommit "[LV] Emit @llvm.get.active.lane.mask for tail-folded loops" 2020-06-17 13:12:15 +01:00
LoopVersioning [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [Matrix] Use alignment info when lowering loads/stores. 2020-06-18 13:19:31 +01:00
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
MergeFunc Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
MergeICmps
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN Revert "[AssumeBundles] add cannonicalisation to the assume builder" 2020-06-16 14:34:55 +02:00
ObjCARC
OpenMP [OpenMPOpt] initial tests for ICV tracking. Only nthreads is used. 2020-06-16 11:29:42 +02:00
PartiallyInlineLibCalls
PGOProfile Revert "[IR] Clean up dead instructions after simplifying a conditional branch" 2020-06-16 10:32:15 +01:00
PhaseOrdering [InstCombine] reassociate FP diff of sums into sum of diffs 2020-06-14 09:09:03 -04:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate [Reassociate] Teach ConvertShiftToMul to preserve nsw flag if the shift amount is not bitwidth - 1. 2020-06-04 14:51:34 -07:00
Reg2Mem
RewriteStatepointsForGC [Statepoint] Switch RS4GC to using gc-live bundle form 2020-06-04 15:49:11 -07:00
SafeStack [Instruction] Set metadata uses to undef on deletion 2020-05-21 15:58:12 -07:00
SampleProfile [gcov] Delete XFAIL: host-byteorder-big-endian 2020-06-03 19:58:28 -07:00
ScalarizeMaskedMemIntrin/X86
Scalarizer [Scalarizer] Fix a non-deterministic scatter order problem 2020-04-20 16:05:33 +02:00
SCCP [SCCP] Add a few more additional sext tests (NFC). 2020-06-17 13:39:36 +01:00
SeparateConstOffsetFromGEP Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
SimpleLoopUnswitch [SimpleLoopUnswitch] Drop uses of instructions before block deletion 2020-05-27 18:25:18 +07:00
SimplifyCFG [IR] Don't copy profile metadata in createCallMatchingInvoke() 2020-06-17 11:18:23 +02:00
Sink
SLPVectorizer [x86] form reduction intrinsics from vectorizers instead of raw IR 2020-06-05 12:38:49 -04:00
SpeculateAroundPHIs [NFC] Update tests 2020-05-05 15:28:40 +01:00
SpeculativeExecution
SROA Fixed assertion in SROA if block has ho successors 2020-06-11 15:15:19 -07:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG [StructurizeCFG] Fix region nodes ordering 2020-06-01 12:50:35 +03:00
SyntheticCountsPropagation
TailCallElim [TRE] Allow accumulator elimination when base case returns non-constant 2020-06-04 10:34:42 -07:00
ThinLTOBitcodeWriter
TypePromotion/ARM
UnifyLoopExits
UniqueInternalLinkageNames New pass to make internal linkage symbol names unique. 2020-04-20 15:05:22 -07:00
Util Revert "[AssumeBundles] add cannonicalisation to the assume builder" 2020-06-16 14:34:55 +02:00
VectorCombine/X86 [VectorCombine] scalarize compares with insertelement operand(s) 2020-06-16 13:48:10 -04:00
WholeProgramDevirt [WPD] Avoid noalias assumptions in unique return value optimization 2020-04-16 14:49:51 -07:00