[all-commits] [llvm/llvm-project] 5ecc64: FunctionAttrs: Basic propagation of nofpclass
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Sat Feb 21 03:31:36 PST 2026
Branch: refs/heads/users/arsenm/function-attrs/basic-propagate-nofpclass
Home: https://github.com/llvm/llvm-project
Commit: 5ecc64aea3f9a20756583bd91de5e6bb2627165d
https://github.com/llvm/llvm-project/commit/5ecc64aea3f9a20756583bd91de5e6bb2627165d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
A llvm/test/Transforms/FunctionAttrs/nofpclass.ll
Log Message:
-----------
FunctionAttrs: Basic propagation of nofpclass
Perform caller->callee propagation of nofpclass on callsites. As
far as I can tell the only prior callsite to callee propagation here
was for norecurse. This doesn't handle transitive callers.
I was hoping to avoid doing this, and instead get attributor/attributor-light
enabled in the default pass pipeline. nofpclass propagation enabled by
default is the main blocker for eliminating the finite_only_opt global
check in device-libs, but this single level of propagation is most likely
sufficient for that use. Implemnting this here is probably the most expedient
path to removing the control library.
Commit: aa13cd677e0c52a5a7f52c09db47ccf759eb8230
https://github.com/llvm/llvm-project/commit/aa13cd677e0c52a5a7f52c09db47ccf759eb8230
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-21 (Sat, 21 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
Log Message:
-----------
Address comments
Compare: https://github.com/llvm/llvm-project/compare/a4107278677b...aa13cd677e0c
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list