summaryrefslogtreecommitdiff
path: root/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp')
-rw-r--r--llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp
index 87ee312424c8..087045ccb1df 100644
--- a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp
+++ b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp
@@ -17,8 +17,10 @@
#include "llvm/MC/MCSectionELF.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
+#include "llvm/Support/MSP430Attributes.h"
using namespace llvm;
+using namespace llvm::MSP430Attrs;
namespace llvm {
@@ -54,15 +56,14 @@ MSP430TargetELFStreamer::MSP430TargetELFStreamer(MCStreamer &S,
Streamer.emitInt8(1);
// Attribute vector length.
Streamer.emitInt32(11);
- // OFBA_MSPABI_Tag_ISA(4) = 1, MSP430
- Streamer.emitInt8(4);
- Streamer.emitInt8(1);
- // OFBA_MSPABI_Tag_Code_Model(6) = 1, Small
- Streamer.emitInt8(6);
- Streamer.emitInt8(1);
- // OFBA_MSPABI_Tag_Data_Model(8) = 1, Small
- Streamer.emitInt8(8);
- Streamer.emitInt8(1);
+
+ Streamer.emitInt8(TagISA);
+ Streamer.emitInt8(STI.hasFeature(MSP430::FeatureX) ? ISAMSP430X : ISAMSP430);
+ Streamer.emitInt8(TagCodeModel);
+ Streamer.emitInt8(CMSmall);
+ Streamer.emitInt8(TagDataModel);
+ Streamer.emitInt8(DMSmall);
+ // Don't emit TagEnumSize, for full GCC compatibility.
}
MCELFStreamer &MSP430TargetELFStreamer::getStreamer() {