[clang] [CIR] Record -ffp-contract=fast as a per-op contract flag (PR #226334)
Kunal Dubey via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 25 21:16:22 PDT 2026
================
@@ -29,14 +29,63 @@
#include "clang/CIR/Dialect/IR/CIROpsDialect.cpp.inc"
#include "clang/CIR/Dialect/IR/CIROpsEnums.cpp.inc"
#include "clang/CIR/MissingFeatures.h"
+#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SetOperations.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/LogicalResult.h"
+#include "llvm/Support/Mutex.h"
using namespace mlir;
using namespace cir;
+namespace {
+struct CIRBuilderFPDefaults {
+ FenvAttr (*fenv)(void *);
+ FastMathFlagsAttr (*fastMath)(void *);
+ void *self;
+};
+
+llvm::sys::SmartMutex<true> &cirBuilderFPMutex() {
+ static llvm::sys::SmartMutex<true> mutex;
+ return mutex;
+}
+
+llvm::DenseMap<mlir::OpBuilder *, CIRBuilderFPDefaults> &cirBuilderFPMap() {
----------------
xakep8 wrote:
Yes, looks much cleaner now.
https://github.com/llvm/llvm-project/pull/226334
More information about the cfe-commits
mailing list