diff options
author | Guozhi Wei <carrot@google.com> | 2022-09-30 19:39:51 +0000 |
---|---|---|
committer | Guozhi Wei <carrot@google.com> | 2022-09-30 19:39:51 +0000 |
commit | feea3b990e2ba3b4c687402dd30b92595b90d084 (patch) | |
tree | dedd9f6d3b4e8130c72142618424fd9a46d87be7 /llvm/lib/CodeGen/LiveRangeEdit.cpp | |
parent | 0caa9d4b1e35ed3d7a2ef42fb1ae50916312a006 (diff) | |
download | llvm-feea3b990e2ba3b4c687402dd30b92595b90d084.zip llvm-feea3b990e2ba3b4c687402dd30b92595b90d084.tar.gz llvm-feea3b990e2ba3b4c687402dd30b92595b90d084.tar.bz2 |
[LiveRangeEdit] Add a statistic variable for rematerialization
Add a statistic variable for rematerialization.
Differential Revision: https://reviews.llvm.org/D134907
Diffstat (limited to 'llvm/lib/CodeGen/LiveRangeEdit.cpp')
-rw-r--r-- | llvm/lib/CodeGen/LiveRangeEdit.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/LiveRangeEdit.cpp b/llvm/lib/CodeGen/LiveRangeEdit.cpp index c955c58..afc04f0 100644 --- a/llvm/lib/CodeGen/LiveRangeEdit.cpp +++ b/llvm/lib/CodeGen/LiveRangeEdit.cpp @@ -24,9 +24,10 @@ using namespace llvm; #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 @@ SlotIndex LiveRangeEdit::rematerializeAt(MachineBasicBlock &MBB, // 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(); |