@@ -66,7 +66,7 @@ static MCAsmInfo *createARM64MCAsmInfo(const MCRegisterInfo &MRI,
66
66
MAI = new ARM64MCAsmInfoDarwin ();
67
67
else {
68
68
assert (TheTriple.isOSBinFormatELF () && " Only expect Darwin or ELF" );
69
- MAI = new ARM64MCAsmInfoELF ();
69
+ MAI = new ARM64MCAsmInfoELF (TT );
70
70
}
71
71
72
72
// Initial state of the frame pointer is SP.
@@ -139,33 +139,46 @@ static MCStreamer *createMCStreamer(const Target &T, StringRef TT,
139
139
// Force static initialization.
140
140
extern " C" void LLVMInitializeARM64TargetMC () {
141
141
// Register the MC asm info.
142
- RegisterMCAsmInfoFn X (TheARM64Target, createARM64MCAsmInfo);
142
+ RegisterMCAsmInfoFn X (TheARM64leTarget, createARM64MCAsmInfo);
143
+ RegisterMCAsmInfoFn Y (TheARM64beTarget, createARM64MCAsmInfo);
143
144
144
145
// Register the MC codegen info.
145
- TargetRegistry::RegisterMCCodeGenInfo (TheARM64Target,
146
+ TargetRegistry::RegisterMCCodeGenInfo (TheARM64leTarget,
147
+ createARM64MCCodeGenInfo);
148
+ TargetRegistry::RegisterMCCodeGenInfo (TheARM64beTarget,
146
149
createARM64MCCodeGenInfo);
147
150
148
151
// Register the MC instruction info.
149
- TargetRegistry::RegisterMCInstrInfo (TheARM64Target, createARM64MCInstrInfo);
152
+ TargetRegistry::RegisterMCInstrInfo (TheARM64leTarget, createARM64MCInstrInfo);
153
+ TargetRegistry::RegisterMCInstrInfo (TheARM64beTarget, createARM64MCInstrInfo);
150
154
151
155
// Register the MC register info.
152
- TargetRegistry::RegisterMCRegInfo (TheARM64Target, createARM64MCRegisterInfo);
156
+ TargetRegistry::RegisterMCRegInfo (TheARM64leTarget, createARM64MCRegisterInfo);
157
+ TargetRegistry::RegisterMCRegInfo (TheARM64beTarget, createARM64MCRegisterInfo);
153
158
154
159
// Register the MC subtarget info.
155
- TargetRegistry::RegisterMCSubtargetInfo (TheARM64Target,
160
+ TargetRegistry::RegisterMCSubtargetInfo (TheARM64leTarget,
161
+ createARM64MCSubtargetInfo);
162
+ TargetRegistry::RegisterMCSubtargetInfo (TheARM64beTarget,
156
163
createARM64MCSubtargetInfo);
157
164
158
165
// Register the asm backend.
159
- TargetRegistry::RegisterMCAsmBackend (TheARM64Target, createARM64AsmBackend);
166
+ TargetRegistry::RegisterMCAsmBackend (TheARM64leTarget, createARM64leAsmBackend);
167
+ TargetRegistry::RegisterMCAsmBackend (TheARM64beTarget, createARM64beAsmBackend);
160
168
161
169
// Register the MC Code Emitter
162
- TargetRegistry::RegisterMCCodeEmitter (TheARM64Target,
170
+ TargetRegistry::RegisterMCCodeEmitter (TheARM64leTarget,
171
+ createARM64MCCodeEmitter);
172
+ TargetRegistry::RegisterMCCodeEmitter (TheARM64beTarget,
163
173
createARM64MCCodeEmitter);
164
174
165
175
// Register the object streamer.
166
- TargetRegistry::RegisterMCObjectStreamer (TheARM64Target, createMCStreamer);
176
+ TargetRegistry::RegisterMCObjectStreamer (TheARM64leTarget, createMCStreamer);
177
+ TargetRegistry::RegisterMCObjectStreamer (TheARM64beTarget, createMCStreamer);
167
178
168
179
// Register the MCInstPrinter.
169
- TargetRegistry::RegisterMCInstPrinter (TheARM64Target,
180
+ TargetRegistry::RegisterMCInstPrinter (TheARM64leTarget,
181
+ createARM64MCInstPrinter);
182
+ TargetRegistry::RegisterMCInstPrinter (TheARM64beTarget,
170
183
createARM64MCInstPrinter);
171
184
}
0 commit comments