[PATCH] D85679: AMDGPU: Don't look at dbg users for foldable operands
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 10 12:15:08 PDT 2020
arsenm created this revision.
arsenm added reviewers: rampitec, kerbowa.
Herald added subscribers: hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl.
Herald added a project: LLVM.
arsenm requested review of this revision.
Herald added a subscriber: wdng.
https://reviews.llvm.org/D85679
Files:
llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Index: llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
===================================================================
--- llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+++ llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
@@ -598,9 +598,9 @@
Register RegSeqDstReg = UseMI->getOperand(0).getReg();
unsigned RegSeqDstSubReg = UseMI->getOperand(UseOpIdx + 1).getImm();
- MachineRegisterInfo::use_iterator Next;
- for (MachineRegisterInfo::use_iterator
- RSUse = MRI->use_begin(RegSeqDstReg), RSE = MRI->use_end();
+ MachineRegisterInfo::use_nodbg_iterator Next;
+ for (MachineRegisterInfo::use_nodbg_iterator
+ RSUse = MRI->use_nodbg_begin(RegSeqDstReg), RSE = MRI->use_nodbg_end();
RSUse != RSE; RSUse = Next) {
Next = std::next(RSUse);
@@ -668,10 +668,10 @@
const TargetRegisterClass *DestRC = TRI->getRegClassForReg(*MRI, DestReg);
if (!DestReg.isPhysical()) {
if (TRI->isSGPRClass(SrcRC) && TRI->hasVectorRegisters(DestRC)) {
- MachineRegisterInfo::use_iterator NextUse;
+ MachineRegisterInfo::use_nodbg_iterator NextUse;
SmallVector<FoldCandidate, 4> CopyUses;
- for (MachineRegisterInfo::use_iterator Use = MRI->use_begin(DestReg),
- E = MRI->use_end();
+ for (MachineRegisterInfo::use_nodbg_iterator Use = MRI->use_nodbg_begin(DestReg),
+ E = MRI->use_nodbg_end();
Use != E; Use = NextUse) {
NextUse = std::next(Use);
// There's no point trying to fold into an implicit operand.
@@ -1193,9 +1193,9 @@
MachineOperand *NonInlineUse = nullptr;
int NonInlineUseOpNo = -1;
- MachineRegisterInfo::use_iterator NextUse;
- for (MachineRegisterInfo::use_iterator
- Use = MRI->use_begin(Dst.getReg()), E = MRI->use_end();
+ MachineRegisterInfo::use_nodbg_iterator NextUse;
+ for (MachineRegisterInfo::use_nodbg_iterator
+ Use = MRI->use_nodbg_begin(Dst.getReg()), E = MRI->use_nodbg_end();
Use != E; Use = NextUse) {
NextUse = std::next(Use);
MachineInstr *UseMI = Use->getParent();
@@ -1217,7 +1217,7 @@
// instruction, e.g. and x, 0 -> 0. Make sure we re-visit the user
// again. The same constant folded instruction could also have a second
// use operand.
- NextUse = MRI->use_begin(Dst.getReg());
+ NextUse = MRI->use_nodbg_begin(Dst.getReg());
FoldList.clear();
continue;
}
@@ -1256,9 +1256,9 @@
}
} else {
// Folding register.
- SmallVector <MachineRegisterInfo::use_iterator, 4> UsesToProcess;
- for (MachineRegisterInfo::use_iterator
- Use = MRI->use_begin(Dst.getReg()), E = MRI->use_end();
+ SmallVector <MachineRegisterInfo::use_nodbg_iterator, 4> UsesToProcess;
+ for (MachineRegisterInfo::use_nodbg_iterator
+ Use = MRI->use_nodbg_begin(Dst.getReg()), E = MRI->use_nodbg_end();
Use != E; ++Use) {
UsesToProcess.push_back(Use);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85679.284470.patch
Type: text/x-patch
Size: 3006 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200810/8934766a/attachment.bin>
More information about the llvm-commits
mailing list