[llvm] [ConstantFolding] Respect AllowNonDeterministic when flushing denormals (PR #183031)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 28 05:54:52 PDT 2026
nikic wrote:
> > Only dynamic is truly nondeterministic,
>
> No, flushing is never guaranteed. Canonicalizes can be dropped. Input DAZ kind of has to be guaranteed, but not the output
I have a question about this: How is guaranteed input DAZ compatible with dropping canonicalize? If input flushing is guaranteed then `subnormal * 1.0` would still be required to return `0.0`, no? So it seems like input flushing also has to be nondet to match current optimization behavior (unless we want to say the optimization behavior is wrong).
https://github.com/llvm/llvm-project/pull/183031
More information about the llvm-commits
mailing list