mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-24 12:50:42 +00:00
Refactor duplicated code. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272904 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
bb6bdeccf1
commit
cb6c7a5185
@ -1798,9 +1798,14 @@ ARMTargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
|
||||
|
||||
const TargetMachine &TM = getTargetMachine();
|
||||
Reloc::Model RM = TM.getRelocationModel();
|
||||
const Triple &TargetTriple = TM.getTargetTriple();
|
||||
const Module *Mod = MF.getFunction()->getParent();
|
||||
const GlobalValue *GV = nullptr;
|
||||
if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee))
|
||||
GV = G->getGlobal();
|
||||
bool isStub =
|
||||
!shouldAssumeDSOLocal(RM, TargetTriple, *Mod, GV) &&
|
||||
Subtarget->isTargetMachO();
|
||||
|
||||
bool isARMFunc = false;
|
||||
bool isLocalARMFunc = false;
|
||||
@ -1846,10 +1851,6 @@ ARMTargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
|
||||
} else if (isa<GlobalAddressSDNode>(Callee)) {
|
||||
isDirect = true;
|
||||
bool isDef = GV->isStrongDefinitionForLinker();
|
||||
const Triple &TargetTriple = TM.getTargetTriple();
|
||||
bool isStub =
|
||||
!shouldAssumeDSOLocal(RM, TargetTriple, *GV->getParent(), GV) &&
|
||||
Subtarget->isTargetMachO();
|
||||
|
||||
isARMFunc = !Subtarget->isThumb() || (isStub && !Subtarget->isMClass());
|
||||
// ARM call to a local ARM function is predicable.
|
||||
@ -1887,8 +1888,6 @@ ARMTargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
|
||||
}
|
||||
} else if (ExternalSymbolSDNode *S = dyn_cast<ExternalSymbolSDNode>(Callee)) {
|
||||
isDirect = true;
|
||||
bool isStub = Subtarget->isTargetMachO() &&
|
||||
getTargetMachine().getRelocationModel() != Reloc::Static;
|
||||
isARMFunc = !Subtarget->isThumb() || (isStub && !Subtarget->isMClass());
|
||||
// tBX takes a register source operand.
|
||||
const char *Sym = S->getSymbol();
|
||||
|
Loading…
x
Reference in New Issue
Block a user