Lines Matching refs:AtomicExpr
246 static AtomicExpr::AtomicOrderingKind
289 AtomicExpr::AtomicOrderingKind
295 return AtomicExpr::AO_ABI_memory_order_relaxed;
297 return AtomicExpr::AO_ABI_memory_order_acquire;
299 return AtomicExpr::AO_ABI_memory_order_release;
301 return AtomicExpr::AO_ABI_memory_order_acq_rel;
303 return AtomicExpr::AO_ABI_memory_order_seq_cst;
376 static void emitAtomicCmpXchg(CodeGenFunction &CGF, AtomicExpr *E, bool IsWeak,
424 static void emitAtomicCmpXchgFailureSet(CodeGenFunction &CGF, AtomicExpr *E,
437 case AtomicExpr::AO_ABI_memory_order_consume:
438 case AtomicExpr::AO_ABI_memory_order_acquire:
441 case AtomicExpr::AO_ABI_memory_order_seq_cst:
483 SI->addCase(CGF.Builder.getInt32(AtomicExpr::AO_ABI_memory_order_consume),
485 SI->addCase(CGF.Builder.getInt32(AtomicExpr::AO_ABI_memory_order_acquire),
493 SI->addCase(CGF.Builder.getInt32(AtomicExpr::AO_ABI_memory_order_seq_cst),
500 static void EmitAtomicOp(CodeGenFunction &CGF, AtomicExpr *E, Address Dest,
508 case AtomicExpr::AO__c11_atomic_init:
511 case AtomicExpr::AO__c11_atomic_compare_exchange_strong:
515 case AtomicExpr::AO__c11_atomic_compare_exchange_weak:
519 case AtomicExpr::AO__atomic_compare_exchange:
520 case AtomicExpr::AO__atomic_compare_exchange_n: {
549 case AtomicExpr::AO__c11_atomic_load:
550 case AtomicExpr::AO__atomic_load_n:
551 case AtomicExpr::AO__atomic_load: {
559 case AtomicExpr::AO__c11_atomic_store:
560 case AtomicExpr::AO__atomic_store:
561 case AtomicExpr::AO__atomic_store_n: {
569 case AtomicExpr::AO__c11_atomic_exchange:
570 case AtomicExpr::AO__atomic_exchange_n:
571 case AtomicExpr::AO__atomic_exchange:
575 case AtomicExpr::AO__atomic_add_fetch:
578 case AtomicExpr::AO__c11_atomic_fetch_add:
579 case AtomicExpr::AO__atomic_fetch_add:
583 case AtomicExpr::AO__atomic_sub_fetch:
586 case AtomicExpr::AO__c11_atomic_fetch_sub:
587 case AtomicExpr::AO__atomic_fetch_sub:
591 case AtomicExpr::AO__atomic_and_fetch:
594 case AtomicExpr::AO__c11_atomic_fetch_and:
595 case AtomicExpr::AO__atomic_fetch_and:
599 case AtomicExpr::AO__atomic_or_fetch:
602 case AtomicExpr::AO__c11_atomic_fetch_or:
603 case AtomicExpr::AO__atomic_fetch_or:
607 case AtomicExpr::AO__atomic_xor_fetch:
610 case AtomicExpr::AO__c11_atomic_fetch_xor:
611 case AtomicExpr::AO__atomic_fetch_xor:
615 case AtomicExpr::AO__atomic_nand_fetch:
618 case AtomicExpr::AO__atomic_fetch_nand:
633 if (E->getOp() == AtomicExpr::AO__atomic_nand_fetch)
673 RValue CodeGenFunction::EmitAtomicExpr(AtomicExpr *E) {
692 if (E->getOp() == AtomicExpr::AO__c11_atomic_init) {
701 case AtomicExpr::AO__c11_atomic_init:
704 case AtomicExpr::AO__c11_atomic_load:
705 case AtomicExpr::AO__atomic_load_n:
708 case AtomicExpr::AO__atomic_load:
712 case AtomicExpr::AO__atomic_store:
716 case AtomicExpr::AO__atomic_exchange:
721 case AtomicExpr::AO__c11_atomic_compare_exchange_strong:
722 case AtomicExpr::AO__c11_atomic_compare_exchange_weak:
723 case AtomicExpr::AO__atomic_compare_exchange_n:
724 case AtomicExpr::AO__atomic_compare_exchange:
726 if (E->getOp() == AtomicExpr::AO__atomic_compare_exchange)
735 case AtomicExpr::AO__c11_atomic_fetch_add:
736 case AtomicExpr::AO__c11_atomic_fetch_sub:
753 case AtomicExpr::AO__atomic_fetch_add:
754 case AtomicExpr::AO__atomic_fetch_sub:
755 case AtomicExpr::AO__atomic_add_fetch:
756 case AtomicExpr::AO__atomic_sub_fetch:
757 case AtomicExpr::AO__c11_atomic_store:
758 case AtomicExpr::AO__c11_atomic_exchange:
759 case AtomicExpr::AO__atomic_store_n:
760 case AtomicExpr::AO__atomic_exchange_n:
761 case AtomicExpr::AO__c11_atomic_fetch_and:
762 case AtomicExpr::AO__c11_atomic_fetch_or:
763 case AtomicExpr::AO__c11_atomic_fetch_xor:
764 case AtomicExpr::AO__atomic_fetch_and:
765 case AtomicExpr::AO__atomic_fetch_or:
766 case AtomicExpr::AO__atomic_fetch_xor:
767 case AtomicExpr::AO__atomic_fetch_nand:
768 case AtomicExpr::AO__atomic_and_fetch:
769 case AtomicExpr::AO__atomic_or_fetch:
770 case AtomicExpr::AO__atomic_xor_fetch:
771 case AtomicExpr::AO__atomic_nand_fetch:
798 case AtomicExpr::AO__c11_atomic_init:
801 case AtomicExpr::AO__c11_atomic_fetch_add:
802 case AtomicExpr::AO__atomic_fetch_add:
803 case AtomicExpr::AO__c11_atomic_fetch_and:
804 case AtomicExpr::AO__atomic_fetch_and:
805 case AtomicExpr::AO__c11_atomic_fetch_or:
806 case AtomicExpr::AO__atomic_fetch_or:
807 case AtomicExpr::AO__atomic_fetch_nand:
808 case AtomicExpr::AO__c11_atomic_fetch_sub:
809 case AtomicExpr::AO__atomic_fetch_sub:
810 case AtomicExpr::AO__c11_atomic_fetch_xor:
811 case AtomicExpr::AO__atomic_fetch_xor:
812 case AtomicExpr::AO__atomic_add_fetch:
813 case AtomicExpr::AO__atomic_and_fetch:
814 case AtomicExpr::AO__atomic_nand_fetch:
815 AtomicExpr::AO__atomic_or_fetch:
816 case AtomicExpr::AO__atomic_sub_fetch:
817 case AtomicExpr::AO__atomic_xor_fetch:
822 case AtomicExpr::AO__c11_atomic_load:
823 case AtomicExpr::AO__c11_atomic_store:
824 case AtomicExpr::AO__c11_atomic_exchange:
825 case AtomicExpr::AO__c11_atomic_compare_exchange_weak:
826 case AtomicExpr::AO__c11_atomic_compare_exchange_strong:
827 case AtomicExpr::AO__atomic_load_n:
828 case AtomicExpr::AO__atomic_load:
829 case AtomicExpr::AO__atomic_store_n:
830 case AtomicExpr::AO__atomic_store:
831 case AtomicExpr::AO__atomic_exchange_n:
832 case AtomicExpr::AO__atomic_exchange:
833 case AtomicExpr::AO__atomic_compare_exchange_n:
834 case AtomicExpr::AO__atomic_compare_exchange:
858 case AtomicExpr::AO__c11_atomic_init:
868 case AtomicExpr::AO__c11_atomic_compare_exchange_weak:
869 case AtomicExpr::AO__c11_atomic_compare_exchange_strong:
870 case AtomicExpr::AO__atomic_compare_exchange:
871 case AtomicExpr::AO__atomic_compare_exchange_n:
885 case AtomicExpr::AO__c11_atomic_exchange:
886 case AtomicExpr::AO__atomic_exchange_n:
887 case AtomicExpr::AO__atomic_exchange:
894 case AtomicExpr::AO__c11_atomic_store:
895 case AtomicExpr::AO__atomic_store:
896 case AtomicExpr::AO__atomic_store_n:
905 case AtomicExpr::AO__c11_atomic_load:
906 case AtomicExpr::AO__atomic_load:
907 case AtomicExpr::AO__atomic_load_n:
912 case AtomicExpr::AO__atomic_add_fetch:
915 case AtomicExpr::AO__c11_atomic_fetch_add:
916 case AtomicExpr::AO__atomic_fetch_add:
923 case AtomicExpr::AO__atomic_and_fetch:
926 case AtomicExpr::AO__c11_atomic_fetch_and:
927 case AtomicExpr::AO__atomic_fetch_and:
934 case AtomicExpr::AO__atomic_or_fetch:
937 case AtomicExpr::AO__c11_atomic_fetch_or:
938 case AtomicExpr::AO__atomic_fetch_or:
945 case AtomicExpr::AO__atomic_sub_fetch:
948 case AtomicExpr::AO__c11_atomic_fetch_sub:
949 case AtomicExpr::AO__atomic_fetch_sub:
956 case AtomicExpr::AO__atomic_xor_fetch:
959 case AtomicExpr::AO__c11_atomic_fetch_xor:
960 case AtomicExpr::AO__atomic_fetch_xor:
967 case AtomicExpr::AO__atomic_nand_fetch:
970 case AtomicExpr::AO__atomic_fetch_nand:
1016 if (E->getOp() == AtomicExpr::AO__atomic_nand_fetch)
1032 bool IsStore = E->getOp() == AtomicExpr::AO__c11_atomic_store ||
1033 E->getOp() == AtomicExpr::AO__atomic_store ||
1034 E->getOp() == AtomicExpr::AO__atomic_store_n;
1035 bool IsLoad = E->getOp() == AtomicExpr::AO__c11_atomic_load ||
1036 E->getOp() == AtomicExpr::AO__atomic_load ||
1037 E->getOp() == AtomicExpr::AO__atomic_load_n;
1042 case AtomicExpr::AO_ABI_memory_order_relaxed:
1046 case AtomicExpr::AO_ABI_memory_order_consume:
1047 case AtomicExpr::AO_ABI_memory_order_acquire:
1053 case AtomicExpr::AO_ABI_memory_order_release:
1059 case AtomicExpr::AO_ABI_memory_order_acq_rel:
1065 case AtomicExpr::AO_ABI_memory_order_seq_cst:
1115 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_consume),
1117 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_acquire),
1125 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_release),
1133 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_acq_rel),
1140 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_seq_cst),