• Home
  • Raw
  • Download

Lines Matching refs:AtomicRMWInst

25 bool isIdempotentRMW(AtomicRMWInst& RMWI) {  in isIdempotentRMW()
28 case AtomicRMWInst::FAdd: // -0.0 in isIdempotentRMW()
30 case AtomicRMWInst::FSub: // +0.0 in isIdempotentRMW()
41 case AtomicRMWInst::Add: in isIdempotentRMW()
42 case AtomicRMWInst::Sub: in isIdempotentRMW()
43 case AtomicRMWInst::Or: in isIdempotentRMW()
44 case AtomicRMWInst::Xor: in isIdempotentRMW()
46 case AtomicRMWInst::And: in isIdempotentRMW()
48 case AtomicRMWInst::Min: in isIdempotentRMW()
50 case AtomicRMWInst::Max: in isIdempotentRMW()
52 case AtomicRMWInst::UMin: in isIdempotentRMW()
54 case AtomicRMWInst::UMax: in isIdempotentRMW()
63 bool isSaturating(AtomicRMWInst& RMWI) { in isSaturating()
66 case AtomicRMWInst::FAdd: in isSaturating()
67 case AtomicRMWInst::FSub: in isSaturating()
80 case AtomicRMWInst::Xchg: in isSaturating()
82 case AtomicRMWInst::Or: in isSaturating()
84 case AtomicRMWInst::And: in isSaturating()
86 case AtomicRMWInst::Min: in isSaturating()
88 case AtomicRMWInst::Max: in isSaturating()
90 case AtomicRMWInst::UMin: in isSaturating()
92 case AtomicRMWInst::UMax: in isSaturating()
98 Instruction *InstCombinerImpl::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst()
109 RMWI.getOperation() != AtomicRMWInst::Xchg) { in visitAtomicRMWInst()
110 RMWI.setOperation(AtomicRMWInst::Xchg); in visitAtomicRMWInst()
121 if (RMWI.getOperation() == AtomicRMWInst::Xchg && in visitAtomicRMWInst()
141 RMWI.getOperation() != AtomicRMWInst::Or) { in visitAtomicRMWInst()
142 RMWI.setOperation(AtomicRMWInst::Or); in visitAtomicRMWInst()
145 RMWI.getOperation() != AtomicRMWInst::FAdd) { in visitAtomicRMWInst()
146 RMWI.setOperation(AtomicRMWInst::FAdd); in visitAtomicRMWInst()