Fixes issue [59091](https://github.com/llvm/llvm-project/issues/59091).
`CodeRegionGenerator::parseCodeRegions` is implemented by `AsmCodeRegionGenerator`.
If it were to be implemented in `AnalysisRegionGenerator` or `InstrumentRegionGenerator`,
then `parseCodeRegions` from an `AsmAnalysisRegionGenerator` or `AsmInstrumentRegionGenerator`
object would be ambiguous. To solve this, `AsmAnalysisRegionGenerator` and
`AsmInstrumentRegionGenerator` qualify their call to `AsmCodeRegionGenerator::parseCodeRegions`.
Differential Revision: https://reviews.llvm.org/D138462
else
return static_cast<const AnalysisRegions &>(*RegionsOrErr);
}
+
+ Expected<const CodeRegions &>
+ parseCodeRegions(const std::unique_ptr<MCInstPrinter> &IP) override {
+ return AsmCodeRegionGenerator::parseCodeRegions(IP);
+ }
};
class AsmInstrumentRegionGenerator final : public InstrumentRegionGenerator,
else
return static_cast<const InstrumentRegions &>(*RegionsOrErr);
}
+
+ Expected<const CodeRegions &>
+ parseCodeRegions(const std::unique_ptr<MCInstPrinter> &IP) override {
+ return AsmCodeRegionGenerator::parseCodeRegions(IP);
+ }
};
} // namespace mca