mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-05 01:31:05 +00:00
the "isDirectCall" operand of GVRequiresRegister is always false, eliminate it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75229 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0aa43de1d0
commit
04b304caf6
@ -7078,7 +7078,7 @@ bool X86TargetLowering::isLegalAddressingMode(const AddrMode &AM,
|
||||
if (Subtarget->GVRequiresExtraLoad(AM.BaseGV, getTargetMachine(), false))
|
||||
return false;
|
||||
// If BaseGV requires a register, we cannot also have a BaseReg.
|
||||
if (Subtarget->GVRequiresRegister(AM.BaseGV, getTargetMachine(), false) &&
|
||||
if (Subtarget->GVRequiresRegister(AM.BaseGV, getTargetMachine()) &&
|
||||
AM.HasBaseReg)
|
||||
return false;
|
||||
|
||||
@ -8841,8 +8841,8 @@ void X86TargetLowering::LowerAsmOperandForConstraint(SDValue Op,
|
||||
}
|
||||
// If we require an extra load to get this address, as in PIC mode, we
|
||||
// can't accept it.
|
||||
if (Subtarget->GVRequiresExtraLoad(GA->getGlobal(),
|
||||
getTargetMachine(), false))
|
||||
if (Subtarget->GVRequiresExtraLoad(GA->getGlobal(), getTargetMachine(),
|
||||
false))
|
||||
return;
|
||||
|
||||
if (hasMemory)
|
||||
|
@ -76,15 +76,14 @@ bool X86Subtarget::GVRequiresExtraLoad(const GlobalValue* GV,
|
||||
/// cases where GVRequiresExtraLoad is true. Some variations of PIC require
|
||||
/// a register, but not an extra load.
|
||||
bool X86Subtarget::GVRequiresRegister(const GlobalValue *GV,
|
||||
const TargetMachine& TM,
|
||||
bool isDirectCall) const {
|
||||
if (GVRequiresExtraLoad(GV, TM, isDirectCall))
|
||||
const TargetMachine &TM) const {
|
||||
if (GVRequiresExtraLoad(GV, TM, false))
|
||||
return true;
|
||||
|
||||
// Code below here need only consider cases where GVRequiresExtraLoad
|
||||
// returns false.
|
||||
if (TM.getRelocationModel() == Reloc::PIC_)
|
||||
return !isDirectCall &&
|
||||
(GV->hasLocalLinkage() || GV->hasExternalLinkage());
|
||||
return GV->hasLocalLinkage() || GV->hasExternalLinkage();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -201,14 +201,13 @@ public:
|
||||
/// symbols are indirect, loading the value at address GV rather then the
|
||||
/// value of GV itself. This means that the GlobalAddress must be in the base
|
||||
/// or index register of the address, not the GV offset field.
|
||||
bool GVRequiresExtraLoad(const GlobalValue* GV, const TargetMachine& TM,
|
||||
bool GVRequiresExtraLoad(const GlobalValue* GV, const TargetMachine &TM,
|
||||
bool isDirectCall) const;
|
||||
|
||||
/// True if accessing the GV requires a register. This is a superset of the
|
||||
/// cases where GVRequiresExtraLoad is true. Some variations of PIC require
|
||||
/// a register, but not an extra load.
|
||||
bool GVRequiresRegister(const GlobalValue* GV, const TargetMachine& TM,
|
||||
bool isDirectCall) const;
|
||||
bool GVRequiresRegister(const GlobalValue* GV, const TargetMachine &TM) const;
|
||||
|
||||
/// IsLegalToCallImmediateAddr - Return true if the subtarget allows calls
|
||||
/// to immediate address.
|
||||
|
Loading…
x
Reference in New Issue
Block a user