Partially revert r253662: some unrelated work was accidentally committed with it.
Sorry. llvm-svn: 253663
This commit is contained in:
parent
be9db3c00a
commit
b700203c8b
@ -439,7 +439,6 @@ bool SelectionDAGISel::runOnMachineFunction(MachineFunction &mf) {
|
||||
if (Fn.hasFnAttribute(Attribute::OptimizeNone))
|
||||
NewOptLevel = CodeGenOpt::None;
|
||||
OptLevelChanger OLC(*this, NewOptLevel);
|
||||
errs() << "OptLevel is -O" << OptLevel << "\n";
|
||||
|
||||
TII = MF->getSubtarget().getInstrInfo();
|
||||
TLI = MF->getSubtarget().getTargetLowering();
|
||||
|
||||
@ -1708,25 +1708,14 @@ bool MipsAsmParser::processInstruction(MCInst &Inst, SMLoc IDLoc,
|
||||
MCOperand::createExpr(GotDispRelocExpr), IDLoc, Instructions);
|
||||
}
|
||||
} else {
|
||||
if (isABI_O32()) {
|
||||
// If it's an external/weak symbol, we expand to:
|
||||
// lw/ld $25, 0($gp)
|
||||
// R_(MICRO)MIPS_CALL16 label
|
||||
// jalr $25
|
||||
const MCExpr *Call16RelocExpr = evaluateRelocExpr(JalExpr, "call16");
|
||||
// If it's an external/weak symbol, we expand to:
|
||||
// lw/ld $25, 0($gp)
|
||||
// R_(MICRO)MIPS_CALL16 label
|
||||
// jalr $25
|
||||
const MCExpr *Call16RelocExpr = evaluateRelocExpr(JalExpr, "call16");
|
||||
|
||||
emitRRX(ABI.ArePtrs64bit() ? Mips::LD : Mips::LW, Mips::T9, Mips::GP,
|
||||
MCOperand::createExpr(Call16RelocExpr), IDLoc, Instructions);
|
||||
} else if (isABI_N32() || isABI_N64()) {
|
||||
// If it's an external/weak symbol, we expand to:
|
||||
// lw/ld $25, 0($gp)
|
||||
// R_(MICRO)MIPS_GOT_DISP label
|
||||
// jalr $25
|
||||
const MCExpr *GotDispRelocExpr = evaluateRelocExpr(JalExpr, "got_disp");
|
||||
|
||||
emitRRX(ABI.ArePtrs64bit() ? Mips::LD : Mips::LW, Mips::T9, Mips::GP,
|
||||
MCOperand::createExpr(GotDispRelocExpr), IDLoc, Instructions);
|
||||
}
|
||||
emitRRX(ABI.ArePtrs64bit() ? Mips::LD : Mips::LW, Mips::T9, Mips::GP,
|
||||
MCOperand::createExpr(Call16RelocExpr), IDLoc, Instructions);
|
||||
}
|
||||
|
||||
MCInst JalrInst;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user