RFC: Create new clang builtin __arithmetic_fence control FP optimization at expression level

Intel would like to contribute a new intrinsic llvm.arith.fence to control floating point optimization at the expression level. We are also proposing a new clang builtin, __arithmetic_fence, that provides access to this intrinsic, as well as a new clang command line option -fprotect-parens that will be implemented using this intrinsic.

The purpose is to provide fine control, at the expression level, over floating point optimization when -ffast-math (-ffp-model=fast) is enabled. We are also proposing a new clang command line option -fprotect-parens that will be implemented using this intrinsic.

The RFC and preliminary llvm patch is here, ⚙ D99675 [llvm][clang] Create new intrinsic llvm.arithmetic.fence to control FP optimization at expression level, looking for comments! Thank you. I'll post a clang patch later this week.