================
@@ -106,6 +111,43 @@ class CIRGenBuilderTy : public cir::CIRBaseBuilderTy {
return baseName + "." + std::to_string(recordNames[baseName]++);
}
+ //
+ // Floating point specific helpers
+ // -------------------------------
+ //
+
+ /// Enable/Disable use of constrained floating point math. When enabled the
+ /// CreateF<op>() calls instead create constrained floating point intrinsic
+ /// calls. Fast math flags are unaffected by this setting.
+ void setIsFPConstrained(bool isCon) { isFPConstrained = isCon; }
+
+ /// Query for the use of constrained floating point math
+ bool getIsFPConstrained() { return isFPConstrained; }
+
+ /// Set the exception handling to be used with constrained floating point
+ void setDefaultConstrainedExcept(llvm::fp::ExceptionBehavior newExcept) {
+ assert(llvm::convertExceptionBehaviorToStr(newExcept) &&
+ "Garbage strict exception behavior!");
+ defaultConstrainedExcept = newExcept;
+ }
+
+ /// Set the rounding mode handling to be used with constrained floating point
+ void setDefaultConstrainedRounding(llvm::RoundingMode NewRounding) {
----------------
andykaylor wrote:
```suggestion
void setDefaultConstrainedRounding(llvm::RoundingMode newRounding) {
```
https://github.com/llvm/llvm-project/pull/179121
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits