OLD | NEW |
1 //===-- MipsMCInstLower.cpp - Convert Mips MachineInstr to MCInst ---------===// | 1 //===-- MipsMCInstLower.cpp - Convert Mips MachineInstr to MCInst ---------===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file contains code to lower Mips MachineInstrs to their corresponding | 10 // This file contains code to lower Mips MachineInstrs to their corresponding |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 case MipsII::MO_GPOFF_LO: Kind = MCSymbolRefExpr::VK_Mips_GPOFF_LO; break; | 59 case MipsII::MO_GPOFF_LO: Kind = MCSymbolRefExpr::VK_Mips_GPOFF_LO; break; |
60 case MipsII::MO_GOT_DISP: Kind = MCSymbolRefExpr::VK_Mips_GOT_DISP; break; | 60 case MipsII::MO_GOT_DISP: Kind = MCSymbolRefExpr::VK_Mips_GOT_DISP; break; |
61 case MipsII::MO_GOT_PAGE: Kind = MCSymbolRefExpr::VK_Mips_GOT_PAGE; break; | 61 case MipsII::MO_GOT_PAGE: Kind = MCSymbolRefExpr::VK_Mips_GOT_PAGE; break; |
62 case MipsII::MO_GOT_OFST: Kind = MCSymbolRefExpr::VK_Mips_GOT_OFST; break; | 62 case MipsII::MO_GOT_OFST: Kind = MCSymbolRefExpr::VK_Mips_GOT_OFST; break; |
63 case MipsII::MO_HIGHER: Kind = MCSymbolRefExpr::VK_Mips_HIGHER; break; | 63 case MipsII::MO_HIGHER: Kind = MCSymbolRefExpr::VK_Mips_HIGHER; break; |
64 case MipsII::MO_HIGHEST: Kind = MCSymbolRefExpr::VK_Mips_HIGHEST; break; | 64 case MipsII::MO_HIGHEST: Kind = MCSymbolRefExpr::VK_Mips_HIGHEST; break; |
65 case MipsII::MO_GOT_HI16: Kind = MCSymbolRefExpr::VK_Mips_GOT_HI16; break; | 65 case MipsII::MO_GOT_HI16: Kind = MCSymbolRefExpr::VK_Mips_GOT_HI16; break; |
66 case MipsII::MO_GOT_LO16: Kind = MCSymbolRefExpr::VK_Mips_GOT_LO16; break; | 66 case MipsII::MO_GOT_LO16: Kind = MCSymbolRefExpr::VK_Mips_GOT_LO16; break; |
67 case MipsII::MO_CALL_HI16: Kind = MCSymbolRefExpr::VK_Mips_CALL_HI16; break; | 67 case MipsII::MO_CALL_HI16: Kind = MCSymbolRefExpr::VK_Mips_CALL_HI16; break; |
68 case MipsII::MO_CALL_LO16: Kind = MCSymbolRefExpr::VK_Mips_CALL_LO16; break; | 68 case MipsII::MO_CALL_LO16: Kind = MCSymbolRefExpr::VK_Mips_CALL_LO16; break; |
| 69 // @LOCALMOD-START |
| 70 case MipsII::MO_NACL_LONG_BRANCH_HI16: |
| 71 Kind = MCSymbolRefExpr::VK_Mips_NACL_LONG_BRANCH_HI16; break; |
| 72 case MipsII::MO_NACL_LONG_BRANCH_LO16: |
| 73 Kind = MCSymbolRefExpr::VK_Mips_NACL_LONG_BRANCH_LO16; break; |
| 74 // @LOCALMOD-END |
69 } | 75 } |
70 | 76 |
71 switch (MOTy) { | 77 switch (MOTy) { |
72 case MachineOperand::MO_MachineBasicBlock: | 78 case MachineOperand::MO_MachineBasicBlock: |
73 Symbol = MO.getMBB()->getSymbol(); | 79 Symbol = MO.getMBB()->getSymbol(); |
74 break; | 80 break; |
75 | 81 |
76 case MachineOperand::MO_GlobalAddress: | 82 case MachineOperand::MO_GlobalAddress: |
77 Symbol = Mang->getSymbol(MO.getGlobal()); | 83 Symbol = Mang->getSymbol(MO.getGlobal()); |
78 Offset += MO.getOffset(); | 84 Offset += MO.getOffset(); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 | 163 |
158 for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) { | 164 for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) { |
159 const MachineOperand &MO = MI->getOperand(i); | 165 const MachineOperand &MO = MI->getOperand(i); |
160 MCOperand MCOp = LowerOperand(MO); | 166 MCOperand MCOp = LowerOperand(MO); |
161 | 167 |
162 if (MCOp.isValid()) | 168 if (MCOp.isValid()) |
163 OutMI.addOperand(MCOp); | 169 OutMI.addOperand(MCOp); |
164 } | 170 } |
165 } | 171 } |
166 | 172 |
OLD | NEW |