R600: config section now reports use of killgt
authorVincent Lejeune <vljn@ovi.com>
Tue, 30 Apr 2013 00:13:13 +0000 (00:13 +0000)
committerVincent Lejeune <vljn@ovi.com>
Tue, 30 Apr 2013 00:13:13 +0000 (00:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180751 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/AMDGPUAsmPrinter.cpp

index 7dabbfa2295777e66ecb07a34bd70434702c6638..c915f508c4407b91766b1aecdcb332a11754b547 100644 (file)
@@ -74,6 +74,7 @@ bool AMDGPUAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
 
 void AMDGPUAsmPrinter::EmitProgramInfoR600(MachineFunction &MF) {
   unsigned MaxGPR = 0;
+  bool killPixel = false;
   const R600RegisterInfo * RI =
                 static_cast<const R600RegisterInfo*>(TM.getRegisterInfo());
   R600MachineFunctionInfo *MFI = MF.getInfo<R600MachineFunctionInfo>();
@@ -84,6 +85,8 @@ void AMDGPUAsmPrinter::EmitProgramInfoR600(MachineFunction &MF) {
     for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end();
                                                     I != E; ++I) {
       MachineInstr &MI = *I;
+      if (MI.getOpcode() == AMDGPU::KILLGT)
+        killPixel = true;
       unsigned numOperands = MI.getNumOperands();
       for (unsigned op_idx = 0; op_idx < numOperands; op_idx++) {
         MachineOperand & MO = MI.getOperand(op_idx);
@@ -100,6 +103,7 @@ void AMDGPUAsmPrinter::EmitProgramInfoR600(MachineFunction &MF) {
   }
   OutStreamer.EmitIntValue(MaxGPR + 1, 4);
   OutStreamer.EmitIntValue(MFI->StackSize, 4);
+  OutStreamer.EmitIntValue(killPixel, 4);
 }
 
 void AMDGPUAsmPrinter::EmitProgramInfoSI(MachineFunction &MF) {