[rbi] Add the ability to test in SIL RegionAnalysisValueMap::getTrackableValue().

I also added some basic tests of its functionality. I am doing this in
preparation for making some more invasive changes to getTrackableValue and I
want to be able to test it out very specifically in SIL.

(cherry picked from commit 8f458cd029)
This commit is contained in:
Michael Gottesman
2025-04-01 09:50:54 -07:00
parent 3c6c436c42
commit 3fe578611f
2 changed files with 520 additions and 0 deletions

View File

@@ -3887,3 +3887,24 @@ void RegionAnalysis::initialize(SILPassManager *pm) {
SILAnalysis *swift::createRegionAnalysis(SILModule *) {
return new RegionAnalysis();
}
//===----------------------------------------------------------------------===//
// MARK: Tests
//===----------------------------------------------------------------------===//
namespace swift::test {
// Arguments:
// - SILValue: value to look up isolation for.
// Dumps:
// - The inferred isolation.
static FunctionTest
UnderlyingTrackedValue("sil_regionanalysis_underlying_tracked_value",
[](auto &function, auto &arguments, auto &test) {
RegionAnalysisValueMap valueMap(&function);
auto value = arguments.takeValue();
auto trackableValue = valueMap.getTrackableValue(value);
trackableValue.print(llvm::outs());
});
} // namespace swift::test