eugenis added inline comments.
================ Comment at: clang/lib/CodeGen/CGCall.cpp:4095 + } + } call->setCallingConv(getRuntimeCC()); ---------------- guiand wrote: > jdoerfert wrote: > > Why would we do this? Function attributes are valid at the call site, no > > need to copy them. > Do you mean that for some definition: `define @foo(i32 frozen %a, i32 frozen > %b)`, it's valid to issue a call instruction like `call @foo(i32 %a, i32 %b)` > and its operands will be correctly identified as `frozen`? That's the kind of > behavior I was seeing and I wasn't sure if it was an error. If you see CallBase::paramHasAttr, function definition attributes will be taken into account when available. I'm not sure what happens for indirect calls that do not have a Callee - we need to make sure that the frontend emits the callsite attributes that match the signature of the call. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81678/new/ https://reviews.llvm.org/D81678 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits