diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-07-08 00:55:44 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-07-08 00:55:44 +0000 |
| commit | a74374a86b7948b5c772d5aa761cb24c8568b024 (patch) | |
| tree | b7029dde43c78e6aa791a9bdcd1c67775c8f3d90 /llvm/lib | |
| parent | d4a84b1ed2e2205067afc600a87dace3e2ee5bbb (diff) | |
| download | bcm5719-llvm-a74374a86b7948b5c772d5aa761cb24c8568b024.tar.gz bcm5719-llvm-a74374a86b7948b5c772d5aa761cb24c8568b024.zip | |
AMDGPU: Move si_mask_branch register operand to be a use
llvm-svn: 274818
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIInstructions.td | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp | 10 |
3 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp b/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp index 77f67b492f4..e1e6f2eb3a3 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp @@ -113,7 +113,7 @@ void AMDGPUAsmPrinter::EmitInstruction(const MachineInstr *MI) { SmallVector<char, 16> BBStr; raw_svector_ostream Str(BBStr); - const MachineBasicBlock *MBB = MI->getOperand(1).getMBB(); + const MachineBasicBlock *MBB = MI->getOperand(0).getMBB(); const MCSymbolRefExpr *Expr = MCSymbolRefExpr::create(MBB->getSymbol(), OutContext); Expr->print(Str, MAI); diff --git a/llvm/lib/Target/AMDGPU/SIInstructions.td b/llvm/lib/Target/AMDGPU/SIInstructions.td index 9eff2e056a8..46b3e50b78b 100644 --- a/llvm/lib/Target/AMDGPU/SIInstructions.td +++ b/llvm/lib/Target/AMDGPU/SIInstructions.td @@ -1929,7 +1929,7 @@ let hasSideEffects = 1, isPseudo = 1, isCodeGenOnly = 1 in { // Dummy terminator instruction to use after control flow instructions // replaced with exec mask operations. def SI_MASK_BRANCH : InstSI < - (outs SReg_64:$dst), (ins brtarget:$target)> { + (outs), (ins brtarget:$target, SReg_64:$dst)> { let isBranch = 1; let isTerminator = 1; let isBarrier = 1; diff --git a/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp b/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp index 7ef8904e693..81dfd919998 100644 --- a/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp +++ b/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp @@ -237,8 +237,9 @@ void SILowerControlFlow::If(MachineInstr &MI) { Skip(MI, MI.getOperand(2)); // Insert a pseudo terminator to help keep the verifier happy. - BuildMI(MBB, &MI, DL, TII->get(AMDGPU::SI_MASK_BRANCH), Reg) - .addOperand(MI.getOperand(2)); + BuildMI(MBB, &MI, DL, TII->get(AMDGPU::SI_MASK_BRANCH)) + .addOperand(MI.getOperand(2)) + .addReg(Reg); MI.eraseFromParent(); } @@ -269,8 +270,9 @@ void SILowerControlFlow::Else(MachineInstr &MI, bool ExecModified) { Skip(MI, MI.getOperand(2)); // Insert a pseudo terminator to help keep the verifier happy. - BuildMI(MBB, &MI, DL, TII->get(AMDGPU::SI_MASK_BRANCH), Dst) - .addOperand(MI.getOperand(2)); + BuildMI(MBB, &MI, DL, TII->get(AMDGPU::SI_MASK_BRANCH)) + .addOperand(MI.getOperand(2)) + .addReg(Dst); MI.eraseFromParent(); } |

