diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-06-18 12:48:36 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-06-18 12:48:36 +0000 |
| commit | f39f3bd056fa99fb8bc437d7fa5932c85eea8d8e (patch) | |
| tree | e7ae5744f702ff6b3402d0d3e05996a5fbbfab71 /llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp | |
| parent | c99d9aee00753dc878e403c4088227a25b45e4b2 (diff) | |
| download | bcm5719-llvm-f39f3bd056fa99fb8bc437d7fa5932c85eea8d8e.tar.gz bcm5719-llvm-f39f3bd056fa99fb8bc437d7fa5932c85eea8d8e.zip | |
AMDGPU: Change API for checking for exec modification
Invert the name and return value to better reflect the imprecise
nature.
Force passing in the DefMI, since it's known in the 2 users and could
possibly fail for an arbitrary vreg.
Allow specifying a specific user instruction. Scan through use
instructions, instead of use operands. Add scan thresholds instead of
searching infinitely.
Stop using a set to track seen uses. I didn't understand this usage,
or why it would not check the last use. I don't think the use list has
any particular order.
llvm-svn: 363675
Diffstat (limited to 'llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp b/llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp index 430cf480eb1..fb1d71779cb 100644 --- a/llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp +++ b/llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp @@ -331,7 +331,7 @@ bool GCNDPPCombine::combineDPPMov(MachineInstr &MovMI) const { auto *DstOpnd = TII->getNamedOperand(MovMI, AMDGPU::OpName::vdst); assert(DstOpnd && DstOpnd->isReg()); auto DPPMovReg = DstOpnd->getReg(); - if (!isEXECMaskConstantBetweenDefAndUses(DPPMovReg, *MRI)) { + if (execMayBeModifiedBeforeUse(*MRI, DPPMovReg, MovMI)) { LLVM_DEBUG(dbgs() << " failed: EXEC mask should remain the same" " for all uses\n"); return false; |

