llvm-capstone/llvm/test/Transforms
Shoaib Meenai 12aaa8553f [InstCombine] Remove attributes after hoisting free above null check
If the parameter had been annotated as nonnull because of the null
check, we want to remove the attribute, since it may no longer apply and
could result in miscompiles if left. Similarly, we also want to remove
undef-implying attributes, since they may not apply anymore either.

Fixes PR52110.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D111515

(cherry picked from commit 6404f4b5af)
2022-01-07 15:16:51 -08: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 [LazyCallGraph] Skip blockaddresses 2021-12-20 10:20:54 -08: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
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 [DSE] Fix invalid removal of store instruction 2022-01-06 21:41:09 -08: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
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
HardwareLoops
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] Remove attributes after hoisting free above null check 2022-01-07 15:16:51 -08:00
InstMerge
InstNamer
InstSimplify [IR] Handle constant expressions in containsUndefinedElement() 2021-09-10 09:04:21 -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 18839be9c5 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
LoopPredication
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 [SimplifyCFG] performBranchToCommonDestFolding(): require block-closed SSA form for bonus instructions (PR51125) 2021-09-10 09:02:26 -07:00
LoopUnrollAndJam [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass 2021-06-08 20:30:02 +09:00
LoopUnswitch
LoopVectorize [VPlan] Fix crash caused by not updating all users properly. 2021-09-13 20:56:27 -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 [MemCpyOpt] Fix a variety of scalable-type crashes 2021-09-09 16:21:27 -07:00
MergeFunc
MergeICmps [MergeICmps] Don't merge icmps derived from pointers with addressspaces 2021-11-09 20:58:52 -08: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] performBranchToCommonDestFolding(): require block-closed SSA form for bonus instructions (PR51125) 2021-09-10 09:02:26 -07: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] Fix relative lookup table converter pass 2021-12-17 08:49:43 -08: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 Inform pass manager when child loops are deleted 2021-09-09 09:04:59 -07:00
SimplifyCFG [SimplifyCFG] performBranchToCommonDestFolding(): require block-closed SSA form for bonus instructions (PR51125) 2021-09-10 09:02:26 -07:00
Sink
SLPVectorizer Bad SLPVectorization shufflevector replacement, resulting in write to wrong memory location 2021-11-10 09:50:50 -08: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
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