projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert 239644.
[oota-llvm.git]
/
lib
/
Target
/
R600
/
AMDGPUAsmPrinter.h
diff --git
a/lib/Target/R600/AMDGPUAsmPrinter.h
b/lib/Target/R600/AMDGPUAsmPrinter.h
index b854203060dca3effb8227a176023bb639891f4d..1acff3a3222fe688d21dae9ff7c30046715a5efb 100644
(file)
--- a/
lib/Target/R600/AMDGPUAsmPrinter.h
+++ b/
lib/Target/R600/AMDGPUAsmPrinter.h
@@
-12,11
+12,10
@@
//
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
-#ifndef
AMDGPU_
ASMPRINTER_H
-#define
AMDGPU_
ASMPRINTER_H
+#ifndef
LLVM_LIB_TARGET_R600_AMDGPU
ASMPRINTER_H
+#define
LLVM_LIB_TARGET_R600_AMDGPU
ASMPRINTER_H
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/AsmPrinter.h"
-#include <string>
#include <vector>
namespace llvm {
#include <vector>
namespace llvm {
@@
-25,27
+24,51
@@
class AMDGPUAsmPrinter : public AsmPrinter {
private:
struct SIProgramInfo {
SIProgramInfo() :
private:
struct SIProgramInfo {
SIProgramInfo() :
-
NumVGPR
(0),
-
NumSGPR
(0),
+
VGPRBlocks
(0),
+
SGPRBlocks
(0),
Priority(0),
FloatMode(0),
Priv(0),
DX10Clamp(0),
DebugMode(0),
IEEEMode(0),
Priority(0),
FloatMode(0),
Priv(0),
DX10Clamp(0),
DebugMode(0),
IEEEMode(0),
+ ScratchSize(0),
+ ComputePGMRSrc1(0),
+ LDSBlocks(0),
+ ScratchBlocks(0),
+ ComputePGMRSrc2(0),
+ NumVGPR(0),
+ NumSGPR(0),
+ FlatUsed(false),
+ VCCUsed(false),
CodeLen(0) {}
// Fields set in PGM_RSRC1 pm4 packet.
CodeLen(0) {}
// Fields set in PGM_RSRC1 pm4 packet.
- uint32_t
NumVGPR
;
- uint32_t
NumSGPR
;
+ uint32_t
VGPRBlocks
;
+ uint32_t
SGPRBlocks
;
uint32_t Priority;
uint32_t FloatMode;
uint32_t Priv;
uint32_t DX10Clamp;
uint32_t DebugMode;
uint32_t IEEEMode;
uint32_t Priority;
uint32_t FloatMode;
uint32_t Priv;
uint32_t DX10Clamp;
uint32_t DebugMode;
uint32_t IEEEMode;
+ uint32_t ScratchSize;
+
+ uint64_t ComputePGMRSrc1;
+
+ // Fields set in PGM_RSRC2 pm4 packet.
+ uint32_t LDSBlocks;
+ uint32_t ScratchBlocks;
+
+ uint64_t ComputePGMRSrc2;
+
+ uint32_t NumVGPR;
+ uint32_t NumSGPR;
+ uint32_t LDSSize;
+ bool FlatUsed;
// Bonus information for debugging.
// Bonus information for debugging.
+ bool VCCUsed;
uint64_t CodeLen;
};
uint64_t CodeLen;
};
@@
-58,9
+81,12
@@
private:
/// can correctly setup the GPU state.
void EmitProgramInfoR600(const MachineFunction &MF);
void EmitProgramInfoSI(const MachineFunction &MF, const SIProgramInfo &KernelInfo);
/// can correctly setup the GPU state.
void EmitProgramInfoR600(const MachineFunction &MF);
void EmitProgramInfoSI(const MachineFunction &MF, const SIProgramInfo &KernelInfo);
+ void EmitAmdKernelCodeT(const MachineFunction &MF,
+ const SIProgramInfo &KernelInfo) const;
public:
public:
- explicit AMDGPUAsmPrinter(TargetMachine &TM, MCStreamer &Streamer);
+ explicit AMDGPUAsmPrinter(TargetMachine &TM,
+ std::unique_ptr<MCStreamer> Streamer);
bool runOnMachineFunction(MachineFunction &MF) override;
bool runOnMachineFunction(MachineFunction &MF) override;
@@
-71,12
+97,17
@@
public:
/// Implemented in AMDGPUMCInstLower.cpp
void EmitInstruction(const MachineInstr *MI) override;
/// Implemented in AMDGPUMCInstLower.cpp
void EmitInstruction(const MachineInstr *MI) override;
+ void EmitEndOfAsmFile(Module &M) override;
+
+ bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
+ unsigned AsmVariant, const char *ExtraCode,
+ raw_ostream &O) override;
+
protected:
protected:
- bool DisasmEnabled;
std::vector<std::string> DisasmLines, HexLines;
size_t DisasmLineMaxLen;
};
} // End anonymous llvm
std::vector<std::string> DisasmLines, HexLines;
size_t DisasmLineMaxLen;
};
} // End anonymous llvm
-#endif
//AMDGPU_ASMPRINTER_H
+#endif