aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/R600/SILowerControlFlow.cpp
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-04-30 15:31:33 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-04-30 15:31:33 +0000
commit1bd80725b330f2b419fd87eaee7492b882f23300 (patch)
tree01a7ac7cb2470eb57f43cd3b5ada393608a8c2cd /llvm/lib/Target/R600/SILowerControlFlow.cpp
parent0c354f25c972a3e78ab69049834ea55c395e7264 (diff)
downloadllvm-1bd80725b330f2b419fd87eaee7492b882f23300.zip
llvm-1bd80725b330f2b419fd87eaee7492b882f23300.tar.gz
llvm-1bd80725b330f2b419fd87eaee7492b882f23300.tar.bz2
R600/SI: Use VALU instructions for copying i1 values
We can't use SALU instructions for this since they ignore the EXEC mask and are always executed. This fixes several OpenCV tests. llvm-svn: 207661
Diffstat (limited to 'llvm/lib/Target/R600/SILowerControlFlow.cpp')
-rw-r--r--llvm/lib/Target/R600/SILowerControlFlow.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/R600/SILowerControlFlow.cpp b/llvm/lib/Target/R600/SILowerControlFlow.cpp
index d1d925d..6601f2a 100644
--- a/llvm/lib/Target/R600/SILowerControlFlow.cpp
+++ b/llvm/lib/Target/R600/SILowerControlFlow.cpp
@@ -67,7 +67,7 @@ private:
static const unsigned SkipThreshold = 12;
static char ID;
- const TargetRegisterInfo *TRI;
+ const SIRegisterInfo *TRI;
const SIInstrInfo *TII;
bool shouldSkip(MachineBasicBlock *From, MachineBasicBlock *To);
@@ -427,7 +427,7 @@ void SILowerControlFlowPass::IndirectDst(MachineInstr &MI) {
bool SILowerControlFlowPass::runOnMachineFunction(MachineFunction &MF) {
TII = static_cast<const SIInstrInfo*>(MF.getTarget().getInstrInfo());
- TRI = MF.getTarget().getRegisterInfo();
+ TRI = static_cast<const SIRegisterInfo*>(MF.getTarget().getRegisterInfo());
SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>();
bool HaveKill = false;