Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAGISel.cpp updated: 1.374 -> 1.375 --- Log message: optimize duplicate ValueMap lookups --- Diffs of the changes: (+6 -9) SelectionDAGISel.cpp | 15 ++++++--------- 1 files changed, 6 insertions(+), 9 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.374 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.375 --- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.374 Sat Feb 24 03:45:44 2007 +++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Sun Feb 25 12:40:32 2007 @@ -661,17 +661,14 @@ return DAG.getFrameIndex(SI->second, TLI.getPointerTy()); } - DenseMap<const Value*, unsigned>::iterator VMI = - FuncInfo.ValueMap.find(V); - assert(VMI != FuncInfo.ValueMap.end() && "Value not in map!"); - - unsigned InReg = VMI->second; + unsigned InReg = FuncInfo.ValueMap[V]; + assert(InReg && "Value not in map!"); // If this type is not legal, make it so now. if (VT != MVT::Vector) { if (TLI.getTypeAction(VT) == TargetLowering::Expand) { // Source must be expanded. This input value is actually coming from the - // register pair VMI->second and VMI->second+1. + // register pair InReg and InReg+1. MVT::ValueType DestVT = TLI.getTypeToExpandTo(VT); unsigned NumVals = TLI.getNumElements(VT); N = DAG.getCopyFromReg(DAG.getEntryNode(), InReg, DestVT); @@ -4189,9 +4186,9 @@ // If this argument is live outside of the entry block, insert a copy from // whereever we got it to the vreg that other BB's will reference it as. - if (FuncInfo.ValueMap.count(AI)) { - SDOperand Copy = - SDL.CopyValueToVirtualRegister(AI, FuncInfo.ValueMap[AI]); + DenseMap<const Value*, unsigned>::iterator VMI=FuncInfo.ValueMap.find(AI); + if (VMI != FuncInfo.ValueMap.end()) { + SDOperand Copy = SDL.CopyValueToVirtualRegister(AI, VMI->second); UnorderedChains.push_back(Copy); } } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits