pengfei added a comment. > This doesn't add metadata to llvm intrinsics that are not constrained.
Oh, right. I misunderstood what's doing in these patches and thought we can add metadata to any intrinsics by CGFPOptionsRAII now. :-) > If a relevant #pragma is used then without this change the metadata ... Yeah, I understand it now. Thank you! But why we still have the wrong `maytrap` with this patch? > It's true that the middle-end optimizers know nothing about the constrained > intrinsics. Today. I plan on changing that in the near future. Brilliant! > If use of the constrained intrinsics will cause breakage of the > target-specific clang builtins then that's important to know and to fix. I had a look at these changes and didn't find anything will cause breakage for now. I'm still not sure if we need to teach target-specific clang builtins to respect strict FP or not. But it has nothing to do with this patch. ================ Comment at: clang/lib/CodeGen/CGBuiltin.cpp:12268 + case X86::BI__builtin_ia32_cvtqq2pd512_mask: { + CodeGenFunction::CGFPOptionsRAII FPOptsRAII(*this, E); return EmitX86ConvertIntToFp(*this, Ops, /*IsSigned*/true); ---------------- Maybe better to move it into these Emit* functions? ================ Comment at: clang/lib/CodeGen/CGBuiltin.cpp:14093 // exception behavior under strict FP. + // NOTE: If strict FP does ever go through here a CGFPOptionsRAII + // object will be required. ---------------- It can't go here because of line 14037. But the comment seems good here. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94614/new/ https://reviews.llvm.org/D94614 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits