mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-20 16:17:38 +00:00
Optimize MachineBasicBlock::getSymbol by caching the symbol. Since the symbol
name computation is expensive, this helps save about 25% of the time spent in this function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180049 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -71,7 +71,6 @@ class MachineBasicBlock : public ilist_node<MachineBasicBlock> {
|
||||
std::vector<MachineBasicBlock *> Predecessors;
|
||||
std::vector<MachineBasicBlock *> Successors;
|
||||
|
||||
|
||||
/// Weights - Keep track of the weights to the successors. This vector
|
||||
/// has the same order as Successors, or it is empty if we don't use it
|
||||
/// (disable optimization).
|
||||
@@ -96,6 +95,10 @@ class MachineBasicBlock : public ilist_node<MachineBasicBlock> {
|
||||
/// target of an indirect branch.
|
||||
bool AddressTaken;
|
||||
|
||||
/// \brief since getSymbol is a relatively heavy-weight operation, the symbol
|
||||
/// is only computed once and is cached.
|
||||
mutable MCSymbol *CachedMCSymbol;
|
||||
|
||||
// Intrusive list support
|
||||
MachineBasicBlock() {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user