Lines Matching refs:AtomicExpr
1727 return SemaAtomicOpsOverloaded(TheCallResult, AtomicExpr::AO##ID); in CheckBuiltinFunctionCall()
5091 static bool isValidOrderingForOp(int64_t Ordering, AtomicExpr::AtomicOp Op) { in isValidOrderingForOp()
5097 case AtomicExpr::AO__c11_atomic_init: in isValidOrderingForOp()
5098 case AtomicExpr::AO__opencl_atomic_init: in isValidOrderingForOp()
5101 case AtomicExpr::AO__c11_atomic_load: in isValidOrderingForOp()
5102 case AtomicExpr::AO__opencl_atomic_load: in isValidOrderingForOp()
5103 case AtomicExpr::AO__atomic_load_n: in isValidOrderingForOp()
5104 case AtomicExpr::AO__atomic_load: in isValidOrderingForOp()
5108 case AtomicExpr::AO__c11_atomic_store: in isValidOrderingForOp()
5109 case AtomicExpr::AO__opencl_atomic_store: in isValidOrderingForOp()
5110 case AtomicExpr::AO__atomic_store: in isValidOrderingForOp()
5111 case AtomicExpr::AO__atomic_store_n: in isValidOrderingForOp()
5122 AtomicExpr::AtomicOp Op) { in SemaAtomicOpsOverloaded()
5133 AtomicExpr::AtomicOp Op, in BuildAtomicExpr()
5180 static_assert(AtomicExpr::AO__c11_atomic_init == 0 && in BuildAtomicExpr()
5181 AtomicExpr::AO__c11_atomic_fetch_min + 1 == in BuildAtomicExpr()
5182 AtomicExpr::AO__atomic_load, in BuildAtomicExpr()
5184 bool IsOpenCL = Op >= AtomicExpr::AO__opencl_atomic_init && in BuildAtomicExpr()
5185 Op <= AtomicExpr::AO__opencl_atomic_fetch_max; in BuildAtomicExpr()
5186 bool IsC11 = (Op >= AtomicExpr::AO__c11_atomic_init && in BuildAtomicExpr()
5187 Op <= AtomicExpr::AO__c11_atomic_fetch_min) || in BuildAtomicExpr()
5189 bool IsN = Op == AtomicExpr::AO__atomic_load_n || in BuildAtomicExpr()
5190 Op == AtomicExpr::AO__atomic_store_n || in BuildAtomicExpr()
5191 Op == AtomicExpr::AO__atomic_exchange_n || in BuildAtomicExpr()
5192 Op == AtomicExpr::AO__atomic_compare_exchange_n; in BuildAtomicExpr()
5196 case AtomicExpr::AO__c11_atomic_init: in BuildAtomicExpr()
5197 case AtomicExpr::AO__opencl_atomic_init: in BuildAtomicExpr()
5201 case AtomicExpr::AO__c11_atomic_load: in BuildAtomicExpr()
5202 case AtomicExpr::AO__opencl_atomic_load: in BuildAtomicExpr()
5203 case AtomicExpr::AO__atomic_load_n: in BuildAtomicExpr()
5207 case AtomicExpr::AO__atomic_load: in BuildAtomicExpr()
5211 case AtomicExpr::AO__c11_atomic_store: in BuildAtomicExpr()
5212 case AtomicExpr::AO__opencl_atomic_store: in BuildAtomicExpr()
5213 case AtomicExpr::AO__atomic_store: in BuildAtomicExpr()
5214 case AtomicExpr::AO__atomic_store_n: in BuildAtomicExpr()
5218 case AtomicExpr::AO__c11_atomic_fetch_add: in BuildAtomicExpr()
5219 case AtomicExpr::AO__c11_atomic_fetch_sub: in BuildAtomicExpr()
5220 case AtomicExpr::AO__opencl_atomic_fetch_add: in BuildAtomicExpr()
5221 case AtomicExpr::AO__opencl_atomic_fetch_sub: in BuildAtomicExpr()
5222 case AtomicExpr::AO__atomic_fetch_add: in BuildAtomicExpr()
5223 case AtomicExpr::AO__atomic_fetch_sub: in BuildAtomicExpr()
5224 case AtomicExpr::AO__atomic_add_fetch: in BuildAtomicExpr()
5225 case AtomicExpr::AO__atomic_sub_fetch: in BuildAtomicExpr()
5229 case AtomicExpr::AO__c11_atomic_fetch_and: in BuildAtomicExpr()
5230 case AtomicExpr::AO__c11_atomic_fetch_or: in BuildAtomicExpr()
5231 case AtomicExpr::AO__c11_atomic_fetch_xor: in BuildAtomicExpr()
5232 case AtomicExpr::AO__opencl_atomic_fetch_and: in BuildAtomicExpr()
5233 case AtomicExpr::AO__opencl_atomic_fetch_or: in BuildAtomicExpr()
5234 case AtomicExpr::AO__opencl_atomic_fetch_xor: in BuildAtomicExpr()
5235 case AtomicExpr::AO__atomic_fetch_and: in BuildAtomicExpr()
5236 case AtomicExpr::AO__atomic_fetch_or: in BuildAtomicExpr()
5237 case AtomicExpr::AO__atomic_fetch_xor: in BuildAtomicExpr()
5238 case AtomicExpr::AO__atomic_fetch_nand: in BuildAtomicExpr()
5239 case AtomicExpr::AO__atomic_and_fetch: in BuildAtomicExpr()
5240 case AtomicExpr::AO__atomic_or_fetch: in BuildAtomicExpr()
5241 case AtomicExpr::AO__atomic_xor_fetch: in BuildAtomicExpr()
5242 case AtomicExpr::AO__atomic_nand_fetch: in BuildAtomicExpr()
5245 case AtomicExpr::AO__c11_atomic_fetch_min: in BuildAtomicExpr()
5246 case AtomicExpr::AO__c11_atomic_fetch_max: in BuildAtomicExpr()
5247 case AtomicExpr::AO__opencl_atomic_fetch_min: in BuildAtomicExpr()
5248 case AtomicExpr::AO__opencl_atomic_fetch_max: in BuildAtomicExpr()
5249 case AtomicExpr::AO__atomic_min_fetch: in BuildAtomicExpr()
5250 case AtomicExpr::AO__atomic_max_fetch: in BuildAtomicExpr()
5251 case AtomicExpr::AO__atomic_fetch_min: in BuildAtomicExpr()
5252 case AtomicExpr::AO__atomic_fetch_max: in BuildAtomicExpr()
5256 case AtomicExpr::AO__c11_atomic_exchange: in BuildAtomicExpr()
5257 case AtomicExpr::AO__opencl_atomic_exchange: in BuildAtomicExpr()
5258 case AtomicExpr::AO__atomic_exchange_n: in BuildAtomicExpr()
5262 case AtomicExpr::AO__atomic_exchange: in BuildAtomicExpr()
5266 case AtomicExpr::AO__c11_atomic_compare_exchange_strong: in BuildAtomicExpr()
5267 case AtomicExpr::AO__c11_atomic_compare_exchange_weak: in BuildAtomicExpr()
5268 case AtomicExpr::AO__opencl_atomic_compare_exchange_strong: in BuildAtomicExpr()
5269 case AtomicExpr::AO__opencl_atomic_compare_exchange_weak: in BuildAtomicExpr()
5273 case AtomicExpr::AO__atomic_compare_exchange: in BuildAtomicExpr()
5274 case AtomicExpr::AO__atomic_compare_exchange_n: in BuildAtomicExpr()
5280 if (IsOpenCL && Op != AtomicExpr::AO__opencl_atomic_init) in BuildAtomicExpr()
5580 if (auto ScopeModel = AtomicExpr::getScopeModel(Op)) { in BuildAtomicExpr()
5591 AtomicExpr *AE = new (Context) in BuildAtomicExpr()
5592 AtomicExpr(ExprRange.getBegin(), SubExprs, ResultType, Op, RParenLoc); in BuildAtomicExpr()
5594 if ((Op == AtomicExpr::AO__c11_atomic_load || in BuildAtomicExpr()
5595 Op == AtomicExpr::AO__c11_atomic_store || in BuildAtomicExpr()
5596 Op == AtomicExpr::AO__opencl_atomic_load || in BuildAtomicExpr()
5597 Op == AtomicExpr::AO__opencl_atomic_store ) && in BuildAtomicExpr()
5600 << ((Op == AtomicExpr::AO__c11_atomic_load || in BuildAtomicExpr()
5601 Op == AtomicExpr::AO__opencl_atomic_load) in BuildAtomicExpr()