sepavloff added a comment.

Generally the patch looks good. But the need to expect incorrect values in 
tests is a concern. Maybe this is a consequence of storing exception behavior 
in a separate field of CGFPOptionsRAII. This misbehavior should be fixed.



================
Comment at: clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c:26
+// metadata from the AST instead of the global default from the command line.
+// FIXME: All cases of "fpexcept.maytrap" in this test are wrong.
+
----------------
kpn wrote:
> kpn wrote:
> > sepavloff wrote:
> > > kpn wrote:
> > > > sepavloff wrote:
> > > > > Why they are wrong?
> > > > Because the #pragma covers the entire file and sets exception handling 
> > > > to "strict". Thus all constrained intrinsic calls should be "strict", 
> > > > and if they are "maytrap" or "ignore" then we have a bug.
> > > What is the reason for that? Does `#pragma float_control` work 
> > > incorrectly? Why  in `clang/test/CodeGen/complex-math-strictfp.c` 
> > > exception handling is correct?
> > The #pragma works just fine. The problem is that we need to get the 
> > strictfp bits from the AST to the IRBuilder, and we haven't finished 
> > implementing that. So sometimes it works, like in complex-math-strictfp.c, 
> > and sometimes it doesn't. As you can see in the tests in this patch.
> I forgot to mention that complex-math-strictfp.c gets a correct BinOpInfo 
> passed down to get the IRBuilder set correctly. But there are other places 
> that don't correctly set BinOpInfo and so we get inconsistent behavior 
> despite the call to the IRBuilder being wrapped in FPOptsRAII. And _that's_ 
> why I structured this patch the way I did.
> The problem is that we need to get the strictfp bits from the AST to the 
> IRBuilder

What is the status of this problem? Is it on track?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88913/new/

https://reviews.llvm.org/D88913

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to