summaryrefslogtreecommitdiff
path: root/src/ir.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir.h')
-rw-r--r--src/ir.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ir.h b/src/ir.h
index 1417b29c..d2646c03 100644
--- a/src/ir.h
+++ b/src/ir.h
@@ -114,6 +114,10 @@ struct Const {
typedef std::vector<Const> ConstVector;
enum class ExprType {
+ AtomicLoad,
+ AtomicStore,
+ AtomicRmw,
+ AtomicRmwCmpxchg,
Binary,
Block,
Br,
@@ -315,6 +319,10 @@ class LoadStoreExpr : public ExprMixin<TypeEnum> {
typedef LoadStoreExpr<ExprType::Load> LoadExpr;
typedef LoadStoreExpr<ExprType::Store> StoreExpr;
+typedef LoadStoreExpr<ExprType::AtomicLoad> AtomicLoadExpr;
+typedef LoadStoreExpr<ExprType::AtomicStore> AtomicStoreExpr;
+typedef LoadStoreExpr<ExprType::AtomicRmw> AtomicRmwExpr;
+typedef LoadStoreExpr<ExprType::AtomicRmwCmpxchg> AtomicRmwCmpxchgExpr;
struct Exception {
Exception() = default;