[llvm] [clang] [WIP] Correct lowering of `fp128` intrinsics (PR #76558)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 3 14:39:32 PST 2024


efriedma-quic wrote:

This is basically the approach I was expecting: we check the type of "long double" when we build the TargetLowering, and pick appropriate names based on that.

I expect that for -mlong-double-128, you just want to add a module flag that overrides the default choice.

I think I'd prefer to keep the clang type information computation independent from the backend's type information, even if it overlaps.  We try to layer the clang frontend so it isn't directly tied to LLVM IR outside of CodeGen.

My first thought was that the computation of the defaults should be in the backend, not Triple.h, since nothing else needs it at the moment.  But I guess it could be useful outside the backend, so maybe that's fine.  (At the moment, all the relevant optimizations just check the type of the call itself, but I can imagine certain optimizations could benefit from being able to compute the type without an existing signature to consult.)

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


More information about the cfe-commits mailing list