Commit 21c9d9ad authored by Amara Emerson's avatar Amara Emerson
Browse files

[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.
parent 81554393
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);
      }