Lines Matching refs:MO

31 static MCSymbol *GetSymbolFromOperand(const MachineOperand &MO, AsmPrinter &AP){
35 if (!MO.isGlobal()) {
36 assert(MO.isSymbol() && "Isn't a symbol reference");
38 Name += MO.getSymbolName();
40 const GlobalValue *GV = MO.getGlobal();
42 if (MO.getTargetFlags() == PPCII::MO_DARWIN_STUB ||
43 (MO.getTargetFlags() & PPCII::MO_NLP_FLAG))
51 if (MO.getTargetFlags() == PPCII::MO_DARWIN_STUB) {
59 if (MO.isGlobal()) {
62 StubValueTy(AP.Mang->getSymbol(MO.getGlobal()),
63 !MO.getGlobal()->hasInternalLinkage());
75 if (MO.getTargetFlags() & PPCII::MO_NLP_FLAG) {
82 (MO.getTargetFlags() & PPCII::MO_NLP_HIDDEN_FLAG) ?
86 assert(MO.isGlobal() && "Extern symbol not handled yet");
88 StubValueTy(AP.Mang->getSymbol(MO.getGlobal()),
89 !MO.getGlobal()->hasInternalLinkage());
97 static MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol,
102 if (MO.getTargetFlags() & PPCII::MO_LO16)
104 else if (MO.getTargetFlags() & PPCII::MO_HA16)
109 if (MO.getTargetFlags() & PPCII::MO_PIC_FLAG)
114 if (!MO.isJTI() && MO.getOffset())
116 MCConstantExpr::Create(MO.getOffset(), Ctx),
120 if (MO.getTargetFlags() & PPCII::MO_PIC_FLAG) {
121 const MachineFunction *MF = MO.getParent()->getParent()->getParent();
137 const MachineOperand &MO = MI->getOperand(i);
140 switch (MO.getType()) {
145 assert(!MO.getSubReg() && "Subregs should be eliminated!");
146 MCOp = MCOperand::CreateReg(MO.getReg());
149 MCOp = MCOperand::CreateImm(MO.getImm());
153 MO.getMBB()->getSymbol(), AP.OutContext));
157 MCOp = GetSymbolRef(MO, GetSymbolFromOperand(MO, AP), AP, isDarwin);
160 MCOp = GetSymbolRef(MO, AP.GetJTISymbol(MO.getIndex()), AP, isDarwin);
163 MCOp = GetSymbolRef(MO, AP.GetCPISymbol(MO.getIndex()), AP, isDarwin);
166 MCOp = GetSymbolRef(MO,AP.GetBlockAddressSymbol(MO.getBlockAddress()),AP,