[PATCH] D70366: Add new 'flatten' LLVM attribute to fix clang's 'flatten' function attribute

Johannes Doerfert via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 29 10:17:30 PST 2019


jdoerfert added a comment.

We need more tests here.

For one, the flatten attribute is not necessary to pass the test.
Second, we need to check the corner cases, e.g. reduction with different cycle lengths.



================
Comment at: llvm/docs/LangRef.rst:1428
     can prove that the call/invoke cannot call a convergent function.
+``flatten``
+    This attribute is similar to ``alwaysinline``, but applies recursively to
----------------
LevitatingLion wrote:
> arsenm wrote:
> > It's not obvious to me what the flatten name means. flatteninline? recursive_alwaysinline? Something else?
> I agree. What about always_inline_recurse or always_inline_recursively?
I'd prefer `always_inline_recursively` or `recursive_alwaysinline` so far. Though something shorter would be fine too.
`always_inline_rec` maybe?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70366





More information about the cfe-commits mailing list