llvm-project/llvm/unittests/Analysis
Chuanqi Xu a2609be0b2 [ValueTracking] Checking haveNoCommonBitsSet for (x & y) and ~(x | y)
This one tries to fix:
https://github.com/llvm/llvm-project/issues/53357.

Simply, this one would check (x & y) and ~(x | y) in
haveNoCommonBitsSet. Since they shouldn't have common bits (we could
traverse the case by enumerating), and we could convert this one to (x &
y) | ~(x | y) . Then the compiler could handle it in
InstCombineAndOrXor.
Further more, since ((x & y) + (~x & ~y)) would be converted to ((x & y)
+ ~(x | y)), this patch would fix it too.

https://alive2.llvm.org/ce/z/qsKzRS

Reviewed By: spatel, xbolva00, RKSimon, lebedev.ri

Differential Revision: https://reviews.llvm.org/D118094
2022-02-16 13:42:52 +08:00
..
Inputs/ir2native_x86_64_model
AliasAnalysisTest.cpp [AA] Correctly maintain the sign of PartiaAlias offset 2021-12-17 15:45:26 +00:00
AliasSetTrackerTest.cpp
AssumeBundleQueriesTest.cpp [llvm] Remove uses of `std::vector<bool>` 2022-01-18 18:20:45 +01:00
BasicAliasAnalysisTest.cpp [AA] Move earliest escape tracking from DSE to AA 2021-09-25 22:40:41 +02:00
BlockFrequencyInfoTest.cpp
BranchProbabilityInfoTest.cpp
CFGTest.cpp
CGSCCPassManagerTest.cpp Revert "[NPM] Do not run function simplification pipeline unnecessarily" 2021-05-21 16:38:02 -07:00
CMakeLists.txt [NFC][mlgo] Generalize model runner interface 2021-12-08 20:10:58 -08:00
CallGraphTest.cpp
CaptureTrackingTest.cpp
ConstraintSystemTest.cpp
DDGTest.cpp
DivergenceAnalysisTest.cpp
DomTreeUpdaterTest.cpp
FunctionPropertiesAnalysisTest.cpp
GlobalsModRefTest.cpp
IRSimilarityIdentifierTest.cpp [IRSim] Make sure that commutative intrinsics are treated as function calls without commutativity 2022-02-02 13:24:56 -06:00
IVDescriptorsTest.cpp Fix incorrect TypeSize->uint64_t cast in InductionDescriptor::isInductionPHI 2022-02-10 09:39:12 +00:00
InlineCostTest.cpp Unpack the CostEstimate feature in ML inlining models. 2021-07-02 16:57:16 +00:00
LazyCallGraphTest.cpp [LazyCallGraph] Skip blockaddresses 2021-11-01 13:10:24 -07:00
LoadsTest.cpp Fix incorrect GEP bitwidth in areNonOverlapSameBaseLoadAndStore() 2021-09-28 17:57:36 +01:00
LoopInfoTest.cpp [LoopInfo] Fix function getInductionVariable 2021-11-11 16:22:42 +08:00
LoopNestTest.cpp [LoopNest] Add new utilites 2022-01-13 17:19:19 -05:00
MLModelRunnerTest.cpp [NFC][mlgo] Generalize model runner interface 2021-12-08 20:10:58 -08:00
MemoryBuiltinsTest.cpp [MemoryBuiltins] Demote isMallocLikeFn to implementation routine since last use has been removed 2022-01-18 15:24:52 -08:00
MemorySSATest.cpp [MemorySSA] Support invariant.group metadata 2021-09-08 13:06:12 -07:00
PhiValuesTest.cpp
ProfileSummaryInfoTest.cpp
ScalarEvolutionTest.cpp [SCEV] Make SCEVUnionPredicate externally immutable [NFC] 2022-02-09 13:47:28 -08:00
SparsePropagation.cpp
TBAATest.cpp
TFUtilsTest.cpp [MLGO] Add support for multiple training traces per module 2022-01-11 16:13:31 -08:00
TargetLibraryInfoTest.cpp [TLI] Add memset_pattern4, memset_pattern8 lib functions. 2021-12-01 21:18:19 +00:00
UnrollAnalyzerTest.cpp [unroll] Use value domain for symbolic execution based cost model 2021-05-26 08:41:25 -07:00
ValueLatticeTest.cpp
ValueTrackingTest.cpp [ValueTracking] Checking haveNoCommonBitsSet for (x & y) and ~(x | y) 2022-02-16 13:42:52 +08:00
VectorFunctionABITest.cpp [NFC] Change VFShape so it contains an ElementCount rather than seperate VF and IsScalable properties. 2021-07-26 12:25:46 +01:00
VectorUtilsTest.cpp [llvm] Update report_fatal_error calls from raw_string_ostream to use Twine(OS.str()) 2021-10-05 18:42:12 +01:00