diff options
author | Logan Chien <tzuhsiang.chien@gmail.com> | 2013-10-28 17:51:12 +0000 |
---|---|---|
committer | Logan Chien <tzuhsiang.chien@gmail.com> | 2013-10-28 17:51:12 +0000 |
commit | 23125d02d929758e1b0dbb30b13f1deff7a5ea4b (patch) | |
tree | 4c77dc2e41386fde9ae2f6529488c71689c50616 /include | |
parent | 790b973f80c8fd41f0908536409538336242f74d (diff) | |
download | llvm-23125d02d929758e1b0dbb30b13f1deff7a5ea4b.tar.gz llvm-23125d02d929758e1b0dbb30b13f1deff7a5ea4b.tar.bz2 llvm-23125d02d929758e1b0dbb30b13f1deff7a5ea4b.tar.xz |
[arm] Implement eabi_attribute, cpu, and fpu directives.
This commit allows the ARM integrated assembler to parse
and assemble the code with .eabi_attribute, .cpu, and
.fpu directives.
To implement the feature, this commit moves the code from
AttrEmitter to ARMTargetStreamers, and several new test
cases related to cortex-m4, cortex-r5, and cortex-a15 are
added.
Besides, this commit also change the Subtarget->isFPOnlySP()
to Subtarget->hasD16() to match the usage of .fpu directive.
This commit changes the test cases:
* Several .eabi_attribute directives in
2010-09-29-mc-asm-header-test.ll are removed because the .fpu
directive already cover the functionality.
* In the Cortex-A15 test case, the value for
Tag_Advanced_SIMD_arch has be changed from 1 to 2,
which is more precise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193524 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/MC/MCStreamer.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/MC/MCStreamer.h b/include/llvm/MC/MCStreamer.h index 47d798dd8b..04af407a44 100644 --- a/include/llvm/MC/MCStreamer.h +++ b/include/llvm/MC/MCStreamer.h @@ -87,6 +87,12 @@ public: virtual void emitPad(int64_t Offset) = 0; virtual void emitRegSave(const SmallVectorImpl<unsigned> &RegList, bool isVector) = 0; + + virtual void switchVendor(StringRef Vendor) = 0; + virtual void emitAttribute(unsigned Attribute, unsigned Value) = 0; + virtual void emitTextAttribute(unsigned Attribute, StringRef String) = 0; + virtual void emitFPU(unsigned FPU) = 0; + virtual void finishAttributeSection() = 0; }; /// MCStreamer - Streaming machine code generation interface. This interface |