Lines Matching refs:AtomicExpr
2473 return SemaAtomicOpsOverloaded(TheCallResult, AtomicExpr::AO##ID); in CheckBuiltinFunctionCall()
7772 static bool isValidOrderingForOp(int64_t Ordering, AtomicExpr::AtomicOp Op) { in isValidOrderingForOp()
7778 case AtomicExpr::AO__c11_atomic_init: in isValidOrderingForOp()
7779 case AtomicExpr::AO__opencl_atomic_init: in isValidOrderingForOp()
7782 case AtomicExpr::AO__c11_atomic_load: in isValidOrderingForOp()
7783 case AtomicExpr::AO__opencl_atomic_load: in isValidOrderingForOp()
7784 case AtomicExpr::AO__hip_atomic_load: in isValidOrderingForOp()
7785 case AtomicExpr::AO__atomic_load_n: in isValidOrderingForOp()
7786 case AtomicExpr::AO__atomic_load: in isValidOrderingForOp()
7787 case AtomicExpr::AO__scoped_atomic_load_n: in isValidOrderingForOp()
7788 case AtomicExpr::AO__scoped_atomic_load: in isValidOrderingForOp()
7792 case AtomicExpr::AO__c11_atomic_store: in isValidOrderingForOp()
7793 case AtomicExpr::AO__opencl_atomic_store: in isValidOrderingForOp()
7794 case AtomicExpr::AO__hip_atomic_store: in isValidOrderingForOp()
7795 case AtomicExpr::AO__atomic_store: in isValidOrderingForOp()
7796 case AtomicExpr::AO__atomic_store_n: in isValidOrderingForOp()
7797 case AtomicExpr::AO__scoped_atomic_store: in isValidOrderingForOp()
7798 case AtomicExpr::AO__scoped_atomic_store_n: in isValidOrderingForOp()
7809 AtomicExpr::AtomicOp Op) { in SemaAtomicOpsOverloaded()
7820 AtomicExpr::AtomicOp Op, in BuildAtomicExpr()
7867 static_assert(AtomicExpr::AO__c11_atomic_init == 0 && in BuildAtomicExpr()
7868 AtomicExpr::AO__c11_atomic_fetch_min + 1 == in BuildAtomicExpr()
7869 AtomicExpr::AO__atomic_load, in BuildAtomicExpr()
7871 bool IsOpenCL = Op >= AtomicExpr::AO__opencl_atomic_init && in BuildAtomicExpr()
7872 Op <= AtomicExpr::AO__opencl_atomic_fetch_max; in BuildAtomicExpr()
7873 bool IsHIP = Op >= AtomicExpr::AO__hip_atomic_load && in BuildAtomicExpr()
7874 Op <= AtomicExpr::AO__hip_atomic_fetch_max; in BuildAtomicExpr()
7875 bool IsScoped = Op >= AtomicExpr::AO__scoped_atomic_load && in BuildAtomicExpr()
7876 Op <= AtomicExpr::AO__scoped_atomic_fetch_max; in BuildAtomicExpr()
7877 bool IsC11 = (Op >= AtomicExpr::AO__c11_atomic_init && in BuildAtomicExpr()
7878 Op <= AtomicExpr::AO__c11_atomic_fetch_min) || in BuildAtomicExpr()
7880 bool IsN = Op == AtomicExpr::AO__atomic_load_n || in BuildAtomicExpr()
7881 Op == AtomicExpr::AO__atomic_store_n || in BuildAtomicExpr()
7882 Op == AtomicExpr::AO__atomic_exchange_n || in BuildAtomicExpr()
7883 Op == AtomicExpr::AO__atomic_compare_exchange_n || in BuildAtomicExpr()
7884 Op == AtomicExpr::AO__scoped_atomic_load_n || in BuildAtomicExpr()
7885 Op == AtomicExpr::AO__scoped_atomic_store_n || in BuildAtomicExpr()
7886 Op == AtomicExpr::AO__scoped_atomic_exchange_n || in BuildAtomicExpr()
7887 Op == AtomicExpr::AO__scoped_atomic_compare_exchange_n; in BuildAtomicExpr()
7899 case AtomicExpr::AO__c11_atomic_init: in BuildAtomicExpr()
7900 case AtomicExpr::AO__opencl_atomic_init: in BuildAtomicExpr()
7904 case AtomicExpr::AO__c11_atomic_load: in BuildAtomicExpr()
7905 case AtomicExpr::AO__opencl_atomic_load: in BuildAtomicExpr()
7906 case AtomicExpr::AO__hip_atomic_load: in BuildAtomicExpr()
7907 case AtomicExpr::AO__atomic_load_n: in BuildAtomicExpr()
7908 case AtomicExpr::AO__scoped_atomic_load_n: in BuildAtomicExpr()
7912 case AtomicExpr::AO__atomic_load: in BuildAtomicExpr()
7913 case AtomicExpr::AO__scoped_atomic_load: in BuildAtomicExpr()
7917 case AtomicExpr::AO__c11_atomic_store: in BuildAtomicExpr()
7918 case AtomicExpr::AO__opencl_atomic_store: in BuildAtomicExpr()
7919 case AtomicExpr::AO__hip_atomic_store: in BuildAtomicExpr()
7920 case AtomicExpr::AO__atomic_store: in BuildAtomicExpr()
7921 case AtomicExpr::AO__atomic_store_n: in BuildAtomicExpr()
7922 case AtomicExpr::AO__scoped_atomic_store: in BuildAtomicExpr()
7923 case AtomicExpr::AO__scoped_atomic_store_n: in BuildAtomicExpr()
7926 case AtomicExpr::AO__atomic_fetch_add: in BuildAtomicExpr()
7927 case AtomicExpr::AO__atomic_fetch_sub: in BuildAtomicExpr()
7928 case AtomicExpr::AO__atomic_add_fetch: in BuildAtomicExpr()
7929 case AtomicExpr::AO__atomic_sub_fetch: in BuildAtomicExpr()
7930 case AtomicExpr::AO__scoped_atomic_fetch_add: in BuildAtomicExpr()
7931 case AtomicExpr::AO__scoped_atomic_fetch_sub: in BuildAtomicExpr()
7932 case AtomicExpr::AO__scoped_atomic_add_fetch: in BuildAtomicExpr()
7933 case AtomicExpr::AO__scoped_atomic_sub_fetch: in BuildAtomicExpr()
7934 case AtomicExpr::AO__c11_atomic_fetch_add: in BuildAtomicExpr()
7935 case AtomicExpr::AO__c11_atomic_fetch_sub: in BuildAtomicExpr()
7936 case AtomicExpr::AO__opencl_atomic_fetch_add: in BuildAtomicExpr()
7937 case AtomicExpr::AO__opencl_atomic_fetch_sub: in BuildAtomicExpr()
7938 case AtomicExpr::AO__hip_atomic_fetch_add: in BuildAtomicExpr()
7939 case AtomicExpr::AO__hip_atomic_fetch_sub: in BuildAtomicExpr()
7943 case AtomicExpr::AO__atomic_fetch_max: in BuildAtomicExpr()
7944 case AtomicExpr::AO__atomic_fetch_min: in BuildAtomicExpr()
7945 case AtomicExpr::AO__atomic_max_fetch: in BuildAtomicExpr()
7946 case AtomicExpr::AO__atomic_min_fetch: in BuildAtomicExpr()
7947 case AtomicExpr::AO__scoped_atomic_fetch_max: in BuildAtomicExpr()
7948 case AtomicExpr::AO__scoped_atomic_fetch_min: in BuildAtomicExpr()
7949 case AtomicExpr::AO__scoped_atomic_max_fetch: in BuildAtomicExpr()
7950 case AtomicExpr::AO__scoped_atomic_min_fetch: in BuildAtomicExpr()
7951 case AtomicExpr::AO__c11_atomic_fetch_max: in BuildAtomicExpr()
7952 case AtomicExpr::AO__c11_atomic_fetch_min: in BuildAtomicExpr()
7953 case AtomicExpr::AO__opencl_atomic_fetch_max: in BuildAtomicExpr()
7954 case AtomicExpr::AO__opencl_atomic_fetch_min: in BuildAtomicExpr()
7955 case AtomicExpr::AO__hip_atomic_fetch_max: in BuildAtomicExpr()
7956 case AtomicExpr::AO__hip_atomic_fetch_min: in BuildAtomicExpr()
7960 case AtomicExpr::AO__c11_atomic_fetch_and: in BuildAtomicExpr()
7961 case AtomicExpr::AO__c11_atomic_fetch_or: in BuildAtomicExpr()
7962 case AtomicExpr::AO__c11_atomic_fetch_xor: in BuildAtomicExpr()
7963 case AtomicExpr::AO__hip_atomic_fetch_and: in BuildAtomicExpr()
7964 case AtomicExpr::AO__hip_atomic_fetch_or: in BuildAtomicExpr()
7965 case AtomicExpr::AO__hip_atomic_fetch_xor: in BuildAtomicExpr()
7966 case AtomicExpr::AO__c11_atomic_fetch_nand: in BuildAtomicExpr()
7967 case AtomicExpr::AO__opencl_atomic_fetch_and: in BuildAtomicExpr()
7968 case AtomicExpr::AO__opencl_atomic_fetch_or: in BuildAtomicExpr()
7969 case AtomicExpr::AO__opencl_atomic_fetch_xor: in BuildAtomicExpr()
7970 case AtomicExpr::AO__atomic_fetch_and: in BuildAtomicExpr()
7971 case AtomicExpr::AO__atomic_fetch_or: in BuildAtomicExpr()
7972 case AtomicExpr::AO__atomic_fetch_xor: in BuildAtomicExpr()
7973 case AtomicExpr::AO__atomic_fetch_nand: in BuildAtomicExpr()
7974 case AtomicExpr::AO__atomic_and_fetch: in BuildAtomicExpr()
7975 case AtomicExpr::AO__atomic_or_fetch: in BuildAtomicExpr()
7976 case AtomicExpr::AO__atomic_xor_fetch: in BuildAtomicExpr()
7977 case AtomicExpr::AO__atomic_nand_fetch: in BuildAtomicExpr()
7978 case AtomicExpr::AO__scoped_atomic_fetch_and: in BuildAtomicExpr()
7979 case AtomicExpr::AO__scoped_atomic_fetch_or: in BuildAtomicExpr()
7980 case AtomicExpr::AO__scoped_atomic_fetch_xor: in BuildAtomicExpr()
7981 case AtomicExpr::AO__scoped_atomic_fetch_nand: in BuildAtomicExpr()
7982 case AtomicExpr::AO__scoped_atomic_and_fetch: in BuildAtomicExpr()
7983 case AtomicExpr::AO__scoped_atomic_or_fetch: in BuildAtomicExpr()
7984 case AtomicExpr::AO__scoped_atomic_xor_fetch: in BuildAtomicExpr()
7985 case AtomicExpr::AO__scoped_atomic_nand_fetch: in BuildAtomicExpr()
7989 case AtomicExpr::AO__c11_atomic_exchange: in BuildAtomicExpr()
7990 case AtomicExpr::AO__hip_atomic_exchange: in BuildAtomicExpr()
7991 case AtomicExpr::AO__opencl_atomic_exchange: in BuildAtomicExpr()
7992 case AtomicExpr::AO__atomic_exchange_n: in BuildAtomicExpr()
7993 case AtomicExpr::AO__scoped_atomic_exchange_n: in BuildAtomicExpr()
7997 case AtomicExpr::AO__atomic_exchange: in BuildAtomicExpr()
7998 case AtomicExpr::AO__scoped_atomic_exchange: in BuildAtomicExpr()
8002 case AtomicExpr::AO__c11_atomic_compare_exchange_strong: in BuildAtomicExpr()
8003 case AtomicExpr::AO__c11_atomic_compare_exchange_weak: in BuildAtomicExpr()
8004 case AtomicExpr::AO__hip_atomic_compare_exchange_strong: in BuildAtomicExpr()
8005 case AtomicExpr::AO__opencl_atomic_compare_exchange_strong: in BuildAtomicExpr()
8006 case AtomicExpr::AO__opencl_atomic_compare_exchange_weak: in BuildAtomicExpr()
8007 case AtomicExpr::AO__hip_atomic_compare_exchange_weak: in BuildAtomicExpr()
8011 case AtomicExpr::AO__atomic_compare_exchange: in BuildAtomicExpr()
8012 case AtomicExpr::AO__atomic_compare_exchange_n: in BuildAtomicExpr()
8013 case AtomicExpr::AO__scoped_atomic_compare_exchange: in BuildAtomicExpr()
8014 case AtomicExpr::AO__scoped_atomic_compare_exchange_n: in BuildAtomicExpr()
8021 Op != AtomicExpr::AO__opencl_atomic_init) in BuildAtomicExpr()
8342 if (auto ScopeModel = AtomicExpr::getScopeModel(Op)) { in BuildAtomicExpr()
8353 AtomicExpr *AE = new (Context) in BuildAtomicExpr()
8354 AtomicExpr(ExprRange.getBegin(), SubExprs, ResultType, Op, RParenLoc); in BuildAtomicExpr()
8356 if ((Op == AtomicExpr::AO__c11_atomic_load || in BuildAtomicExpr()
8357 Op == AtomicExpr::AO__c11_atomic_store || in BuildAtomicExpr()
8358 Op == AtomicExpr::AO__opencl_atomic_load || in BuildAtomicExpr()
8359 Op == AtomicExpr::AO__hip_atomic_load || in BuildAtomicExpr()
8360 Op == AtomicExpr::AO__opencl_atomic_store || in BuildAtomicExpr()
8361 Op == AtomicExpr::AO__hip_atomic_store) && in BuildAtomicExpr()
8364 << ((Op == AtomicExpr::AO__c11_atomic_load || in BuildAtomicExpr()
8365 Op == AtomicExpr::AO__opencl_atomic_load || in BuildAtomicExpr()
8366 Op == AtomicExpr::AO__hip_atomic_load) in BuildAtomicExpr()