Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: lib/Target/Mips/MipsMCInstLower.cpp

Issue 27690005: [MIPS] Modify LongBranch expansion to work with sandboxing (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Update. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698