================
@@ -3011,6 +3016,37 @@ void CodeGenModule::ConstructAttributeList(StringRef
Name,
}
assert(ArgNo == FI.arg_size());
+ ArgNo = 0;
+ if (AddedPotentialArgAccess && MemAttrForPtrArgs) {
+ llvm::SmallSet<unsigned, 8> ArgsToSkip;
+ if (IRFunctionArgs.hasSRetArg()) {
+ ArgsToSkip.insert(IRFunctionArgs.getSRetArgNo());
+ }
+ if (IRFunctionArgs.hasInallocaArg()) {
+ ArgsToSkip.insert(IRFunctionArgs.getInallocaArgNo());
+ }
+
+ for (CGFunctionInfo::const_arg_iterator I = FI.arg_begin(),
+ E = FI.arg_end();
+ I != E; ++I, ++ArgNo) {
+ if (I->info.getKind() == ABIArgInfo::Indirect) {
----------------
qchateau wrote:
Good call, it's also much simpler like this
https://github.com/llvm/llvm-project/pull/158424
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits