forked from OSchip/llvm-project
The physical register + virtual register joining requirement was much too strict.
llvm-svn: 45253
This commit is contained in:
parent
61bc51ee97
commit
a509537e25
|
@ -396,7 +396,7 @@ bool SimpleRegisterCoalescing::JoinCopy(CopyRec TheCopy, bool &Again) {
|
|||
unsigned JoinVReg = SrcIsPhys ? repDstReg : repSrcReg;
|
||||
unsigned JoinPReg = SrcIsPhys ? repSrcReg : repDstReg;
|
||||
const TargetRegisterClass *RC = mf_->getSSARegMap()->getRegClass(JoinVReg);
|
||||
unsigned Threshold = allocatableRCRegs_[RC].count();
|
||||
unsigned Threshold = allocatableRCRegs_[RC].count() * 2;
|
||||
if (TheCopy.isBackEdge)
|
||||
Threshold *= 2; // Favors back edge copies.
|
||||
|
||||
|
|
Loading…
Reference in New Issue