Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'bolt/lib/Core/MCPlusBuilder.cpp')
-rw-r--r--bolt/lib/Core/MCPlusBuilder.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/bolt/lib/Core/MCPlusBuilder.cpp b/bolt/lib/Core/MCPlusBuilder.cpp
index b983a6b8d342..3c04cd6d7bff 100644
--- a/bolt/lib/Core/MCPlusBuilder.cpp
+++ b/bolt/lib/Core/MCPlusBuilder.cpp
@@ -441,17 +441,13 @@ bool MCPlusBuilder::hasUseOfPhysReg(const MCInst &MI, unsigned Reg) const {
const BitVector &MCPlusBuilder::getAliases(MCPhysReg Reg,
bool OnlySmaller) const {
- // AliasMap caches a mapping of registers to the set of registers that
- // alias (are sub or superregs of itself, including itself).
- static std::vector<BitVector> AliasMap;
- static std::vector<BitVector> SmallerAliasMap;
-
- if (AliasMap.size() > 0) {
- if (OnlySmaller)
- return SmallerAliasMap[Reg];
- return AliasMap[Reg];
- }
+ if (OnlySmaller)
+ return SmallerAliasMap[Reg];
+ return AliasMap[Reg];
+}
+void MCPlusBuilder::initAliases() {
+ assert(AliasMap.size() == 0 && SmallerAliasMap.size() == 0);
// Build alias map
for (MCPhysReg I = 0, E = RegInfo->getNumRegs(); I != E; ++I) {
BitVector BV(RegInfo->getNumRegs(), false);
@@ -492,10 +488,6 @@ const BitVector &MCPlusBuilder::getAliases(MCPhysReg Reg,
dbgs() << "\n";
}
});
-
- if (OnlySmaller)
- return SmallerAliasMap[Reg];
- return AliasMap[Reg];
}
uint8_t MCPlusBuilder::getRegSize(MCPhysReg Reg) const {