1313
1414#include " AArch64MCInstLower.h"
1515#include " AArch64MachineFunctionInfo.h"
16- #include " MCTargetDesc/AArch64MCExpr .h"
16+ #include " MCTargetDesc/AArch64MCAsmInfo .h"
1717#include " Utils/AArch64BaseInfo.h"
1818#include " llvm/CodeGen/AsmPrinter.h"
1919#include " llvm/CodeGen/MachineBasicBlock.h"
@@ -147,29 +147,29 @@ MCOperand AArch64MCInstLower::lowerSymbolOperandMachO(const MachineOperand &MO,
147147 MCSymbol *Sym) const {
148148 // FIXME: We would like an efficient form for this, so we don't have to do a
149149 // lot of extra uniquing.
150- auto Spec = AArch64MCExpr::None ;
150+ auto Spec = AArch64::S_None ;
151151 if ((MO.getTargetFlags () & AArch64II::MO_GOT) != 0 ) {
152152 if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_PAGE)
153- Spec = AArch64MCExpr::M_GOTPAGE ;
153+ Spec = AArch64::S_MACHO_GOTPAGE ;
154154 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) ==
155155 AArch64II::MO_PAGEOFF)
156- Spec = AArch64MCExpr::M_GOTPAGEOFF ;
156+ Spec = AArch64::S_MACHO_GOTPAGEOFF ;
157157 else
158158 llvm_unreachable (" Unexpected target flags with MO_GOT on GV operand" );
159159 } else if ((MO.getTargetFlags () & AArch64II::MO_TLS) != 0 ) {
160160 if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_PAGE)
161- Spec = AArch64MCExpr::M_TLVPPAGE ;
161+ Spec = AArch64::S_MACHO_TLVPPAGE ;
162162 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) ==
163163 AArch64II::MO_PAGEOFF)
164- Spec = AArch64MCExpr::M_TLVPPAGEOFF ;
164+ Spec = AArch64::S_MACHO_TLVPPAGEOFF ;
165165 else
166166 llvm_unreachable (" Unexpected target flags with MO_TLS on GV operand" );
167167 } else {
168168 if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_PAGE)
169- Spec = AArch64MCExpr::M_PAGE ;
169+ Spec = AArch64::S_MACHO_PAGE ;
170170 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) ==
171171 AArch64II::MO_PAGEOFF)
172- Spec = AArch64MCExpr::M_PAGEOFF ;
172+ Spec = AArch64::S_MACHO_PAGEOFF ;
173173 }
174174 // TODO: Migrate to MCSpecifierExpr::create like ELF.
175175 const MCExpr *Expr = MCSymbolRefExpr::create (Sym, Spec, Ctx);
@@ -186,8 +186,8 @@ MCOperand AArch64MCInstLower::lowerSymbolOperandELF(const MachineOperand &MO,
186186 if (MO.getTargetFlags () & AArch64II::MO_GOT) {
187187 const MachineFunction *MF = MO.getParent ()->getParent ()->getParent ();
188188 RefFlags |= (MF->getInfo <AArch64FunctionInfo>()->hasELFSignedGOT ()
189- ? AArch64MCExpr::VK_GOT_AUTH
190- : AArch64MCExpr::VK_GOT );
189+ ? AArch64::S_GOT_AUTH
190+ : AArch64::S_GOT );
191191 } else if (MO.getTargetFlags () & AArch64II::MO_TLS) {
192192 TLSModel::Model Model;
193193 if (MO.isGlobal ()) {
@@ -211,13 +211,13 @@ MCOperand AArch64MCInstLower::lowerSymbolOperandELF(const MachineOperand &MO,
211211 }
212212 switch (Model) {
213213 case TLSModel::InitialExec:
214- RefFlags |= AArch64MCExpr::VK_GOTTPREL ;
214+ RefFlags |= AArch64::S_GOTTPREL ;
215215 break ;
216216 case TLSModel::LocalExec:
217- RefFlags |= AArch64MCExpr::VK_TPREL ;
217+ RefFlags |= AArch64::S_TPREL ;
218218 break ;
219219 case TLSModel::LocalDynamic:
220- RefFlags |= AArch64MCExpr::VK_DTPREL ;
220+ RefFlags |= AArch64::S_DTPREL ;
221221 break ;
222222 case TLSModel::GeneralDynamic: {
223223 // TODO: it's probably better to introduce MO_TLS_AUTH or smth and avoid
@@ -226,37 +226,37 @@ MCOperand AArch64MCInstLower::lowerSymbolOperandELF(const MachineOperand &MO,
226226 // making the field wider breaks static assertions.
227227 const MachineFunction *MF = MO.getParent ()->getParent ()->getParent ();
228228 RefFlags |= MF->getInfo <AArch64FunctionInfo>()->hasELFSignedGOT ()
229- ? AArch64MCExpr::VK_TLSDESC_AUTH
230- : AArch64MCExpr::VK_TLSDESC ;
229+ ? AArch64::S_TLSDESC_AUTH
230+ : AArch64::S_TLSDESC ;
231231 break ;
232232 }
233233 }
234234 } else if (MO.getTargetFlags () & AArch64II::MO_PREL) {
235- RefFlags |= AArch64MCExpr::VK_PREL ;
235+ RefFlags |= AArch64::S_PREL ;
236236 } else {
237237 // No modifier means this is a generic reference, classified as absolute for
238238 // the cases where it matters (:abs_g0: etc).
239- RefFlags |= AArch64MCExpr::VK_ABS ;
239+ RefFlags |= AArch64::S_ABS ;
240240 }
241241
242242 if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_PAGE)
243- RefFlags |= AArch64MCExpr::VK_PAGE ;
243+ RefFlags |= AArch64::S_PAGE ;
244244 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) ==
245245 AArch64II::MO_PAGEOFF)
246- RefFlags |= AArch64MCExpr::VK_PAGEOFF ;
246+ RefFlags |= AArch64::S_PAGEOFF ;
247247 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_G3)
248- RefFlags |= AArch64MCExpr::VK_G3 ;
248+ RefFlags |= AArch64::S_G3 ;
249249 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_G2)
250- RefFlags |= AArch64MCExpr::VK_G2 ;
250+ RefFlags |= AArch64::S_G2 ;
251251 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_G1)
252- RefFlags |= AArch64MCExpr::VK_G1 ;
252+ RefFlags |= AArch64::S_G1 ;
253253 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_G0)
254- RefFlags |= AArch64MCExpr::VK_G0 ;
254+ RefFlags |= AArch64::S_G0 ;
255255 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_HI12)
256- RefFlags |= AArch64MCExpr::VK_HI12 ;
256+ RefFlags |= AArch64::S_HI12 ;
257257
258258 if (MO.getTargetFlags () & AArch64II::MO_NC)
259- RefFlags |= AArch64MCExpr::VK_NC ;
259+ RefFlags |= AArch64::S_NC ;
260260
261261 const MCExpr *Expr = MCSymbolRefExpr::create (Sym, Ctx);
262262 if (!MO.isJTI () && MO.getOffset ())
@@ -276,31 +276,31 @@ MCOperand AArch64MCInstLower::lowerSymbolOperandCOFF(const MachineOperand &MO,
276276
277277 if (MO.getTargetFlags () & AArch64II::MO_TLS) {
278278 if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_PAGEOFF)
279- RefFlags |= AArch64MCExpr::VK_SECREL_LO12 ;
279+ RefFlags |= AArch64::S_SECREL_LO12 ;
280280 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) ==
281281 AArch64II::MO_HI12)
282- RefFlags |= AArch64MCExpr::VK_SECREL_HI12 ;
282+ RefFlags |= AArch64::S_SECREL_HI12 ;
283283
284284 } else if (MO.getTargetFlags () & AArch64II::MO_S) {
285- RefFlags |= AArch64MCExpr::VK_SABS ;
285+ RefFlags |= AArch64::S_SABS ;
286286 } else {
287- RefFlags |= AArch64MCExpr::VK_ABS ;
287+ RefFlags |= AArch64::S_ABS ;
288288
289289 if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_PAGE)
290- RefFlags |= AArch64MCExpr::VK_PAGE ;
290+ RefFlags |= AArch64::S_PAGE ;
291291 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) ==
292292 AArch64II::MO_PAGEOFF)
293- RefFlags |= AArch64MCExpr::VK_PAGEOFF | AArch64MCExpr::VK_NC ;
293+ RefFlags |= AArch64::S_PAGEOFF | AArch64::S_NC ;
294294 }
295295
296296 if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_G3)
297- RefFlags |= AArch64MCExpr::VK_G3 ;
297+ RefFlags |= AArch64::S_G3 ;
298298 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_G2)
299- RefFlags |= AArch64MCExpr::VK_G2 ;
299+ RefFlags |= AArch64::S_G2 ;
300300 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_G1)
301- RefFlags |= AArch64MCExpr::VK_G1 ;
301+ RefFlags |= AArch64::S_G1 ;
302302 else if ((MO.getTargetFlags () & AArch64II::MO_FRAGMENT) == AArch64II::MO_G0)
303- RefFlags |= AArch64MCExpr::VK_G0 ;
303+ RefFlags |= AArch64::S_G0 ;
304304
305305 // FIXME: Currently we only set VK_NC for MO_G3/MO_G2/MO_G1/MO_G0. This is
306306 // because setting VK_NC for others would mean setting their respective
@@ -309,7 +309,7 @@ MCOperand AArch64MCInstLower::lowerSymbolOperandCOFF(const MachineOperand &MO,
309309 auto MOFrag = (MO.getTargetFlags () & AArch64II::MO_FRAGMENT);
310310 if (MOFrag == AArch64II::MO_G3 || MOFrag == AArch64II::MO_G2 ||
311311 MOFrag == AArch64II::MO_G1 || MOFrag == AArch64II::MO_G0)
312- RefFlags |= AArch64MCExpr::VK_NC ;
312+ RefFlags |= AArch64::S_NC ;
313313 }
314314
315315 const MCExpr *Expr = MCSymbolRefExpr::create (Sym, Ctx);
@@ -318,8 +318,7 @@ MCOperand AArch64MCInstLower::lowerSymbolOperandCOFF(const MachineOperand &MO,
318318 Expr, MCConstantExpr::create (MO.getOffset (), Ctx), Ctx);
319319
320320 auto RefKind = static_cast <AArch64MCExpr::Specifier>(RefFlags);
321- assert (RefKind != AArch64MCExpr::VK_INVALID &&
322- " Invalid relocation requested" );
321+ assert (RefKind != AArch64::S_INVALID && " Invalid relocation requested" );
323322 Expr = MCSpecifierExpr::create (Expr, RefKind, Ctx);
324323
325324 return MCOperand::createExpr (Expr);
0 commit comments