mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
ARM: remove special cases for Darwin dynamic-no-pic mode.
These are handled almost identically to static mode (and ELF's global address materialisation), except that a symbol may have "$non_lazy_ptr" appended. This can be handled by passing appropriate flags along with the instruction instead of using entirely separate pseudo-instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195655 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1325,10 +1325,8 @@ bool ARMBaseInstrInfo::produceSameValue(const MachineInstr *MI0,
|
||||
Opcode == ARM::t2LDRpci_pic ||
|
||||
Opcode == ARM::tLDRpci ||
|
||||
Opcode == ARM::tLDRpci_pic ||
|
||||
Opcode == ARM::MOV_ga_dyn ||
|
||||
Opcode == ARM::MOV_ga_pcrel ||
|
||||
Opcode == ARM::MOV_ga_pcrel_ldr ||
|
||||
Opcode == ARM::t2MOV_ga_dyn ||
|
||||
Opcode == ARM::t2MOV_ga_pcrel) {
|
||||
if (MI1->getOpcode() != Opcode)
|
||||
return false;
|
||||
@@ -1340,10 +1338,8 @@ bool ARMBaseInstrInfo::produceSameValue(const MachineInstr *MI0,
|
||||
if (MO0.getOffset() != MO1.getOffset())
|
||||
return false;
|
||||
|
||||
if (Opcode == ARM::MOV_ga_dyn ||
|
||||
Opcode == ARM::MOV_ga_pcrel ||
|
||||
if (Opcode == ARM::MOV_ga_pcrel ||
|
||||
Opcode == ARM::MOV_ga_pcrel_ldr ||
|
||||
Opcode == ARM::t2MOV_ga_dyn ||
|
||||
Opcode == ARM::t2MOV_ga_pcrel)
|
||||
// Ignore the PC labels.
|
||||
return MO0.getGlobal() == MO1.getGlobal();
|
||||
|
Reference in New Issue
Block a user