aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-06-30 20:25:31 +0000
committerDan Gohman <gohman@apple.com>2008-06-30 20:25:31 +0000
commit117b64b3f8277e8882d711ea859bed380a3e6f14 (patch)
tree3b551327821da9d2abf822966738361327a5f500
parentebd69421a2acf0c64f368de87d0795451060ed34 (diff)
downloadexternal_llvm-117b64b3f8277e8882d711ea859bed380a3e6f14.zip
external_llvm-117b64b3f8277e8882d711ea859bed380a3e6f14.tar.gz
external_llvm-117b64b3f8277e8882d711ea859bed380a3e6f14.tar.bz2
Correct the allocation size for CCState's UsedRegs member, which
only needs one bit for each register. UsedRegs is a SmallVector sized at 16, so this eliminates a heap allocation/free for every call and return processed by Legalize on most targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52915 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/SelectionDAG/CallingConvLower.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/CallingConvLower.cpp b/lib/CodeGen/SelectionDAG/CallingConvLower.cpp
index 5dcf4ac..c9832ac 100644
--- a/lib/CodeGen/SelectionDAG/CallingConvLower.cpp
+++ b/lib/CodeGen/SelectionDAG/CallingConvLower.cpp
@@ -26,7 +26,7 @@ CCState::CCState(unsigned CC, bool isVarArg, const TargetMachine &tm,
// No stack is used.
StackOffset = 0;
- UsedRegs.resize(TRI.getNumRegs());
+ UsedRegs.resize((TRI.getNumRegs()+31)/32);
}
// HandleByVal - Allocate a stack slot large enough to pass an argument by