llvm-project/llvm/test/Transforms
Mehrnoosh Heidarpour 0ff20f2f44 [InstSimplify] Fold logic AND to zero
Adding following fold opportunity:
((A | B) ^ A) & ((A | B) ^ B) --> 0

Reviewed By: spatel, rampitec

Differential Revision: https://reviews.llvm.org/D115755
2021-12-23 10:06:26 -05:00
..
ADCE [test] Update some test cases to use -passes when specifying the pipeline 2021-09-29 21:51:08 +02:00
AddDiscriminators [test] Update some test cases to use -passes when specifying the pipeline 2021-09-29 21:51:08 +02:00
AggressiveInstCombine [test] Update some test cases to use -passes when specifying the pipeline 2021-09-29 21:51:08 +02:00
AlignmentFromAssumptions [test] Update some test cases to use -passes when specifying the pipeline 2021-09-29 21:51:08 +02:00
ArgumentPromotion [test] Update some test cases to use -passes when specifying the pipeline 2021-09-29 21:51:08 +02:00
AtomicExpand
Attributor [Attributor] Introduce AAAssumptionInfo to propagate assumptions 2021-11-09 17:39:18 -05:00
BDCE [test] Update some test cases to use -passes when specifying the pipeline 2021-09-29 21:51:08 +02:00
BlockExtractor
BranchFolding
CallSiteSplitting
CalledValuePropagation [test] Update some test cases to use -passes when specifying the pipeline 2021-09-29 21:51:08 +02:00
CanonicalizeAliases
CanonicalizeFreezeInLoops [AArch64] Make -mcpu=generic schedule for an in-order core 2021-10-09 15:58:31 +01:00
CodeExtractor [CodeExtractor] Preserve topological order for the return blocks. 2021-08-25 08:09:01 -07:00
CodeGenPrepare [X86] isVectorShiftByScalarCheap - vXi8 select(shift(x,splat0),shift(x,splat1)) is better than shift(x,select(splat0,splat1)) 2021-12-23 14:30:02 +00:00
ConstantHoisting
ConstantMerge [test] Use -passes syntax when specifying pipeline in some more tests 2021-11-27 09:52:55 +01:00
ConstraintElimination [test] Use -passes syntax when specifying pipeline in some more tests 2021-11-27 09:52:55 +01:00
Coroutines [C++20] [Coroutines] Mark coroutine done if unhandled_exception throws 2021-12-09 14:58:06 +08:00
CorrelatedValuePropagation [CVP] Remove ashr of -1 or 0 2021-11-29 15:32:09 -08:00
CrossDSOCFI
DCE [test] Update some test cases to use -passes when specifying the pipeline 2021-09-29 21:51:08 +02:00
DFAJumpThreading
DeadArgElim [NFC][llvm] Inclusive language: reword uses of sanity test and check 2021-11-25 07:21:42 -05:00
DeadStoreElimination [DSE] Add test for matrix store (NFC) 2021-12-23 09:44:01 +01:00
DivRemPairs
EarlyCSE [EarlyCSE] Retain poison flags, if program is UB if poison. 2021-12-11 15:11:44 +00:00
EliminateAvailableExternally
EntryExitInstrumenter [NewPM] Use parameterized syntax for a couple of more passes 2021-08-20 14:59:21 +02:00
ExpandMemCmp
FixIrreducible
Float2Int [NewPM][test] Strickly use -passes in some more lit tests 2021-10-20 17:06:47 +02:00
ForcedFunctionAttrs
FunctionAttrs [funcattrs] Use callsite param attributes from indirect calls when inferring access attributes 2021-12-22 18:21:59 -08:00
FunctionImport [NFC][llvm] Inclusive language: reword uses of sanity test and check 2021-11-25 07:21:42 -05:00
FunctionSpecialization [FuncSpec] Rename internal option. NFC. 2021-12-21 11:02:01 +00:00
GCOVProfiling
GVN [Test] [GVN] Add test showing equivalent PHIs generation by GVN 2021-12-09 16:40:23 +07:00
GVNHoist PR46874: Reset stack after visiting a node 2021-08-20 11:25:05 -07:00
GVNSink
GlobalDCE [test] Use -passes syntax when specifying pipeline in some more tests 2021-11-27 09:52:55 +01:00
GlobalMerge
GlobalOpt [ConstantFold][GlobalOpt] Don't create x86_mmx null value 2021-12-21 09:11:41 +01:00
GlobalSplit
GuardWidening [test] Remove -loop-guard-widening legacy PM tests 2021-09-05 11:36:21 -07:00
HardwareLoops [ARM] Update test comments after D114018. NFC 2021-11-16 22:48:45 +00:00
HelloNew
HotColdSplit [CodeExtractor] Preserve topological order for the return blocks. 2021-08-25 08:09:01 -07:00
IRCE [SCEVExpander] Drop poison generating flags when reusing instructions 2021-11-29 15:23:34 -08:00
IROutliner [IROutliner] Adding supports for multiple exits 2021-09-08 08:58:07 -07:00
IndVarSimplify [Test] Add test showing missing opportunity in IndVar's handling of lshr 2021-12-22 15:08:22 +07:00
IndirectBrExpand
InferAddressSpaces [InferAddressSpaces] Support assumed addrspaces from addrspace predicates. 2021-11-08 16:51:57 -05:00
InferFunctionAttrs Verify inferattrs doesn't infer unexpected attributes 2021-12-10 07:54:35 -08:00
Inline [NFC][mlgo]Make the test model generator inlining-specific 2021-12-22 13:38:45 -08:00
InstCombine Add test coverage for D109917 and variants 2021-12-22 19:38:40 -08:00
InstMerge Reland "[LICM] Hoist LOAD without sinking the STORE" 2021-12-02 03:53:50 -08:00
InstNamer
InstSimplify [InstSimplify] Fold logic AND to zero 2021-12-23 10:06:26 -05:00
InterleavedAccess [AArch64][SVE] Add FP types to the supported SVE structure load/stores vector type list 2021-11-08 22:29:08 +08:00
Internalize
JumpThreading Use a deterministic order when updating the DominatorTree 2021-11-29 13:14:50 +01:00
LCSSA
LICM [NFC][LICM] Update the comment in the scalar-promote.ll 2021-12-06 03:00:39 -08:00
LoadStoreVectorizer [LSV] Change the default value of InstertElement to poison 2021-10-03 17:57:34 +09:00
LoopBoundSplit [LoopBoundSplit] Handle the case in which exiting block is loop header 2021-10-08 09:13:41 +01:00
LoopDataPrefetch [LoopDataPrefetch] Add missed LoopSimplify dependence for prefetch pass 2021-08-26 21:01:59 +08:00
LoopDeletion [LoopDeletion] Support selects when symbolically evaluating 1st iteration 2021-10-09 14:47:44 +07:00
LoopDistribute Revert rest of `IRBuilderBase`'s short-circuiting folds 2021-10-28 02:15:14 +03:00
LoopFlatten [LoopFlatten] Bail if we can't perform flattening after IV widening 2021-09-29 19:53:34 +01:00
LoopFusion
LoopIdiom [LoopIdiom] Let LIR fold memset pointer / stride SCEV regarding loop guards 2021-12-13 09:36:58 -08:00
LoopInstSimplify
LoopInterchange
LoopLoadElim
LoopPredication [SCEVExpander] Drop poison generating flags when reusing instructions 2021-11-29 15:23:34 -08:00
LoopReroll
LoopRotate [InferAddressSpaces] Support assumed addrspaces from addrspace predicates. 2021-11-08 16:51:57 -05:00
LoopSimplify [test] Fixup tests with -analyze in llvm/test/Transforms 2021-09-04 16:45:51 -07:00
LoopSimplifyCFG
LoopStrengthReduce [ARM] Use v2i1 for MVE and CDE intrinsics 2021-12-03 15:27:58 +00:00
LoopTransformWarning
LoopUnroll [PowerPC] Do not increase cost for getUserCost with MMA types 2021-12-21 13:36:08 -06:00
LoopUnrollAndJam [LoopUnroll] Disable loop unroll when user explicitly asks for unroll-and-jam 2021-12-15 15:58:05 +00:00
LoopUnswitch [Test] Regenerate checks using auto-update script 2021-10-28 15:13:43 +07:00
LoopVectorize [RISCV] Disable interleaving scalar loops in the loop vectorizer. 2021-12-23 08:37:24 -06:00
LoopVersioning Revert rest of `IRBuilderBase`'s short-circuiting folds 2021-10-28 02:15:14 +03:00
LoopVersioningLICM [opt] Directly translate -O# to -passes='default<O#>' 2021-10-18 16:48:10 -07:00
LowerAtomic
LowerConstantIntrinsics [LowerConstantIntrinsics] Fix heap-use-after-free bug in worklist 2021-09-21 11:33:07 +02:00
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [Tests] Fix incorrect noalias metadata 2021-09-18 20:51:00 +02:00
LowerSwitch
LowerTypeTests [llvm][IR] Add no_cfi constant 2021-12-20 12:55:32 -08:00
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg [NFC][llvm] Inclusive language: reword uses of sanity test and check 2021-11-25 07:21:42 -05:00
MemCpyOpt [MemCpyOpt] Add additional call slot capture tests (NFC) 2021-12-13 10:57:06 +01:00
MergeFunc [opt] Directly translate -O# to -passes='default<O#>' 2021-10-18 16:48:10 -07:00
MergeICmps [MergeICmps] Don't reorder unmerged comparisons 2021-09-21 21:22:12 +02:00
MetaRenamer [MetaRenamer] Add command line options to disable renaming name with specified prefixes 2021-12-09 18:45:06 +07:00
NameAnonGlobals
NaryReassociate [NARY-REASSOCIATE] Fix infinite recursion optimizing min\max 2021-10-20 14:23:03 +07:00
NewGVN [NewGVN] Use PredicateInfo info when previously used for the same ssa.copy intrinsic 2021-12-13 16:49:24 -08:00
ObjCARC [ObjC][ARC] Handle operand bundle "clang.arc.attachedcall" on targets 2021-11-08 18:38:39 -08:00
OpenMP [OpenMP][FIX] Invalidate the SPMDCompatibilityTracker explicitly 2021-12-06 12:31:57 -05:00
PGOProfile [PowerPC] Prevent the optimizer from producing wide vector types in IR. 2021-11-25 12:35:26 -06:00
PartialInlining
PartiallyInlineLibCalls
PhaseOrdering [Support] improve known bits analysis for leading zeros of multiply 2021-12-20 09:10:50 -05:00
PlaceSafepoints
PreISelIntrinsicLowering [ObjC][ARC] Replace uses of ObjC intrinsics that are arguments of 2021-11-08 21:19:07 -08:00
PruneEH
Reassociate
Reg2Mem [test] Update some test cases to use -passes when specifying the pipeline 2021-09-29 21:51:08 +02:00
RelLookupTableConverter/X86 [Passes] Fix relative lookup table converter pass 2021-12-12 04:40:17 +00:00
RewriteStatepointsForGC [LLVM] Inclusive terms: remove/replace references to sanity in RewriteStatepointsForGC.cpp and test 2021-10-25 16:17:41 -04:00
SCCP [test] Use -passes syntax when specifying pipeline in some more tests 2021-11-27 09:52:55 +01:00
SLPVectorizer [SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy == FinalVecTy. 2021-12-20 07:21:20 -08:00
SROA Run update_test_checks.py on test cases. 2021-12-03 00:25:14 +00:00
SafeStack
SampleProfile [CSSPGO] Use nested context-sensitive profile. 2021-12-14 14:40:25 -08:00
ScalarizeMaskedMemIntrin
Scalarizer [Scalarizer] Do not insert instructions between PHI nodes and debug intrinsics. 2021-11-02 09:53:59 -04:00
SeparateConstOffsetFromGEP SeparateConstOffsetFromGEP: Fix stack overflow in unreachable code 2021-09-14 19:49:38 -04:00
SimpleLoopUnswitch [SimpleLoopUnswitch] Re-fix introduction of UB when hoisted condition may be undef or poison 2021-10-12 01:02:09 +09:00
SimplifyCFG [Test] Regenerate checks using auto-update script 2021-10-28 15:13:43 +07:00
Sink
SpeculativeExecution [NewPM][test] Use -passes syntax in SpeculativeExecution lit tests 2021-10-20 15:16:17 +02:00
StraightLineStrengthReduce
StripDeadPrototypes [NewPM][test] Strickly use -passes in some more lit tests 2021-10-20 17:06:47 +02:00
StripSymbols [NewPM][test] Strickly use -passes in some more lit tests 2021-10-20 17:06:47 +02:00
StructurizeCFG
SyntheticCountsPropagation
TailCallElim [test] Use -passes syntax when specifying pipeline in some more tests 2021-11-27 09:52:55 +01:00
ThinLTOBitcodeWriter [ThinLTO][MC] Use conditional assignments for promotion aliases 2021-12-10 12:21:37 -08:00
TypePromotion/ARM [TypePromotion] Extend TypePromotion::isSafeWrap 2021-11-14 11:18:31 +00:00
UnifyFunctionExitNodes
UnifyLoopExits
Util [NewPM] Port FlattenCFGPass to NPM 2021-12-09 07:55:02 +00:00
VectorCombine [VectorCombine] fold shuffle-of-binops with common operand 2021-10-21 12:37:54 -04:00
WholeProgramDevirt [LTO][WPD] Ignore unreachable function by analyzing IR. 2021-12-21 18:13:03 +00:00