[llvm] c763160 - [llvm-mca] Fix class dominance warnings for parseCodeRegions

Michael Maitland via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 22 12:31:31 PST 2022


Author: Michael Maitland
Date: 2022-11-22T12:31:01-08:00
New Revision: c7631606eb40d445615d3fc6f6599936463bac36

URL: https://github.com/llvm/llvm-project/commit/c7631606eb40d445615d3fc6f6599936463bac36
DIFF: https://github.com/llvm/llvm-project/commit/c7631606eb40d445615d3fc6f6599936463bac36.diff

LOG: [llvm-mca] Fix class dominance warnings for parseCodeRegions

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

Added: 
    

Modified: 
    llvm/tools/llvm-mca/CodeRegionGenerator.h

Removed: 
    


################################################################################
diff  --git a/llvm/tools/llvm-mca/CodeRegionGenerator.h b/llvm/tools/llvm-mca/CodeRegionGenerator.h
index d9e9be21333d2..88621ed856c58 100644
--- a/llvm/tools/llvm-mca/CodeRegionGenerator.h
+++ b/llvm/tools/llvm-mca/CodeRegionGenerator.h
@@ -162,6 +162,11 @@ class AsmAnalysisRegionGenerator final : public AnalysisRegionGenerator,
     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,
@@ -187,6 +192,11 @@ 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


        


More information about the llvm-commits mailing list