summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLogan Chien <tzuhsiang.chien@gmail.com>2013-10-28 17:51:12 +0000
committerLogan Chien <tzuhsiang.chien@gmail.com>2013-10-28 17:51:12 +0000
commit23125d02d929758e1b0dbb30b13f1deff7a5ea4b (patch)
tree4c77dc2e41386fde9ae2f6529488c71689c50616 /include
parent790b973f80c8fd41f0908536409538336242f74d (diff)
downloadllvm-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.h6
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