[PATCH] D92623: [inliner] Apply nomerge attribute to all call sites inside inlined function.

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 7 13:57:03 PST 2020


asbirlea added a comment.

According to: https://clang.llvm.org/docs/AttributeReference.html#nomerge, the existance of the attribute should prevent call site merging, so the change makes sense.
However, in the test example then, if there was branching and two `@f` calls inside `@bar`, it would be correct to merge the `@f` call sites (no attribute preventing that inside) when processing `@bar`. But after inlining, that's no longer allowed if the attribute is distributed to all callsites inside the function.
This is a contradiction that needs clarification from folks more familiar with the Inliner.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92623/new/

https://reviews.llvm.org/D92623



More information about the llvm-commits mailing list