From: Dan Gohman Date: Mon, 30 Jun 2008 20:25:31 +0000 (+0000) Subject: Correct the allocation size for CCState's UsedRegs member, which X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=117b64b3f8277e8882d711ea859bed380a3e6f14;p=oota-llvm.git 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 --- diff --git a/lib/CodeGen/SelectionDAG/CallingConvLower.cpp b/lib/CodeGen/SelectionDAG/CallingConvLower.cpp index 5dcf4ac92d4..c9832ac46ba 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