mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[GlobalISel][CallLowering] Tighten constantexpr check for callee.
I'm not sure there's a test case for this, but it's better to be safe.
This commit is contained in:
parent
bf5760c5ab
commit
b69eda2e73
@ -56,7 +56,8 @@ bool CallLowering::lowerCall(MachineIRBuilder &MIRBuilder, ImmutableCallSite CS,
|
||||
// Try looking through a bitcast from one function type to another.
|
||||
// Commonly happens with calls to objc_msgSend().
|
||||
const Value *CalleeV = CS.getCalledValue();
|
||||
if (auto *BC = dyn_cast<ConstantExpr>(CalleeV)) {
|
||||
auto *BC = dyn_cast<ConstantExpr>(CalleeV);
|
||||
if (BC && BC->getOpcode() == Instruction::BitCast) {
|
||||
if (const auto *F = dyn_cast<Function>(BC->getOperand(0))) {
|
||||
Info.Callee = MachineOperand::CreateGA(F, 0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user