Skip to content

Commit

Permalink
[Inliner] Handle mustprogress functions
Browse files Browse the repository at this point in the history
When inlining `mustprogress` functions, if the caller or the callee has
the attribute, we drop the function attribute. The loops that have the
`llvm.loop.mustprogress` metadata keep their metadata. We do not need to
add new loop metadata to inlined functions because the patch in D86841
already adds the relevant loop metadata in all of the necessary places.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D87262
  • Loading branch information
atmnpatel committed Nov 7, 2020
1 parent 1ca7f05 commit 46a29e9
Show file tree
Hide file tree
Showing 2 changed files with 529 additions and 0 deletions.
1 change: 1 addition & 0 deletions llvm/include/llvm/IR/Attributes.td
Expand Up @@ -294,3 +294,4 @@ def : MergeRule<"adjustCallerStackProbes">;
def : MergeRule<"adjustCallerStackProbeSize">;
def : MergeRule<"adjustMinLegalVectorWidth">;
def : MergeRule<"adjustNullPointerValidAttr">;
def : MergeRule<"setAND<MustProgressAttr>">;

0 comments on commit 46a29e9

Please sign in to comment.