Lines Matching refs:AtomicExpr

2298     return SemaAtomicOpsOverloaded(TheCallResult, AtomicExpr::AO##ID);  in CheckBuiltinFunctionCall()
5968 static bool isValidOrderingForOp(int64_t Ordering, AtomicExpr::AtomicOp Op) { in isValidOrderingForOp()
5974 case AtomicExpr::AO__c11_atomic_init: in isValidOrderingForOp()
5975 case AtomicExpr::AO__opencl_atomic_init: in isValidOrderingForOp()
5978 case AtomicExpr::AO__c11_atomic_load: in isValidOrderingForOp()
5979 case AtomicExpr::AO__opencl_atomic_load: in isValidOrderingForOp()
5980 case AtomicExpr::AO__hip_atomic_load: in isValidOrderingForOp()
5981 case AtomicExpr::AO__atomic_load_n: in isValidOrderingForOp()
5982 case AtomicExpr::AO__atomic_load: in isValidOrderingForOp()
5986 case AtomicExpr::AO__c11_atomic_store: in isValidOrderingForOp()
5987 case AtomicExpr::AO__opencl_atomic_store: in isValidOrderingForOp()
5988 case AtomicExpr::AO__hip_atomic_store: in isValidOrderingForOp()
5989 case AtomicExpr::AO__atomic_store: in isValidOrderingForOp()
5990 case AtomicExpr::AO__atomic_store_n: in isValidOrderingForOp()
6001 AtomicExpr::AtomicOp Op) { in SemaAtomicOpsOverloaded()
6012 AtomicExpr::AtomicOp Op, in BuildAtomicExpr()
6059 static_assert(AtomicExpr::AO__c11_atomic_init == 0 && in BuildAtomicExpr()
6060 AtomicExpr::AO__c11_atomic_fetch_min + 1 == in BuildAtomicExpr()
6061 AtomicExpr::AO__atomic_load, in BuildAtomicExpr()
6063 bool IsOpenCL = Op >= AtomicExpr::AO__opencl_atomic_init && in BuildAtomicExpr()
6064 Op <= AtomicExpr::AO__opencl_atomic_fetch_max; in BuildAtomicExpr()
6065 bool IsHIP = Op >= AtomicExpr::AO__hip_atomic_load && in BuildAtomicExpr()
6066 Op <= AtomicExpr::AO__hip_atomic_fetch_max; in BuildAtomicExpr()
6067 bool IsC11 = (Op >= AtomicExpr::AO__c11_atomic_init && in BuildAtomicExpr()
6068 Op <= AtomicExpr::AO__c11_atomic_fetch_min) || in BuildAtomicExpr()
6070 bool IsN = Op == AtomicExpr::AO__atomic_load_n || in BuildAtomicExpr()
6071 Op == AtomicExpr::AO__atomic_store_n || in BuildAtomicExpr()
6072 Op == AtomicExpr::AO__atomic_exchange_n || in BuildAtomicExpr()
6073 Op == AtomicExpr::AO__atomic_compare_exchange_n; in BuildAtomicExpr()
6077 case AtomicExpr::AO__c11_atomic_init: in BuildAtomicExpr()
6078 case AtomicExpr::AO__opencl_atomic_init: in BuildAtomicExpr()
6082 case AtomicExpr::AO__c11_atomic_load: in BuildAtomicExpr()
6083 case AtomicExpr::AO__opencl_atomic_load: in BuildAtomicExpr()
6084 case AtomicExpr::AO__hip_atomic_load: in BuildAtomicExpr()
6085 case AtomicExpr::AO__atomic_load_n: in BuildAtomicExpr()
6089 case AtomicExpr::AO__atomic_load: in BuildAtomicExpr()
6093 case AtomicExpr::AO__c11_atomic_store: in BuildAtomicExpr()
6094 case AtomicExpr::AO__opencl_atomic_store: in BuildAtomicExpr()
6095 case AtomicExpr::AO__hip_atomic_store: in BuildAtomicExpr()
6096 case AtomicExpr::AO__atomic_store: in BuildAtomicExpr()
6097 case AtomicExpr::AO__atomic_store_n: in BuildAtomicExpr()
6100 case AtomicExpr::AO__hip_atomic_fetch_add: in BuildAtomicExpr()
6101 case AtomicExpr::AO__hip_atomic_fetch_min: in BuildAtomicExpr()
6102 case AtomicExpr::AO__hip_atomic_fetch_max: in BuildAtomicExpr()
6103 case AtomicExpr::AO__c11_atomic_fetch_add: in BuildAtomicExpr()
6104 case AtomicExpr::AO__c11_atomic_fetch_sub: in BuildAtomicExpr()
6105 case AtomicExpr::AO__opencl_atomic_fetch_add: in BuildAtomicExpr()
6106 case AtomicExpr::AO__opencl_atomic_fetch_sub: in BuildAtomicExpr()
6107 case AtomicExpr::AO__atomic_fetch_add: in BuildAtomicExpr()
6108 case AtomicExpr::AO__atomic_fetch_sub: in BuildAtomicExpr()
6109 case AtomicExpr::AO__atomic_add_fetch: in BuildAtomicExpr()
6110 case AtomicExpr::AO__atomic_sub_fetch: in BuildAtomicExpr()
6114 case AtomicExpr::AO__c11_atomic_fetch_and: in BuildAtomicExpr()
6115 case AtomicExpr::AO__c11_atomic_fetch_or: in BuildAtomicExpr()
6116 case AtomicExpr::AO__c11_atomic_fetch_xor: in BuildAtomicExpr()
6117 case AtomicExpr::AO__hip_atomic_fetch_and: in BuildAtomicExpr()
6118 case AtomicExpr::AO__hip_atomic_fetch_or: in BuildAtomicExpr()
6119 case AtomicExpr::AO__hip_atomic_fetch_xor: in BuildAtomicExpr()
6120 case AtomicExpr::AO__c11_atomic_fetch_nand: in BuildAtomicExpr()
6121 case AtomicExpr::AO__opencl_atomic_fetch_and: in BuildAtomicExpr()
6122 case AtomicExpr::AO__opencl_atomic_fetch_or: in BuildAtomicExpr()
6123 case AtomicExpr::AO__opencl_atomic_fetch_xor: in BuildAtomicExpr()
6124 case AtomicExpr::AO__atomic_fetch_and: in BuildAtomicExpr()
6125 case AtomicExpr::AO__atomic_fetch_or: in BuildAtomicExpr()
6126 case AtomicExpr::AO__atomic_fetch_xor: in BuildAtomicExpr()
6127 case AtomicExpr::AO__atomic_fetch_nand: in BuildAtomicExpr()
6128 case AtomicExpr::AO__atomic_and_fetch: in BuildAtomicExpr()
6129 case AtomicExpr::AO__atomic_or_fetch: in BuildAtomicExpr()
6130 case AtomicExpr::AO__atomic_xor_fetch: in BuildAtomicExpr()
6131 case AtomicExpr::AO__atomic_nand_fetch: in BuildAtomicExpr()
6134 case AtomicExpr::AO__c11_atomic_fetch_min: in BuildAtomicExpr()
6135 case AtomicExpr::AO__c11_atomic_fetch_max: in BuildAtomicExpr()
6136 case AtomicExpr::AO__opencl_atomic_fetch_min: in BuildAtomicExpr()
6137 case AtomicExpr::AO__opencl_atomic_fetch_max: in BuildAtomicExpr()
6138 case AtomicExpr::AO__atomic_min_fetch: in BuildAtomicExpr()
6139 case AtomicExpr::AO__atomic_max_fetch: in BuildAtomicExpr()
6140 case AtomicExpr::AO__atomic_fetch_min: in BuildAtomicExpr()
6141 case AtomicExpr::AO__atomic_fetch_max: in BuildAtomicExpr()
6145 case AtomicExpr::AO__c11_atomic_exchange: in BuildAtomicExpr()
6146 case AtomicExpr::AO__hip_atomic_exchange: in BuildAtomicExpr()
6147 case AtomicExpr::AO__opencl_atomic_exchange: in BuildAtomicExpr()
6148 case AtomicExpr::AO__atomic_exchange_n: in BuildAtomicExpr()
6152 case AtomicExpr::AO__atomic_exchange: in BuildAtomicExpr()
6156 case AtomicExpr::AO__c11_atomic_compare_exchange_strong: in BuildAtomicExpr()
6157 case AtomicExpr::AO__c11_atomic_compare_exchange_weak: in BuildAtomicExpr()
6158 case AtomicExpr::AO__hip_atomic_compare_exchange_strong: in BuildAtomicExpr()
6159 case AtomicExpr::AO__opencl_atomic_compare_exchange_strong: in BuildAtomicExpr()
6160 case AtomicExpr::AO__opencl_atomic_compare_exchange_weak: in BuildAtomicExpr()
6161 case AtomicExpr::AO__hip_atomic_compare_exchange_weak: in BuildAtomicExpr()
6165 case AtomicExpr::AO__atomic_compare_exchange: in BuildAtomicExpr()
6166 case AtomicExpr::AO__atomic_compare_exchange_n: in BuildAtomicExpr()
6172 if ((IsOpenCL || IsHIP) && Op != AtomicExpr::AO__opencl_atomic_init) in BuildAtomicExpr()
6474 if (auto ScopeModel = AtomicExpr::getScopeModel(Op)) { in BuildAtomicExpr()
6485 AtomicExpr *AE = new (Context) in BuildAtomicExpr()
6486 AtomicExpr(ExprRange.getBegin(), SubExprs, ResultType, Op, RParenLoc); in BuildAtomicExpr()
6488 if ((Op == AtomicExpr::AO__c11_atomic_load || in BuildAtomicExpr()
6489 Op == AtomicExpr::AO__c11_atomic_store || in BuildAtomicExpr()
6490 Op == AtomicExpr::AO__opencl_atomic_load || in BuildAtomicExpr()
6491 Op == AtomicExpr::AO__hip_atomic_load || in BuildAtomicExpr()
6492 Op == AtomicExpr::AO__opencl_atomic_store || in BuildAtomicExpr()
6493 Op == AtomicExpr::AO__hip_atomic_store) && in BuildAtomicExpr()
6496 << ((Op == AtomicExpr::AO__c11_atomic_load || in BuildAtomicExpr()
6497 Op == AtomicExpr::AO__opencl_atomic_load || in BuildAtomicExpr()
6498 Op == AtomicExpr::AO__hip_atomic_load) in BuildAtomicExpr()