Skip to content

Commit e2c94d9

Browse files
committed
[clang] Refactor Builtins.def to be a tablegen file
1 parent 658b655 commit e2c94d9

24 files changed

+4921
-1745
lines changed

clang/include/clang/AST/Expr.h

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6420,7 +6420,7 @@ class AtomicExpr : public Expr {
64206420
enum AtomicOp {
64216421
#define BUILTIN(ID, TYPE, ATTRS)
64226422
#define ATOMIC_BUILTIN(ID, TYPE, ATTRS) AO ## ID,
6423-
#include "clang/Basic/Builtins.def"
6423+
#include "clang/Basic/Builtins.inc"
64246424
// Avoid trailing comma
64256425
BI_First = 0
64266426
};
@@ -6486,7 +6486,7 @@ class AtomicExpr : public Expr {
64866486
#define ATOMIC_BUILTIN(ID, TYPE, ATTRS) \
64876487
case AO##ID: \
64886488
return #ID;
6489-
#include "clang/Basic/Builtins.def"
6489+
#include "clang/Basic/Builtins.inc"
64906490
}
64916491
llvm_unreachable("not an atomic operator?");
64926492
}
@@ -6513,8 +6513,8 @@ class AtomicExpr : public Expr {
65136513
}
65146514

65156515
bool isOpenCL() const {
6516-
return getOp() >= AO__opencl_atomic_init &&
6517-
getOp() <= AO__opencl_atomic_fetch_max;
6516+
return getOp() >= AO__opencl_atomic_compare_exchange_strong &&
6517+
getOp() <= AO__opencl_atomic_store;
65186518
}
65196519

65206520
SourceLocation getBuiltinLoc() const { return BuiltinLoc; }
@@ -6539,12 +6539,13 @@ class AtomicExpr : public Expr {
65396539
/// \return empty atomic scope model if the atomic op code does not have
65406540
/// scope operand.
65416541
static std::unique_ptr<AtomicScopeModel> getScopeModel(AtomicOp Op) {
6542-
auto Kind =
6543-
(Op >= AO__opencl_atomic_load && Op <= AO__opencl_atomic_fetch_max)
6544-
? AtomicScopeModelKind::OpenCL
6545-
: (Op >= AO__hip_atomic_load && Op <= AO__hip_atomic_fetch_max)
6546-
? AtomicScopeModelKind::HIP
6547-
: AtomicScopeModelKind::None;
6542+
auto Kind = (Op >= AO__opencl_atomic_compare_exchange_strong &&
6543+
Op <= AO__opencl_atomic_store)
6544+
? AtomicScopeModelKind::OpenCL
6545+
: (Op >= AO__hip_atomic_compare_exchange_strong &&
6546+
Op <= AO__hip_atomic_store)
6547+
? AtomicScopeModelKind::HIP
6548+
: AtomicScopeModelKind::None;
65486549
return AtomicScopeModel::create(Kind);
65496550
}
65506551

0 commit comments

Comments
 (0)