summaryrefslogtreecommitdiff
path: root/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp')
-rw-r--r--lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp32
1 files changed, 23 insertions, 9 deletions
diff --git a/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp b/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
index 66def2d29caff..ffea231ee4d0a 100644
--- a/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
+++ b/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
@@ -1,4 +1,4 @@
-//===-- R600ExpandSpecialInstrs.cpp - Expand special instructions ---------===//
+//===- R600ExpandSpecialInstrs.cpp - Expand special instructions ----------===//
//
// The LLVM Compiler Infrastructure
//
@@ -18,27 +18,35 @@
#include "AMDGPUSubtarget.h"
#include "R600Defines.h"
#include "R600InstrInfo.h"
-#include "R600MachineFunctionInfo.h"
#include "R600RegisterInfo.h"
+#include "llvm/CodeGen/MachineBasicBlock.h"
+#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
+#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
-#include "llvm/CodeGen/MachineRegisterInfo.h"
+#include "llvm/CodeGen/MachineOperand.h"
+#include "llvm/Pass.h"
+#include <cassert>
+#include <cstdint>
+#include <iterator>
using namespace llvm;
+#define DEBUG_TYPE "r600-expand-special-instrs"
+
namespace {
class R600ExpandSpecialInstrsPass : public MachineFunctionPass {
private:
- static char ID;
- const R600InstrInfo *TII;
+ const R600InstrInfo *TII = nullptr;
void SetFlagInNewMI(MachineInstr *NewMI, const MachineInstr *OldMI,
unsigned Op);
public:
- R600ExpandSpecialInstrsPass() : MachineFunctionPass(ID),
- TII(nullptr) { }
+ static char ID;
+
+ R600ExpandSpecialInstrsPass() : MachineFunctionPass(ID) {}
bool runOnMachineFunction(MachineFunction &MF) override;
@@ -47,10 +55,17 @@ public:
}
};
-} // End anonymous namespace
+} // end anonymous namespace
+
+INITIALIZE_PASS_BEGIN(R600ExpandSpecialInstrsPass, DEBUG_TYPE,
+ "R600 Expand Special Instrs", false, false)
+INITIALIZE_PASS_END(R600ExpandSpecialInstrsPass, DEBUG_TYPE,
+ "R600ExpandSpecialInstrs", false, false)
char R600ExpandSpecialInstrsPass::ID = 0;
+char &llvm::R600ExpandSpecialInstrsPassID = R600ExpandSpecialInstrsPass::ID;
+
FunctionPass *llvm::createR600ExpandSpecialInstrsPass() {
return new R600ExpandSpecialInstrsPass();
}
@@ -117,7 +132,6 @@ bool R600ExpandSpecialInstrsPass::runOnMachineFunction(MachineFunction &MF) {
continue;
}
case AMDGPU::DOT_4: {
-
const R600RegisterInfo &TRI = TII->getRegisterInfo();
unsigned DstReg = MI.getOperand(0).getReg();