diff options
author | Greg Roth <grroth@microsoft.com> | 2024-09-17 11:09:42 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-17 10:09:42 -0700 |
commit | a729e706de3fc6ebee49ede3c50afb47f2e29191 (patch) | |
tree | ec1e8d8b1ec96d8036e70ae9e1eb31a3c91e3c8e /flang/unittests/Frontend/CodeGenActionTest.cpp | |
parent | c23d6df60d62f971d957e730f6fe55ea89541f6b (diff) | |
download | llvm-a729e706de3fc6ebee49ede3c50afb47f2e29191.zip llvm-a729e706de3fc6ebee49ede3c50afb47f2e29191.tar.gz llvm-a729e706de3fc6ebee49ede3c50afb47f2e29191.tar.bz2 |
[HLSL] set alwaysinline on HLSL functions (#106588)
HLSL inlines all its functions by default. This uses the alwaysinline
attribute to make the alwaysinliner pass inline any function not
explicitly marked noinline by the user or autogeneration. The
alwayslinline marking takes place in `SetLLVMFunctionAttributesForDefinitions`
where all other inlining interactions are determined.
The outermost entry function is marked noinline because there's no
reason to inline it. Any user calls to an entry function will instead call
the internal mangled version of the entry function.
Adds tests for function and constructor inlining and augments some
existing tests to verify correct inlining of implicitly created
functions as well.
Incidentally restore RUN line that I believe was mistakenly removed as
part of #88918
Fixes #89282
Diffstat (limited to 'flang/unittests/Frontend/CodeGenActionTest.cpp')
0 files changed, 0 insertions, 0 deletions