diff options
author | Weiming Zhao <weimingz@codeaurora.org> | 2014-06-24 16:21:38 +0000 |
---|---|---|
committer | Weiming Zhao <weimingz@codeaurora.org> | 2014-06-24 16:21:38 +0000 |
commit | c33b4883b39a63c518f829e5ce992928137f9551 (patch) | |
tree | 31e4c879c1ce33cfa738be7d244ca269a0c4e2be /include | |
parent | fde22c17f5e4dc2f93a0481fa95f89f8a633ba8a (diff) | |
download | llvm-c33b4883b39a63c518f829e5ce992928137f9551.tar.gz llvm-c33b4883b39a63c518f829e5ce992928137f9551.tar.bz2 llvm-c33b4883b39a63c518f829e5ce992928137f9551.tar.xz |
Resubmit commit r211533
"Fix PR20056: Implement pseudo LDR <reg>, =<literal/label> for AArch64"
Missed files are added in this commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211605 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/MC/MCStreamer.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/llvm/MC/MCStreamer.h b/include/llvm/MC/MCStreamer.h index bf224979de..cd1fa9b6a8 100644 --- a/include/llvm/MC/MCStreamer.h +++ b/include/llvm/MC/MCStreamer.h @@ -86,6 +86,27 @@ public: virtual void finish(); }; +class AArch64TargetStreamer : public MCTargetStreamer { +public: + AArch64TargetStreamer(MCStreamer &S); + ~AArch64TargetStreamer(); + + + void finish() override; + + /// Callback used to implement the ldr= pseudo. + /// Add a new entry to the constant pool for the current section and return an + /// MCExpr that can be used to refer to the constant pool location. + const MCExpr *addConstantPoolEntry(const MCExpr *); + + /// Callback used to implemnt the .ltorg directive. + /// Emit contents of constant pool for the current section. + void emitCurrentConstantPool(); + +private: + std::unique_ptr<AssemblerConstantPools> ConstantPools; +}; + // FIXME: declared here because it is used from // lib/CodeGen/AsmPrinter/ARMException.cpp. class ARMTargetStreamer : public MCTargetStreamer { |