[PATCH] D64412: [Strict FP] Allow more relaxed scheduling

Cameron McInally via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 15 12:12:54 PDT 2019


cameron.mcinally added a comment.

I'm reviewing the trap-safety issues now and have some open questions (language lawyers needed??). Let's say we have something like this:

  z = strict_fmul x, y
  c = strict_fmul a, b
  store z
  store c

And we schedule it as:

  z = strict_fmul x, y
  store z
  c = strict_fmul a, b
  store c

Now let's say the 2nd fmul traps on overflow and we have a signal handler set up to gracefully recover. The differences in scheduling could mean memory differences when the signal handler executes. That might not be okay for the very strictest conformance mode (I don't know).

Are we treating this case as undefined behavior, like the C/C++ Standards dictate?


Repository:
  rL LLVM

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

https://reviews.llvm.org/D64412





More information about the llvm-commits mailing list