diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2016-02-13 16:39:39 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2016-02-13 16:39:39 +0000 |
commit | 7f75e9403dd961010979dd5a0b97f6cd275b184d (patch) | |
tree | c8f2a0fad87ac61efb8bb88c280de639f43c1b18 /llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp | |
parent | 8a752e316dfc5974753730d8c1484361e7f1ea19 (diff) | |
download | bcm5719-llvm-7f75e9403dd961010979dd5a0b97f6cd275b184d.tar.gz bcm5719-llvm-7f75e9403dd961010979dd5a0b97f6cd275b184d.zip |
[AggressiveAntiDepBreaker] Skip some unnecessary BitVector copies.
llvm-svn: 260825
Diffstat (limited to 'llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp b/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp index 4060db74a9b..4483d8df27d 100644 --- a/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp +++ b/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp @@ -563,13 +563,16 @@ bool AggressiveAntiDepBreaker::FindSuitableFreeRegisters( if (RegRefs.count(Reg) > 0) { DEBUG(dbgs() << "\t\t" << TRI->getName(Reg) << ":"); - BitVector BV = GetRenameRegisters(Reg); - RenameRegisterMap.insert(std::pair<unsigned, BitVector>(Reg, BV)); - - DEBUG(dbgs() << " ::"); - DEBUG(for (int r = BV.find_first(); r != -1; r = BV.find_next(r)) - dbgs() << " " << TRI->getName(r)); - DEBUG(dbgs() << "\n"); + BitVector &BV = RenameRegisterMap[Reg]; + assert(BV.empty()); + BV = GetRenameRegisters(Reg); + + DEBUG({ + dbgs() << " ::"; + for (int r = BV.find_first(); r != -1; r = BV.find_next(r)) + dbgs() << " " << TRI->getName(r); + dbgs() << "\n"; + }); } } @@ -650,8 +653,7 @@ bool AggressiveAntiDepBreaker::FindSuitableFreeRegisters( DEBUG(dbgs() << " " << TRI->getName(NewReg)); // Check if Reg can be renamed to NewReg. - BitVector BV = RenameRegisterMap[Reg]; - if (!BV.test(NewReg)) { + if (!RenameRegisterMap[Reg].test(NewReg)) { DEBUG(dbgs() << "(no rename)"); goto next_super_reg; } |