forked from OSchip/llvm-project
[SelectionDAG] Don't create entries in ValueMap in ComputePHILiveOutRegInfo
Instead of using operator[], use DenseMap::find to prevent default constructing an entry if it isn't already in the map. Also simplify a condition to check for 0 instead of a virtual register. I'm pretty sure we can only get 0 or a virtual register out of the value map.
This commit is contained in:
parent
b38e78cc44
commit
cac9773dcc
|
@ -445,9 +445,14 @@ void FunctionLoweringInfo::ComputePHILiveOutRegInfo(const PHINode *PN) {
|
|||
IntVT = TLI->getTypeToTransformTo(PN->getContext(), IntVT);
|
||||
unsigned BitWidth = IntVT.getSizeInBits();
|
||||
|
||||
Register DestReg = ValueMap[PN];
|
||||
if (!Register::isVirtualRegister(DestReg))
|
||||
auto It = ValueMap.find(PN);
|
||||
if (It == ValueMap.end())
|
||||
return;
|
||||
|
||||
Register DestReg = It->second;
|
||||
if (DestReg == 0)
|
||||
return
|
||||
assert(Register::isVirtualRegister(DestReg) && "Expected a virtual reg");
|
||||
LiveOutRegInfo.grow(DestReg);
|
||||
LiveOutInfo &DestLOI = LiveOutRegInfo[DestReg];
|
||||
|
||||
|
|
Loading…
Reference in New Issue