llvm-project/llvm/unittests/Analysis
Mircea Trofin 22a1f998f7 FunctionPropertiesAnalysis: handle callsite BBs that lose edges
There could be successors that were reached before but now are only
reachable from elsewhere in the CFG.

Suppose the following diamond CFG (lines are arrows pointing down):
    A
  /   \
 B     C
  \   /
    D
There's a call site in C that is inlined. Upon doing that, it turns out
it expands to:
   call void @llvm.trap()
   unreachable
D isn't reachable from C anymore, but we did discount it when we set up
FunctionPropertiesUpdater, so we need to re-include it here.

The patch also updates loop accounting to use LoopInfo rather than
traverse BBs.

Differential Revision: https://reviews.llvm.org/D127353
2022-06-14 15:19:44 -07: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 [BasicAA] Fix order in which we pass MemoryLocations to alias() 2022-05-10 12:05:38 -07:00
BlockFrequencyInfoTest.cpp
BranchProbabilityInfoTest.cpp
CFGTest.cpp
CGSCCPassManagerTest.cpp [NFC] Add #include for constants 2022-02-23 01:26:53 -08:00
CMakeLists.txt [mlgo] Support exposing more features than those supported by models 2022-05-09 18:01:21 -07:00
CallGraphTest.cpp
CaptureTrackingTest.cpp
ConstraintSystemTest.cpp
DDGTest.cpp
DivergenceAnalysisTest.cpp
DomTreeUpdaterTest.cpp
FunctionPropertiesAnalysisTest.cpp FunctionPropertiesAnalysis: handle callsite BBs that lose edges 2022-06-14 15:19:44 -07:00
GlobalsModRefTest.cpp
IRSimilarityIdentifierTest.cpp [IRSim] Remove early check from similarity matching such that commutative instructions are checked correctly when using the same value. 2022-05-09 22:59:09 -05:00
IVDescriptorsTest.cpp Fix incorrect TypeSize->uint64_t cast in InductionDescriptor::isInductionPHI 2022-02-10 09:39:12 +00:00
InlineCostTest.cpp Cleanup includes: LLVMAnalysis 2022-03-01 18:01:54 +01:00
LazyCallGraphTest.cpp [LazyCallGraph] Skip blockaddresses 2021-11-01 13:10:24 -07:00
LoadsTest.cpp [NFC] Add #include for constants 2022-02-23 01:26:53 -08:00
LoopInfoTest.cpp Cleanup includes: LLVMAnalysis 2022-03-01 18:01:54 +01:00
LoopNestTest.cpp [LoopNest] Add new utilites 2022-01-13 17:19:19 -05:00
MLModelRunnerTest.cpp Fix implicit double -> float truncation warnings. NFCI. 2022-05-13 19:07:00 +01: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] Don't optimize uses during construction 2022-03-18 09:56:16 +01:00
PhiValuesTest.cpp [NFC] Add #include for constants 2022-02-23 01:26:53 -08:00
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] Support exposing more features than those supported by models 2022-05-09 18:01:21 -07:00
TargetLibraryInfoTest.cpp [TLI] Add memset_pattern4, memset_pattern8 lib functions. 2021-12-01 21:18:19 +00:00
TensorSpecTest.cpp [mlgo] Factor out TensorSpec 2022-04-25 18:35:46 -07:00
UnrollAnalyzerTest.cpp
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