<div dir="ltr">In <a href="https://reviews.llvm.org/D101806">https://reviews.llvm.org/D101806</a> we are going to change call lowering to only inspect the call arguments for ABI attributes, ignoring the callee parameter ABI attributes (if the call is a direct call).<div><br></div><div>The frontend should already properly be setting the call arguments' ABI attributes, especially due to indirect calls where we can't look at a callee's parameter ABI attributes.</div><div><br></div><div>This is in line with [1] where we can't prevent mismatched calling conventions.</div><div><br></div><div>I believe GlobalISel also needs to be fixed to do the same in CallLowering::getAttributesForArgIdx().</div><div><br></div><div>Are there any concerns?</div><div></div><div><br></div><div>[1]: <a href="https://llvm.org/docs/FAQ.html#why-does-instcombine-simplifycfg-turn-a-call-to-a-function-with-a-mismatched-calling-convention-into-unreachable-why-not-make-the-verifier-reject-it">https://llvm.org/docs/FAQ.html#why-does-instcombine-simplifycfg-turn-a-call-to-a-function-with-a-mismatched-calling-convention-into-unreachable-why-not-make-the-verifier-reject-it</a></div></div>