diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2014-04-30 15:31:33 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2014-04-30 15:31:33 +0000 |
commit | 1bd80725b330f2b419fd87eaee7492b882f23300 (patch) | |
tree | 01a7ac7cb2470eb57f43cd3b5ada393608a8c2cd /llvm/lib/Target/R600/SILowerControlFlow.cpp | |
parent | 0c354f25c972a3e78ab69049834ea55c395e7264 (diff) | |
download | llvm-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.cpp | 4 |
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; |