diff --git a/llvm/lib/CodeGen/LiveRangeEdit.cpp b/llvm/lib/CodeGen/LiveRangeEdit.cpp --- a/llvm/lib/CodeGen/LiveRangeEdit.cpp +++ b/llvm/lib/CodeGen/LiveRangeEdit.cpp @@ -24,9 +24,10 @@ #define DEBUG_TYPE "regalloc" -STATISTIC(NumDCEDeleted, "Number of instructions deleted by DCE"); -STATISTIC(NumDCEFoldedLoads, "Number of single use loads folded after DCE"); -STATISTIC(NumFracRanges, "Number of live ranges fractured by DCE"); +STATISTIC(NumDCEDeleted, "Number of instructions deleted by DCE"); +STATISTIC(NumDCEFoldedLoads, "Number of single use loads folded after DCE"); +STATISTIC(NumFracRanges, "Number of live ranges fractured by DCE"); +STATISTIC(NumReMaterialization, "Number of instructions rematerialized"); void LiveRangeEdit::Delegate::anchor() { } @@ -193,6 +194,8 @@ // is true. (*--MI).getOperand(0).setIsDead(false); Rematted.insert(RM.ParentVNI); + ++NumReMaterialization; + if (ReplaceIndexMI) return LIS.ReplaceMachineInstrInMaps(*ReplaceIndexMI, *MI).getRegSlot(); return LIS.getSlotIndexes()->insertMachineInstrInMaps(*MI, Late).getRegSlot();