[clang] [llvm] [Inliner] Propagate more attributes to params when inlining (PR #91101)
via llvm-commits
llvm-commits at lists.llvm.org
Wed May 22 14:24:39 PDT 2024
================
@@ -1427,8 +1429,20 @@ static void AddParamAndFnBasicAttributes(const CallBase &CB,
ValidExactParamAttrs[ArgNo].getAlignment().valueOrOne())
AL = AL.removeParamAttribute(Context, I, Attribute::Alignment);
+ auto ExistingRange = AL.getParamRange(I);
AL = AL.addParamAttributes(Context, I, ValidExactParamAttrs[ArgNo]);
+ // For range we use the exact intersection.
+ if (ExistingRange.has_value()) {
+ if (auto NewRange = ValidExactParamAttrs[ArgNo].getRange()) {
+ auto CombinedRange = ExistingRange->exactIntersectWith(*NewRange);
----------------
goldsteinn wrote:
Fixed + tests
https://github.com/llvm/llvm-project/pull/91101
More information about the llvm-commits
mailing list