Lines Matching refs:MO

32 static MCSymbol *GetSymbolFromOperand(const MachineOperand &MO,  in GetSymbolFromOperand()  argument
40 if (!MO.isGlobal()) { in GetSymbolFromOperand()
41 assert(MO.isSymbol() && "Isn't a symbol reference"); in GetSymbolFromOperand()
42 Mangler::getNameWithPrefix(Name, MO.getSymbolName(), DL); in GetSymbolFromOperand()
44 const GlobalValue *GV = MO.getGlobal(); in GetSymbolFromOperand()
53 static MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol, in GetSymbolRef() argument
58 unsigned access = MO.getTargetFlags() & PPCII::MO_ACCESS_MASK; in GetSymbolRef()
77 bool IsPCRel = (MO.getTargetFlags() & ~access) == PPCII::MO_PCREL_FLAG; in GetSymbolRef()
83 if (MO.getTargetFlags() == PPCII::MO_PLT) in GetSymbolRef()
85 else if (MO.getTargetFlags() == PPCII::MO_PCREL_FLAG) in GetSymbolRef()
87 else if (MO.getTargetFlags() == (PPCII::MO_PCREL_FLAG | PPCII::MO_GOT_FLAG)) in GetSymbolRef()
89 else if (MO.getTargetFlags() == (PPCII::MO_PCREL_FLAG | PPCII::MO_TPREL_FLAG)) in GetSymbolRef()
91 else if (MO.getTargetFlags() == PPCII::MO_GOT_TLSGD_PCREL_FLAG) in GetSymbolRef()
93 else if (MO.getTargetFlags() == PPCII::MO_GOT_TLSLD_PCREL_FLAG) in GetSymbolRef()
95 else if (MO.getTargetFlags() == PPCII::MO_GOT_TPREL_PCREL_FLAG) in GetSymbolRef()
98 const MachineInstr *MI = MO.getParent(); in GetSymbolRef()
113 if (MO.getTargetFlags() == PPCII::MO_PCREL_OPT_FLAG) in GetSymbolRef()
121 MO.getTargetFlags() == PPCII::MO_PLT) in GetSymbolRef()
125 if (!MO.isJTI() && MO.getOffset()) in GetSymbolRef()
127 MCConstantExpr::create(MO.getOffset(), Ctx), in GetSymbolRef()
131 if (MO.getTargetFlags() & PPCII::MO_PIC_FLAG) { in GetSymbolRef()
132 const MachineFunction *MF = MO.getParent()->getParent()->getParent(); in GetSymbolRef()
162 bool llvm::LowerPPCMachineOperandToMCOperand(const MachineOperand &MO, in LowerPPCMachineOperandToMCOperand() argument
164 switch (MO.getType()) { in LowerPPCMachineOperandToMCOperand()
168 assert(!MO.getSubReg() && "Subregs should be eliminated!"); in LowerPPCMachineOperandToMCOperand()
169 assert(MO.getReg() > PPC::NoRegister && in LowerPPCMachineOperandToMCOperand()
170 MO.getReg() < PPC::NUM_TARGET_REGS && in LowerPPCMachineOperandToMCOperand()
173 if (MO.isImplicit()) in LowerPPCMachineOperandToMCOperand()
175 OutMO = MCOperand::createReg(MO.getReg()); in LowerPPCMachineOperandToMCOperand()
178 OutMO = MCOperand::createImm(MO.getImm()); in LowerPPCMachineOperandToMCOperand()
182 MCSymbolRefExpr::create(MO.getMBB()->getSymbol(), AP.OutContext)); in LowerPPCMachineOperandToMCOperand()
186 OutMO = GetSymbolRef(MO, GetSymbolFromOperand(MO, AP), AP); in LowerPPCMachineOperandToMCOperand()
189 OutMO = GetSymbolRef(MO, AP.GetJTISymbol(MO.getIndex()), AP); in LowerPPCMachineOperandToMCOperand()
192 OutMO = GetSymbolRef(MO, AP.GetCPISymbol(MO.getIndex()), AP); in LowerPPCMachineOperandToMCOperand()
196 GetSymbolRef(MO, AP.GetBlockAddressSymbol(MO.getBlockAddress()), AP); in LowerPPCMachineOperandToMCOperand()
199 OutMO = GetSymbolRef(MO, MO.getMCSymbol(), AP); in LowerPPCMachineOperandToMCOperand()