The physical register + virtual register joining requirement was much too strict.

llvm-svn: 45253
This commit is contained in:
Evan Cheng 2007-12-20 02:23:25 +00:00
parent 61bc51ee97
commit a509537e25
1 changed files with 1 additions and 1 deletions

View File

@ -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.