1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 02:33:06 +01:00
llvm-mirror/test/Transforms
Philip Reames 72d2352801 [AlignFromAssume] Bailout w/non-constant alignments (pr51680)
This is a bailout for pr51680.  This pass appears to assume that the alignment operand to an align tag on an assume bundle is constant.  This doesn't appear to be required anywhere, and clang happily generates non-constant alignments for cases such as this case taken from the bug report:

// clang -cc1 -triple powerpc64-- -S -O1 opal_pci-min.c
extern int a[];
long *b;
long c;
void *d(long, int *, int, long, long, long) __attribute__((__alloc_align__(6)));
void e() {
  b = d(c, a, 0, 0, 5, c);
  b[0] = 0;
}

This was exposed by a SCEV change which allowed a non-constant alignment to reach further into the pass' code.  We could generalize the pass, but for now, let's fix the crash.

(cherry picked from commit 9b45fd909ffa754acbb4e927bc2d55c7ab0d4e3f)
2021-09-01 17:36:37 -07:00
..
ADCE Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
AddDiscriminators Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
AggressiveInstCombine
AlignmentFromAssumptions [AlignFromAssume] Bailout w/non-constant alignments (pr51680) 2021-09-01 17:36:37 -07:00
ArgumentPromotion [test] Properly match parameter/argument ABI attributes 2021-05-31 09:12:18 -07:00
AtomicExpand [PowerPC] Add lit.local.cfg in AtomicExpand tests 2021-07-20 09:13:50 +00:00
Attributor [Attributor][FIX] Guard constant casts with type size checks 2021-08-16 11:36:30 -07:00
BDCE
BlockExtractor
BranchFolding
CalledValuePropagation
CallSiteSplitting
CanonicalizeAliases
CanonicalizeFreezeInLoops
CodeExtractor
CodeGenPrepare Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
ConstantHoisting [ARM] Set the immediate cost of GEP operands to 0 2021-06-30 19:19:03 +01:00
ConstantMerge [ConstantMerge] Don't merge thread_local constants with non-thread_local constants 2021-04-28 23:44:20 +01:00
ConstraintElimination [ConstraintElimination] Only strip casts preserving the representation. 2021-03-26 20:07:41 +00:00
Coroutines [Coroutine] Record the elided coroutines 2021-07-27 13:14:09 +08:00
CorrelatedValuePropagation [CVP] Guard against poison in common phi value transform (PR50399) 2021-05-25 20:47:17 +02:00
CrossDSOCFI
DCE
DeadArgElim [Attributes] Remove nonnull from UB-implying attributes 2021-07-25 18:07:31 +02:00
DeadStoreElimination Revert "[DSE] Transform memset + malloc --> calloc (PR25892)" 2021-07-23 11:51:59 +02:00
DFAJumpThreading Add jump-threading optimization for deterministic finite automata 2021-07-27 14:34:04 -04:00
DivRemPairs [DivRemPairs] make sure we have a valid CFG for hoisting division 2021-08-02 13:52:37 -07:00
EarlyCSE [FPEnv] EarlyCSE support for constrained intrinsics, default FP environment edition 2021-05-20 14:40:51 -04:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp
FixIrreducible
Float2Int
ForcedFunctionAttrs
FunctionAttrs [LLVM IR] Allow volatile stores to trap. 2021-07-26 10:51:00 -07:00
FunctionImport Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
FunctionSpecialization [FuncSpec] Add an option to specializing literal constant 2021-06-30 11:26:44 +08:00
GCOVProfiling [GCOVProfiling][test] Ensure that 'opt' drops any files in a temp directory 2021-06-20 22:48:35 +02:00
GlobalDCE
GlobalMerge
GlobalOpt This patch extends the OptimizeGlobalAddressOfMalloc to handle the null check of global pointer variables. It is disabled with https://reviews.llvm.org/rGb7cd291c1542aee12c9e9fde6c411314a163a8ea. This PR is to reenable it while fixing the original problem reported. The fix is to set the store value correctly when creating store for the new created global init bool symbol. 2021-07-20 12:27:26 -04:00
GlobalSplit [test] Fix mix of variable use/def and regex match 2021-03-24 17:58:16 +00:00
GuardWidening
GVN [tests] Stablize tests for possible change in deref semantics 2021-07-14 13:05:43 -07:00
GVNHoist Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
GVNSink [GVNSink] auto-generate test checks; NFC 2021-04-02 13:16:35 -04:00
HardwareLoops [test, HardwareLoops] Fix use of var defined in CHECK-NOT 2021-03-30 15:06:32 +01:00
HelloNew
HotColdSplit
IndirectBrExpand
IndVarSimplify [IndVars] Don't widen pointers in WidenIV::getWideRecurrence 2021-07-11 17:04:50 -07:00
InferAddressSpaces [infer-address-spaces] Handle complex non-pointer constexpr arguments. 2021-07-19 12:15:52 -07:00
InferFunctionAttrs Reapply [IR] Don't mark mustprogress as type attribute 2021-07-09 20:57:44 +02:00
Inline [Inliner] Make the CallPenalty configurable 2021-07-26 12:07:49 +01:00
InstCombine [InstCombine] avoid infinite loops from min/max canonicalization 2021-08-16 11:35:38 -07:00
InstMerge
InstNamer
InstSimplify [InstSimplify] fold min/max with limit constant 2021-08-16 11:35:29 -07:00
InterleavedAccess [InterleaveAccess] Copy fast math flags when adjusting binary operators in interleave access pass 2021-06-17 09:53:33 +01:00
Internalize [IR] Rename comdat noduplicates to comdat nodeduplicate 2021-07-20 12:47:10 -07:00
IRCE [SCEV] By more careful when traversing phis in isImpliedViaMerge. 2021-05-07 19:52:29 +01:00
IROutliner [IROutliner] Adding DebugInfo handling for IR Outlined Functions 2021-06-15 10:57:08 -05:00
JumpThreading [tests] Stablize tests for possible change in deref semantics 2021-07-14 13:05:43 -07:00
LCSSA
LICM Strip undef implying attributes when moving calls 2021-07-27 10:57:05 -04:00
LoadStoreVectorizer [LoadStoreVectorizer] Support opaque pointers 2021-06-27 15:42:16 +02:00
LoopBoundSplit [LoopBoundSplit] Ignore phi node which is not scevable 2021-06-09 09:44:36 +01:00
LoopDataPrefetch
LoopDeletion [IR] Consider non-willreturn as side effect (PR50511) 2021-07-26 16:35:14 +02:00
LoopDistribute [SCEVExpander] ReuseOrCreateCast(): use IRBuilder to actually create the cast 2021-04-19 18:38:39 +03:00
LoopFlatten [LoopFlatten] Use SCEV and Loop APIs to identify increment and trip count 2021-07-27 08:42:59 +01:00
LoopFusion [llvm] Unbreak no-asserts testing after 18839be9c5c8b9f882dd241769784035b082d4e1 2021-04-27 05:46:43 -04:00
LoopIdiom [LoopIdiom] Don't transform loop into memmove when load from body has more than one use 2021-08-25 16:19:10 +02:00
LoopInstSimplify
LoopInterchange [LoopInterchange] Check lcssa phis in the inner latch in scenarios of multi-level nested loops 2021-07-16 11:59:20 -04:00
LoopLoadElim [IndVars] Provide eliminateIVComparison with context 2021-03-19 12:28:22 +07:00
LoopPredication [NFCI] SCEVExpander: emit intrinsics for integral {u,s}{min,max} SCEV expressions 2021-03-06 21:52:46 +03:00
LoopReroll [SCEV] Fix unsound reasoning in howManyLessThans 2021-07-15 10:32:47 -07:00
LoopRotate Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
LoopSimplify [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
LoopSimplifyCFG
LoopStrengthReduce [DebugInfo][LSR] Avoid crashes on large integer inputs 2021-08-05 10:38:19 +01:00
LoopTransformWarning
LoopUnroll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
LoopUnrollAndJam [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass 2021-06-08 20:30:02 +09:00
LoopUnswitch Explicitly enable the new pass manager in this test. 2021-03-25 18:10:36 -07:00
LoopVectorize [LoopVectorize] Improve vectorisation of some intrinsics by treating them as uniform 2021-08-16 11:32:41 -07:00
LoopVersioning [LoopUtils] Fix incorrect RT check bounds of loop-invariant mem accesses 2021-07-19 19:38:24 +08:00
LoopVersioningLICM [LoopUtils] Fix incorrect RT check bounds of loop-invariant mem accesses 2021-07-19 19:38:24 +08:00
LowerAtomic
LowerConstantIntrinsics [LowerConstantIntrinsics] reuse isManifestLogic from ConstantFolding 2021-05-14 15:35:21 -07:00
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [Matrix] Fix shape for factored transpose 2021-07-27 11:36:13 -07:00
LowerSwitch
LowerTypeTests [ConstantFold] Get rid of special cases for sizeof etc. 2021-08-04 21:25:15 -07:00
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg [Mem2Reg] Regenerate test checks (NFC) 2021-06-21 11:06:28 +02:00
MemCpyOpt [tests] Stablize tests for possible change in deref semantics 2021-07-14 13:05:43 -07:00
MergeFunc
MergeICmps [MergeICmps] Relax sinking check 2021-07-23 22:16:11 +02:00
MetaRenamer
NameAnonGlobals
NaryReassociate [NARY] Don't optimize min/max if there are side uses (part2) 2021-04-30 19:02:02 +07:00
NewGVN Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
ObjCARC [ObjCARC] Use objc_msgSend instead of llvm.objc.msgSend in tests 2021-07-15 22:21:22 +02:00
OpenMP [Attributor] Change function internalization to not replace uses in internalized callers 2021-08-04 16:35:01 -07:00
PartialInlining
PartiallyInlineLibCalls [PartiallyInlineLibCalls] Disable sqrt expansion for strictfp. 2021-06-17 14:15:12 -07:00
PGOProfile [SimplifyCFG] Don't speculatively execute BB[s] if they are predictably not taken 2021-07-26 02:55:15 +03:00
PhaseOrdering [SimplifyCFG] SwitchToLookupTable(): don't increase ret count 2021-07-26 23:29:55 +03:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
Reassociate Partial Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-06-24 09:46:38 +01:00
Reg2Mem
RelLookupTableConverter/X86 [Passes] Add relative lookup table converter pass 2021-04-13 01:29:41 +00:00
RewriteStatepointsForGC [RS4GC] Use one DVCache for both inlineGetBaseAndOffset() and insertParsePoints() 2021-07-12 18:13:00 +07:00
SafeStack [SafeStack] Use proper API to get stack guard 2021-05-30 00:52:48 -07:00
SampleProfile [CSSPGO] Tweak ICP threshold in top-down inliner 2021-07-26 21:49:20 -07:00
ScalarizeMaskedMemIntrin
Scalarizer Update @llvm.powi to handle different int sizes for the exponent 2021-06-17 09:38:28 +02:00
SCCP [IR] Consider non-willreturn as side effect (PR50511) 2021-07-26 16:35:14 +02:00
SeparateConstOffsetFromGEP [test] Make global in split-gep-and-gvn.ll not constant 2021-04-19 11:03:19 -07:00
SimpleLoopUnswitch [SimpleLoopUnswitch] Don't non-trivially unswitch loops with catchswitch exits 2021-07-14 14:07:28 -07:00
SimplifyCFG Strip undef implying attributes when moving calls 2021-07-27 10:57:05 -04:00
Sink
SLPVectorizer [SLP]Fix costs calculations. 2021-07-26 07:14:03 -07:00
SpeculativeExecution
SROA [SROA] prevent crash on large memset length (PR50910) 2021-08-04 16:51:23 -07:00
StraightLineStrengthReduce Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
StripDeadPrototypes
StripSymbols [DebugInfo] Support for signed constants inside DIExpression 2021-03-30 23:20:38 +05:30
StructurizeCFG Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
SyntheticCountsPropagation
TailCallElim [Tests] Add missing willreturn attributes (NFC) 2021-07-24 17:17:48 +02:00
ThinLTOBitcodeWriter ThinLTO: Fix inline assembly references to static functions with CFI 2021-08-24 18:49:13 -07:00
TypePromotion/ARM
UnifyFunctionExitNodes
UnifyLoopExits
Util [PredicateInfo] Use Intrinsic::getDeclaration now that it handles unnamed types. 2021-08-04 16:51:33 -07:00
VectorCombine [NFC][VectorCombine] Load widening: add a few more negative tests 2021-07-21 15:21:37 +03:00
WholeProgramDevirt [OpaquePtr] Support forward references in textual IR 2021-06-29 20:10:31 +02:00