/external/llvm-project/llvm/lib/Transforms/InstCombine/ |
D | InstCombineAtomicRMW.cpp | 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() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/InstCombine/ |
D | InstCombineAtomicRMW.cpp | 23 bool isIdempotentRMW(AtomicRMWInst& RMWI) { in isIdempotentRMW() 26 case AtomicRMWInst::FAdd: // -0.0 in isIdempotentRMW() 28 case AtomicRMWInst::FSub: // +0.0 in isIdempotentRMW() 39 case AtomicRMWInst::Add: in isIdempotentRMW() 40 case AtomicRMWInst::Sub: in isIdempotentRMW() 41 case AtomicRMWInst::Or: in isIdempotentRMW() 42 case AtomicRMWInst::Xor: in isIdempotentRMW() 44 case AtomicRMWInst::And: in isIdempotentRMW() 46 case AtomicRMWInst::Min: in isIdempotentRMW() 48 case AtomicRMWInst::Max: in isIdempotentRMW() [all …]
|
/external/llvm-project/llvm/lib/Target/AMDGPU/ |
D | AMDGPUAtomicOptimizer.cpp | 35 AtomicRMWInst::BinOp Op; 50 Value *buildScan(IRBuilder<> &B, AtomicRMWInst::BinOp Op, Value *V, 53 void optimizeAtomic(Instruction &I, AtomicRMWInst::BinOp Op, unsigned ValIdx, 69 void visitAtomicRMWInst(AtomicRMWInst &I); 107 void AMDGPUAtomicOptimizer::visitAtomicRMWInst(AtomicRMWInst &I) { in visitAtomicRMWInst() 117 AtomicRMWInst::BinOp Op = I.getOperation(); in visitAtomicRMWInst() 122 case AtomicRMWInst::Add: in visitAtomicRMWInst() 123 case AtomicRMWInst::Sub: in visitAtomicRMWInst() 124 case AtomicRMWInst::And: in visitAtomicRMWInst() 125 case AtomicRMWInst::Or: in visitAtomicRMWInst() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/ |
D | AMDGPUAtomicOptimizer.cpp | 35 AtomicRMWInst::BinOp Op; 50 Value *buildScan(IRBuilder<> &B, AtomicRMWInst::BinOp Op, Value *V, 53 void optimizeAtomic(Instruction &I, AtomicRMWInst::BinOp Op, unsigned ValIdx, 69 void visitAtomicRMWInst(AtomicRMWInst &I); 107 void AMDGPUAtomicOptimizer::visitAtomicRMWInst(AtomicRMWInst &I) { in visitAtomicRMWInst() 117 AtomicRMWInst::BinOp Op = I.getOperation(); in visitAtomicRMWInst() 122 case AtomicRMWInst::Add: in visitAtomicRMWInst() 123 case AtomicRMWInst::Sub: in visitAtomicRMWInst() 124 case AtomicRMWInst::And: in visitAtomicRMWInst() 125 case AtomicRMWInst::Or: in visitAtomicRMWInst() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
D | LowerAtomic.cpp | 43 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst() 53 case AtomicRMWInst::Xchg: in LowerAtomicRMWInst() 56 case AtomicRMWInst::Add: in LowerAtomicRMWInst() 59 case AtomicRMWInst::Sub: in LowerAtomicRMWInst() 62 case AtomicRMWInst::And: in LowerAtomicRMWInst() 65 case AtomicRMWInst::Nand: in LowerAtomicRMWInst() 68 case AtomicRMWInst::Or: in LowerAtomicRMWInst() 71 case AtomicRMWInst::Xor: in LowerAtomicRMWInst() 74 case AtomicRMWInst::Max: in LowerAtomicRMWInst() 78 case AtomicRMWInst::Min: in LowerAtomicRMWInst() [all …]
|
/external/llvm-project/llvm/lib/Transforms/Scalar/ |
D | LowerAtomic.cpp | 43 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst() 53 case AtomicRMWInst::Xchg: in LowerAtomicRMWInst() 56 case AtomicRMWInst::Add: in LowerAtomicRMWInst() 59 case AtomicRMWInst::Sub: in LowerAtomicRMWInst() 62 case AtomicRMWInst::And: in LowerAtomicRMWInst() 65 case AtomicRMWInst::Nand: in LowerAtomicRMWInst() 68 case AtomicRMWInst::Or: in LowerAtomicRMWInst() 71 case AtomicRMWInst::Xor: in LowerAtomicRMWInst() 74 case AtomicRMWInst::Max: in LowerAtomicRMWInst() 78 case AtomicRMWInst::Min: in LowerAtomicRMWInst() [all …]
|
/external/llvm/lib/Transforms/Scalar/ |
D | LowerAtomic.cpp | 44 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst() 54 case AtomicRMWInst::Xchg: in LowerAtomicRMWInst() 57 case AtomicRMWInst::Add: in LowerAtomicRMWInst() 60 case AtomicRMWInst::Sub: in LowerAtomicRMWInst() 63 case AtomicRMWInst::And: in LowerAtomicRMWInst() 66 case AtomicRMWInst::Nand: in LowerAtomicRMWInst() 69 case AtomicRMWInst::Or: in LowerAtomicRMWInst() 72 case AtomicRMWInst::Xor: in LowerAtomicRMWInst() 75 case AtomicRMWInst::Max: in LowerAtomicRMWInst() 79 case AtomicRMWInst::Min: in LowerAtomicRMWInst() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
D | AtomicExpandPass.cpp | 80 bool tryExpandAtomicRMW(AtomicRMWInst *AI); 89 AtomicRMWInst *I, 91 AtomicRMWInst *widenPartwordAtomicRMW(AtomicRMWInst *AI); 93 void expandAtomicRMWToMaskedIntrinsic(AtomicRMWInst *AI); 105 bool isIdempotentRMW(AtomicRMWInst *RMWI); 106 bool simplifyIdempotentRMW(AtomicRMWInst *RMWI); 115 void expandAtomicRMWToLibcall(AtomicRMWInst *I); 119 llvm::expandAtomicRMWToCmpXchg(AtomicRMWInst *AI, 145 static unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { in getAtomicOpSize() 174 static unsigned getAtomicOpAlign(AtomicRMWInst *RMWI) { in getAtomicOpAlign() [all …]
|
/external/llvm-project/llvm/lib/CodeGen/ |
D | AtomicExpandPass.cpp | 80 bool tryExpandAtomicRMW(AtomicRMWInst *AI); 89 AtomicRMWInst *I, 91 AtomicRMWInst *widenPartwordAtomicRMW(AtomicRMWInst *AI); 93 void expandAtomicRMWToMaskedIntrinsic(AtomicRMWInst *AI); 105 bool isIdempotentRMW(AtomicRMWInst *RMWI); 106 bool simplifyIdempotentRMW(AtomicRMWInst *RMWI); 115 void expandAtomicRMWToLibcall(AtomicRMWInst *I); 119 llvm::expandAtomicRMWToCmpXchg(AtomicRMWInst *AI, 145 static unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { in getAtomicOpSize() 190 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction() [all …]
|
/external/llvm/lib/CodeGen/ |
D | AtomicExpandPass.cpp | 59 bool tryExpandAtomicRMW(AtomicRMWInst *AI); 68 AtomicRMWInst *I, 80 bool isIdempotentRMW(AtomicRMWInst *AI); 81 bool simplifyIdempotentRMW(AtomicRMWInst *AI); 90 void expandAtomicRMWToLibcall(AtomicRMWInst *I); 94 llvm::expandAtomicRMWToCmpXchg(AtomicRMWInst *AI, 120 unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { in getAtomicOpSize() 149 unsigned getAtomicOpAlign(AtomicRMWInst *RMWI) { in getAtomicOpAlign() 194 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction() 468 AtomicRMWInst *AI = in expandAtomicStore() [all …]
|
/external/mesa3d/src/amd/llvm/ |
D | ac_llvm_helper.cpp | 277 llvm::AtomicRMWInst::BinOp binop; 280 binop = llvm::AtomicRMWInst::Xchg; 283 binop = llvm::AtomicRMWInst::Add; 286 binop = llvm::AtomicRMWInst::Sub; 289 binop = llvm::AtomicRMWInst::And; 292 binop = llvm::AtomicRMWInst::Nand; 295 binop = llvm::AtomicRMWInst::Or; 298 binop = llvm::AtomicRMWInst::Xor; 301 binop = llvm::AtomicRMWInst::Max; 304 binop = llvm::AtomicRMWInst::Min; [all …]
|
/external/llvm-project/llvm/lib/Target/RISCV/ |
D | RISCVExpandAtomicPseudoInsts.cpp | 51 MachineBasicBlock::iterator MBBI, AtomicRMWInst::BinOp, 56 AtomicRMWInst::BinOp, bool IsMasked, int Width, 94 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Nand, false, 32, in expandMI() 97 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Nand, false, 64, in expandMI() 100 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Xchg, true, 32, in expandMI() 103 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Add, true, 32, NextMBBI); in expandMI() 105 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Sub, true, 32, NextMBBI); in expandMI() 107 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Nand, true, 32, in expandMI() 110 return expandAtomicMinMaxOp(MBB, MBBI, AtomicRMWInst::Max, true, 32, in expandMI() 113 return expandAtomicMinMaxOp(MBB, MBBI, AtomicRMWInst::Min, true, 32, in expandMI() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/RISCV/ |
D | RISCVExpandPseudoInsts.cpp | 47 MachineBasicBlock::iterator MBBI, AtomicRMWInst::BinOp, 52 AtomicRMWInst::BinOp, bool IsMasked, int Width, 103 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Nand, false, 32, in expandMI() 106 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Nand, false, 64, in expandMI() 109 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Xchg, true, 32, in expandMI() 112 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Add, true, 32, NextMBBI); in expandMI() 114 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Sub, true, 32, NextMBBI); in expandMI() 116 return expandAtomicBinOp(MBB, MBBI, AtomicRMWInst::Nand, true, 32, in expandMI() 119 return expandAtomicMinMaxOp(MBB, MBBI, AtomicRMWInst::Max, true, 32, in expandMI() 122 return expandAtomicMinMaxOp(MBB, MBBI, AtomicRMWInst::Min, true, 32, in expandMI() [all …]
|
/external/llvm/include/llvm/CodeGen/ |
D | AtomicExpandUtils.h | 15 class AtomicRMWInst; variable 56 expandAtomicRMWToCmpXchg(AtomicRMWInst *AI, CreateCmpXchgInstFun Factory);
|
/external/llvm-project/llvm/include/llvm/CodeGen/ |
D | AtomicExpandUtils.h | 18 class AtomicRMWInst; variable 60 bool expandAtomicRMWToCmpXchg(AtomicRMWInst *AI, CreateCmpXchgInstFun CreateCmpXchg);
|
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/ |
D | AtomicExpandUtils.h | 18 class AtomicRMWInst; variable 60 bool expandAtomicRMWToCmpXchg(AtomicRMWInst *AI, CreateCmpXchgInstFun CreateCmpXchg);
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Instrumentation/ |
D | ThreadSanitizer.cpp | 123 FunctionCallee TsanAtomicRMW[AtomicRMWInst::LAST_BINOP + 1] 249 for (int op = AtomicRMWInst::FIRST_BINOP; in initialize() 250 op <= AtomicRMWInst::LAST_BINOP; ++op) { in initialize() 253 if (op == AtomicRMWInst::Xchg) in initialize() 255 else if (op == AtomicRMWInst::Add) in initialize() 257 else if (op == AtomicRMWInst::Sub) in initialize() 259 else if (op == AtomicRMWInst::And) in initialize() 261 else if (op == AtomicRMWInst::Or) in initialize() 263 else if (op == AtomicRMWInst::Xor) in initialize() 265 else if (op == AtomicRMWInst::Nand) in initialize() [all …]
|
/external/llvm/lib/Transforms/Instrumentation/ |
D | ThreadSanitizer.cpp | 116 Function *TsanAtomicRMW[AtomicRMWInst::LAST_BINOP + 1][kNumberOfAccessSizes]; 191 for (int op = AtomicRMWInst::FIRST_BINOP; in initializeCallbacks() 192 op <= AtomicRMWInst::LAST_BINOP; ++op) { in initializeCallbacks() 195 if (op == AtomicRMWInst::Xchg) in initializeCallbacks() 197 else if (op == AtomicRMWInst::Add) in initializeCallbacks() 199 else if (op == AtomicRMWInst::Sub) in initializeCallbacks() 201 else if (op == AtomicRMWInst::And) in initializeCallbacks() 203 else if (op == AtomicRMWInst::Or) in initializeCallbacks() 205 else if (op == AtomicRMWInst::Xor) in initializeCallbacks() 207 else if (op == AtomicRMWInst::Nand) in initializeCallbacks() [all …]
|
D | BoundsChecking.cpp | 183 isa<AtomicRMWInst>(I)) in runOnFunction() 200 } else if (AtomicRMWInst *AI = dyn_cast<AtomicRMWInst>(Inst)) { in runOnFunction()
|
/external/llvm-project/llvm/lib/Transforms/Instrumentation/ |
D | ThreadSanitizer.cpp | 166 FunctionCallee TsanAtomicRMW[AtomicRMWInst::LAST_BINOP + 1] 321 for (unsigned Op = AtomicRMWInst::FIRST_BINOP; in initialize() 322 Op <= AtomicRMWInst::LAST_BINOP; ++Op) { in initialize() 325 if (Op == AtomicRMWInst::Xchg) in initialize() 327 else if (Op == AtomicRMWInst::Add) in initialize() 329 else if (Op == AtomicRMWInst::Sub) in initialize() 331 else if (Op == AtomicRMWInst::And) in initialize() 333 else if (Op == AtomicRMWInst::Or) in initialize() 335 else if (Op == AtomicRMWInst::Xor) in initialize() 337 else if (Op == AtomicRMWInst::Nand) in initialize() [all …]
|
/external/llvm-project/mlir/lib/Target/LLVMIR/ |
D | ModuleTranslation.cpp | 251 static llvm::AtomicRMWInst::BinOp getLLVMAtomicBinOp(AtomicBinOp op) { in getLLVMAtomicBinOp() 254 return llvm::AtomicRMWInst::BinOp::Xchg; in getLLVMAtomicBinOp() 256 return llvm::AtomicRMWInst::BinOp::Add; in getLLVMAtomicBinOp() 258 return llvm::AtomicRMWInst::BinOp::Sub; in getLLVMAtomicBinOp() 260 return llvm::AtomicRMWInst::BinOp::And; in getLLVMAtomicBinOp() 262 return llvm::AtomicRMWInst::BinOp::Nand; in getLLVMAtomicBinOp() 264 return llvm::AtomicRMWInst::BinOp::Or; in getLLVMAtomicBinOp() 266 return llvm::AtomicRMWInst::BinOp::Xor; in getLLVMAtomicBinOp() 268 return llvm::AtomicRMWInst::BinOp::Max; in getLLVMAtomicBinOp() 270 return llvm::AtomicRMWInst::BinOp::Min; in getLLVMAtomicBinOp() [all …]
|
/external/llvm/lib/IR/ |
D | Instruction.cpp | 388 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in haveSameSpecialState() 389 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() && in haveSameSpecialState() 390 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() && in haveSameSpecialState() 391 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() && in haveSameSpecialState() 392 RMWI->getSynchScope() == cast<AtomicRMWInst>(I2)->getSynchScope(); in haveSameSpecialState()
|
/external/llvm/include/llvm/Analysis/ |
D | MemoryLocation.h | 69 static MemoryLocation get(const AtomicRMWInst *RMWI); 79 else if (auto *I = dyn_cast<AtomicRMWInst>(Inst)) in get()
|
/external/tensorflow/tensorflow/compiler/xla/service/gpu/ |
D | ir_emitter.cc | 301 AtomicRMW(llvm::AtomicRMWInst::FAdd, output_address, source, in MaybeEmitDirectAtomicOperation() 309 AtomicRMW(llvm::AtomicRMWInst::Add, output_address, source, in MaybeEmitDirectAtomicOperation() 319 ? llvm::AtomicRMWInst::Max in MaybeEmitDirectAtomicOperation() 320 : llvm::AtomicRMWInst::UMax; in MaybeEmitDirectAtomicOperation() 329 ? llvm::AtomicRMWInst::Min in MaybeEmitDirectAtomicOperation() 330 : llvm::AtomicRMWInst::UMin; in MaybeEmitDirectAtomicOperation()
|
/external/llvm-project/llvm/lib/IR/ |
D | Core.cpp | 3568 static AtomicRMWInst::BinOp mapFromLLVMRMWBinOp(LLVMAtomicRMWBinOp BinOp) { in mapFromLLVMRMWBinOp() 3570 case LLVMAtomicRMWBinOpXchg: return AtomicRMWInst::Xchg; in mapFromLLVMRMWBinOp() 3571 case LLVMAtomicRMWBinOpAdd: return AtomicRMWInst::Add; in mapFromLLVMRMWBinOp() 3572 case LLVMAtomicRMWBinOpSub: return AtomicRMWInst::Sub; in mapFromLLVMRMWBinOp() 3573 case LLVMAtomicRMWBinOpAnd: return AtomicRMWInst::And; in mapFromLLVMRMWBinOp() 3574 case LLVMAtomicRMWBinOpNand: return AtomicRMWInst::Nand; in mapFromLLVMRMWBinOp() 3575 case LLVMAtomicRMWBinOpOr: return AtomicRMWInst::Or; in mapFromLLVMRMWBinOp() 3576 case LLVMAtomicRMWBinOpXor: return AtomicRMWInst::Xor; in mapFromLLVMRMWBinOp() 3577 case LLVMAtomicRMWBinOpMax: return AtomicRMWInst::Max; in mapFromLLVMRMWBinOp() 3578 case LLVMAtomicRMWBinOpMin: return AtomicRMWInst::Min; in mapFromLLVMRMWBinOp() [all …]
|