mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 22:04:55 +00:00
simplify closing paren and (rip) printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73841 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4150c086d0
commit
e372333597
@ -552,6 +552,10 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
||||
|
||||
printOffset(MO.getOffset());
|
||||
|
||||
if (needCloseParen)
|
||||
O << ')';
|
||||
|
||||
bool isRIPRelative = false;
|
||||
if (isThreadLocal) {
|
||||
TLSModel::Model model = getTLSModel(GVar, TM.getRelocationModel());
|
||||
switch (model) {
|
||||
@ -565,7 +569,8 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
||||
case TLSModel::InitialExec:
|
||||
if (Subtarget->is64Bit()) {
|
||||
assert (!NotRIPRel);
|
||||
O << "@GOTTPOFF(%rip)";
|
||||
O << "@GOTTPOFF";
|
||||
isRIPRelative = true;
|
||||
} else {
|
||||
O << "@INDNTPOFF";
|
||||
}
|
||||
@ -585,27 +590,23 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
||||
O << "@GOT";
|
||||
else
|
||||
O << "@GOTOFF";
|
||||
} else if (Subtarget->isPICStyleRIPRel() && !NotRIPRel) {
|
||||
} else if (Subtarget->isPICStyleRIPRel() &&
|
||||
!NotRIPRel) {
|
||||
if (TM.getRelocationModel() != Reloc::Static) {
|
||||
if (Subtarget->GVRequiresExtraLoad(GV, TM, false))
|
||||
O << "@GOTPCREL";
|
||||
|
||||
if (needCloseParen) {
|
||||
needCloseParen = false;
|
||||
O << ')';
|
||||
}
|
||||
}
|
||||
|
||||
// Use rip when possible to reduce code size, except when
|
||||
// index or base register are also part of the address. e.g.
|
||||
// foo(%rip)(%rcx,%rax,4) is not legal
|
||||
O << "(%rip)";
|
||||
|
||||
isRIPRelative = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (needCloseParen)
|
||||
O << ')';
|
||||
|
||||
// Use rip when possible to reduce code size, except when
|
||||
// index or base register are also part of the address. e.g.
|
||||
// foo(%rip)(%rcx,%rax,4) is not legal.
|
||||
if (isRIPRelative)
|
||||
O << "(%rip)";
|
||||
|
||||
return;
|
||||
}
|
||||
case MachineOperand::MO_ExternalSymbol: {
|
||||
|
Loading…
Reference in New Issue
Block a user