mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
[IRSim] Strip out the findSimilarity call from the constructor
Both doInitialize and runOnModule were running the entire analysis due to the actual work being done in the constructor. Strip it out here and only get the similarity during runOnModule. Author: lanza Reviewers: AndrewLitteken, paquette, plofti Differential Revision: https://reviews.llvm.org/D92524
This commit is contained in:
parent
111b1fef7a
commit
77b6ee14d4
@ -654,12 +654,6 @@ public:
|
||||
IRSimilarityIdentifier()
|
||||
: Mapper(&InstDataAllocator, &InstDataListAllocator) {}
|
||||
|
||||
/// \param M the module to find similarity in.
|
||||
explicit IRSimilarityIdentifier(Module &M)
|
||||
: Mapper(&InstDataAllocator, &InstDataListAllocator) {
|
||||
findSimilarity(M);
|
||||
}
|
||||
|
||||
private:
|
||||
/// Map the instructions in the module to unsigned integers, using mapping
|
||||
/// already present in the Mapper if possible.
|
||||
|
@ -891,7 +891,7 @@ IRSimilarityIdentifierWrapperPass::IRSimilarityIdentifierWrapperPass()
|
||||
}
|
||||
|
||||
bool IRSimilarityIdentifierWrapperPass::doInitialization(Module &M) {
|
||||
IRSI.reset(new IRSimilarityIdentifier(M));
|
||||
IRSI.reset(new IRSimilarityIdentifier());
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -901,8 +901,7 @@ bool IRSimilarityIdentifierWrapperPass::doFinalization(Module &M) {
|
||||
}
|
||||
|
||||
bool IRSimilarityIdentifierWrapperPass::runOnModule(Module &M) {
|
||||
// All the real work is done in the constructor for the pass.
|
||||
IRSI.reset(new IRSimilarityIdentifier(M));
|
||||
IRSI->findSimilarity(M);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -910,7 +909,9 @@ AnalysisKey IRSimilarityAnalysis::Key;
|
||||
IRSimilarityIdentifier IRSimilarityAnalysis::run(Module &M,
|
||||
ModuleAnalysisManager &) {
|
||||
|
||||
return IRSimilarityIdentifier(M);
|
||||
auto IRSI = IRSimilarityIdentifier();
|
||||
IRSI.findSimilarity(M);
|
||||
return IRSI;
|
||||
}
|
||||
|
||||
PreservedAnalyses
|
||||
|
Loading…
Reference in New Issue
Block a user