[llvm] Make `IntrinsicLowering` external function call lowering configurable (PR #102148)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 13 04:24:09 PDT 2024


arsenm wrote:

> > This whole area is a mess with redundant handling. I think this pass needs to be broken down into a set of utility functions, and not turned into a point of configuration. I think this version is only used by fast-isel, and ignores any kind of legality checks.
> 
> But `IntrinsicLowering` is no pass per se, it is a standalone class that is being invoked by passes.

Right and as written it's basically baking in the is-x86-or-arm assumption. It is not checking TargetLibraryInfo and/or RuntimeLibcalls, or any TargetLowering information for how to handle these intrinsics. It should just be doing that instead of relying on clients to hack out the skip-libcall cases 

https://github.com/llvm/llvm-project/pull/102148


More information about the llvm-commits mailing list