aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/CSKY/CSKYAsmPrinter.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/CSKY/CSKYAsmPrinter.h')
-rw-r--r--llvm/lib/Target/CSKY/CSKYAsmPrinter.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/Target/CSKY/CSKYAsmPrinter.h b/llvm/lib/Target/CSKY/CSKYAsmPrinter.h
index b30311e0ca64..04a253d349c8 100644
--- a/llvm/lib/Target/CSKY/CSKYAsmPrinter.h
+++ b/llvm/lib/Target/CSKY/CSKYAsmPrinter.h
@@ -20,6 +20,15 @@ class LLVM_LIBRARY_VISIBILITY CSKYAsmPrinter : public AsmPrinter {
const CSKYSubtarget *Subtarget;
+ bool InConstantPool = false;
+
+ /// Keep a pointer to constantpool entries of the current
+ /// MachineFunction.
+ MachineConstantPool *MCP;
+
+ void expandTLSLA(const MachineInstr *MI);
+ void emitCustomConstantPool(const MachineInstr *MI);
+
public:
explicit CSKYAsmPrinter(TargetMachine &TM,
std::unique_ptr<MCStreamer> Streamer);
@@ -33,9 +42,16 @@ public:
bool emitPseudoExpansionLowering(MCStreamer &OutStreamer,
const MachineInstr *MI);
+ void emitMachineConstantPoolValue(MachineConstantPoolValue *MCPV) override;
+
+ void emitFunctionBodyEnd() override;
+
void emitInstruction(const MachineInstr *MI) override;
bool runOnMachineFunction(MachineFunction &MF) override;
+
+ // we emit constant pools customly!
+ void emitConstantPool() override{};
};
} // end namespace llvm