/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/InstCombine/ |
D | InstCombineAtomicRMW.cpp | 23 bool isIdempotentRMW(AtomicRMWInst& RMWI) { in isIdempotentRMW() argument 24 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand())) in isIdempotentRMW() 25 switch(RMWI.getOperation()) { in isIdempotentRMW() 34 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand()); in isIdempotentRMW() 38 switch(RMWI.getOperation()) { in isIdempotentRMW() 61 bool isSaturating(AtomicRMWInst& RMWI) { in isSaturating() argument 62 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand())) in isSaturating() 63 switch(RMWI.getOperation()) { in isSaturating() 71 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand()); in isSaturating() 75 switch(RMWI.getOperation()) { in isSaturating() [all …]
|
/external/llvm-project/llvm/lib/Transforms/InstCombine/ |
D | InstCombineAtomicRMW.cpp | 25 bool isIdempotentRMW(AtomicRMWInst& RMWI) { in isIdempotentRMW() argument 26 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand())) in isIdempotentRMW() 27 switch(RMWI.getOperation()) { in isIdempotentRMW() 36 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand()); in isIdempotentRMW() 40 switch(RMWI.getOperation()) { in isIdempotentRMW() 63 bool isSaturating(AtomicRMWInst& RMWI) { in isSaturating() argument 64 if (auto CF = dyn_cast<ConstantFP>(RMWI.getValOperand())) in isSaturating() 65 switch(RMWI.getOperation()) { in isSaturating() 73 auto C = dyn_cast<ConstantInt>(RMWI.getValOperand()); in isSaturating() 77 switch(RMWI.getOperation()) { in isSaturating() [all …]
|
/external/llvm/lib/Transforms/Scalar/ |
D | LowerAtomic.cpp | 44 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst() argument 45 IRBuilder<> Builder(RMWI); in LowerAtomicRMWInst() 46 Value *Ptr = RMWI->getPointerOperand(); in LowerAtomicRMWInst() 47 Value *Val = RMWI->getValOperand(); in LowerAtomicRMWInst() 52 switch (RMWI->getOperation()) { in LowerAtomicRMWInst() 93 RMWI->replaceAllUsesWith(Orig); in LowerAtomicRMWInst() 94 RMWI->eraseFromParent(); in LowerAtomicRMWInst() 121 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(Inst)) in runOnBasicBlock() local 122 Changed |= LowerAtomicRMWInst(RMWI); in runOnBasicBlock()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
D | LowerAtomic.cpp | 43 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst() argument 44 IRBuilder<> Builder(RMWI); in LowerAtomicRMWInst() 45 Value *Ptr = RMWI->getPointerOperand(); in LowerAtomicRMWInst() 46 Value *Val = RMWI->getValOperand(); in LowerAtomicRMWInst() 51 switch (RMWI->getOperation()) { in LowerAtomicRMWInst() 98 RMWI->replaceAllUsesWith(Orig); in LowerAtomicRMWInst() 99 RMWI->eraseFromParent(); in LowerAtomicRMWInst() 126 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(Inst)) in runOnBasicBlock() local 127 Changed |= LowerAtomicRMWInst(RMWI); in runOnBasicBlock()
|
/external/llvm-project/llvm/lib/Transforms/Scalar/ |
D | LowerAtomic.cpp | 43 static bool LowerAtomicRMWInst(AtomicRMWInst *RMWI) { in LowerAtomicRMWInst() argument 44 IRBuilder<> Builder(RMWI); in LowerAtomicRMWInst() 45 Value *Ptr = RMWI->getPointerOperand(); in LowerAtomicRMWInst() 46 Value *Val = RMWI->getValOperand(); in LowerAtomicRMWInst() 51 switch (RMWI->getOperation()) { in LowerAtomicRMWInst() 98 RMWI->replaceAllUsesWith(Orig); in LowerAtomicRMWInst() 99 RMWI->eraseFromParent(); in LowerAtomicRMWInst() 125 else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(&Inst)) in runOnBasicBlock() local 126 Changed |= LowerAtomicRMWInst(RMWI); in runOnBasicBlock()
|
/external/llvm/lib/Analysis/ |
D | MemoryLocation.cpp | 57 MemoryLocation MemoryLocation::get(const AtomicRMWInst *RMWI) { in get() argument 59 RMWI->getAAMetadata(AATags); in get() 60 const auto &DL = RMWI->getModule()->getDataLayout(); in get() 62 return MemoryLocation(RMWI->getPointerOperand(), in get() 63 DL.getTypeStoreSize(RMWI->getValOperand()->getType()), in get()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/ |
D | MemoryLocation.cpp | 75 MemoryLocation MemoryLocation::get(const AtomicRMWInst *RMWI) { in get() argument 77 RMWI->getAAMetadata(AATags); in get() 78 const auto &DL = RMWI->getModule()->getDataLayout(); in get() 80 return MemoryLocation(RMWI->getPointerOperand(), in get() 82 RMWI->getValOperand()->getType())), in get()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
D | AtomicExpandPass.cpp | 105 bool isIdempotentRMW(AtomicRMWInst *RMWI); 106 bool simplifyIdempotentRMW(AtomicRMWInst *RMWI); 145 static unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { in getAtomicOpSize() argument 146 const DataLayout &DL = RMWI->getModule()->getDataLayout(); in getAtomicOpSize() 147 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); in getAtomicOpSize() 174 static unsigned getAtomicOpAlign(AtomicRMWInst *RMWI) { in getAtomicOpAlign() argument 178 const DataLayout &DL = RMWI->getModule()->getDataLayout(); in getAtomicOpAlign() 179 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); in getAtomicOpAlign() 222 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction() local 224 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction"); in runOnFunction() [all …]
|
/external/llvm/lib/CodeGen/ |
D | AtomicExpandPass.cpp | 120 unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { in getAtomicOpSize() argument 121 const DataLayout &DL = RMWI->getModule()->getDataLayout(); in getAtomicOpSize() 122 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); in getAtomicOpSize() 149 unsigned getAtomicOpAlign(AtomicRMWInst *RMWI) { in getAtomicOpAlign() argument 153 const DataLayout &DL = RMWI->getModule()->getDataLayout(); in getAtomicOpAlign() 154 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); in getAtomicOpAlign() 194 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction() local 196 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction"); in runOnFunction() 211 } else if (RMWI) { in runOnFunction() 212 if (!atomicSizeSupported(TLI, RMWI)) { in runOnFunction() [all …]
|
/external/llvm-project/llvm/lib/CodeGen/ |
D | AtomicExpandPass.cpp | 105 bool isIdempotentRMW(AtomicRMWInst *RMWI); 106 bool simplifyIdempotentRMW(AtomicRMWInst *RMWI); 145 static unsigned getAtomicOpSize(AtomicRMWInst *RMWI) { in getAtomicOpSize() argument 146 const DataLayout &DL = RMWI->getModule()->getDataLayout(); in getAtomicOpSize() 147 return DL.getTypeStoreSize(RMWI->getValOperand()->getType()); in getAtomicOpSize() 190 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction() local 192 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction"); in runOnFunction() 207 } else if (RMWI) { in runOnFunction() 208 if (!atomicSizeSupported(TLI, RMWI)) { in runOnFunction() 209 expandAtomicRMWToLibcall(RMWI); in runOnFunction() [all …]
|
/external/llvm-project/llvm/lib/Analysis/ |
D | MemoryLocation.cpp | 77 MemoryLocation MemoryLocation::get(const AtomicRMWInst *RMWI) { in get() argument 79 RMWI->getAAMetadata(AATags); in get() 80 const auto &DL = RMWI->getModule()->getDataLayout(); in get() 82 return MemoryLocation(RMWI->getPointerOperand(), in get() 84 RMWI->getValOperand()->getType())), in get()
|
/external/llvm/lib/IR/ |
D | Instruction.cpp | 388 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in haveSameSpecialState() local 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()
|
D | Verifier.cpp | 424 void visitAtomicRMWInst(AtomicRMWInst &RMWI); 3121 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst() argument 3122 Assert(RMWI.getOrdering() != AtomicOrdering::NotAtomic, in visitAtomicRMWInst() 3123 "atomicrmw instructions must be atomic.", &RMWI); in visitAtomicRMWInst() 3124 Assert(RMWI.getOrdering() != AtomicOrdering::Unordered, in visitAtomicRMWInst() 3125 "atomicrmw instructions cannot be unordered.", &RMWI); in visitAtomicRMWInst() 3126 PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType()); in visitAtomicRMWInst() 3127 Assert(PTy, "First atomicrmw operand must be a pointer.", &RMWI); in visitAtomicRMWInst() 3130 &RMWI, ElTy); in visitAtomicRMWInst() 3131 checkAtomicMemAccessSize(M, ElTy, &RMWI); in visitAtomicRMWInst() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/IR/ |
D | Instruction.cpp | 432 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in haveSameSpecialState() local 433 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() && in haveSameSpecialState() 434 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() && in haveSameSpecialState() 435 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() && in haveSameSpecialState() 436 RMWI->getSyncScopeID() == cast<AtomicRMWInst>(I2)->getSyncScopeID(); in haveSameSpecialState()
|
D | Verifier.cpp | 483 void visitAtomicRMWInst(AtomicRMWInst &RMWI); 3546 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst() argument 3547 Assert(RMWI.getOrdering() != AtomicOrdering::NotAtomic, in visitAtomicRMWInst() 3548 "atomicrmw instructions must be atomic.", &RMWI); in visitAtomicRMWInst() 3549 Assert(RMWI.getOrdering() != AtomicOrdering::Unordered, in visitAtomicRMWInst() 3550 "atomicrmw instructions cannot be unordered.", &RMWI); in visitAtomicRMWInst() 3551 auto Op = RMWI.getOperation(); in visitAtomicRMWInst() 3552 PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType()); in visitAtomicRMWInst() 3553 Assert(PTy, "First atomicrmw operand must be a pointer.", &RMWI); in visitAtomicRMWInst() 3559 &RMWI, ElTy); in visitAtomicRMWInst() [all …]
|
/external/llvm-project/llvm/lib/IR/ |
D | Instruction.cpp | 456 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I1)) in haveSameSpecialState() local 457 return RMWI->getOperation() == cast<AtomicRMWInst>(I2)->getOperation() && in haveSameSpecialState() 458 RMWI->isVolatile() == cast<AtomicRMWInst>(I2)->isVolatile() && in haveSameSpecialState() 459 RMWI->getOrdering() == cast<AtomicRMWInst>(I2)->getOrdering() && in haveSameSpecialState() 460 RMWI->getSyncScopeID() == cast<AtomicRMWInst>(I2)->getSyncScopeID(); in haveSameSpecialState()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Instrumentation/ |
D | ThreadSanitizer.cpp | 660 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) { in instrumentAtomic() local 661 Value *Addr = RMWI->getPointerOperand(); in instrumentAtomic() 665 FunctionCallee F = TsanAtomicRMW[RMWI->getOperation()][Idx]; in instrumentAtomic() 673 IRB.CreateIntCast(RMWI->getValOperand(), Ty, false), in instrumentAtomic() 674 createOrdering(&IRB, RMWI->getOrdering())}; in instrumentAtomic()
|
/external/llvm/lib/Transforms/Instrumentation/ |
D | ThreadSanitizer.cpp | 603 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) { in instrumentAtomic() local 604 Value *Addr = RMWI->getPointerOperand(); in instrumentAtomic() 608 Function *F = TsanAtomicRMW[RMWI->getOperation()][Idx]; in instrumentAtomic() 616 IRB.CreateIntCast(RMWI->getValOperand(), Ty, false), in instrumentAtomic() 617 createOrdering(&IRB, RMWI->getOrdering())}; in instrumentAtomic()
|
/external/llvm-project/llvm/lib/Transforms/Instrumentation/ |
D | ThreadSanitizer.cpp | 772 } else if (AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(I)) { in instrumentAtomic() local 773 Value *Addr = RMWI->getPointerOperand(); in instrumentAtomic() 777 FunctionCallee F = TsanAtomicRMW[RMWI->getOperation()][Idx]; in instrumentAtomic() 785 IRB.CreateIntCast(RMWI->getValOperand(), Ty, false), in instrumentAtomic() 786 createOrdering(&IRB, RMWI->getOrdering())}; in instrumentAtomic()
|
/external/llvm/lib/Target/SystemZ/ |
D | SystemZPatterns.td | 43 class RMWI<SDPatternOperator load, SDPatternOperator operator, 53 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm32, insn>; 54 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm64, insn>;
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/ |
D | FunctionComparator.cpp | 633 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(L)) { in cmpOperations() local 634 if (int Res = cmpNumbers(RMWI->getOperation(), in cmpOperations() 637 if (int Res = cmpNumbers(RMWI->isVolatile(), in cmpOperations() 640 if (int Res = cmpOrderings(RMWI->getOrdering(), in cmpOperations() 643 return cmpNumbers(RMWI->getSyncScopeID(), in cmpOperations()
|
/external/llvm/include/llvm/Analysis/ |
D | MemoryLocation.h | 69 static MemoryLocation get(const AtomicRMWInst *RMWI);
|
/external/llvm-project/llvm/lib/Target/SystemZ/ |
D | SystemZPatterns.td | 42 class RMWI<SDPatternOperator load, SDPatternOperator operator, 52 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm32, insn>; 53 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm64, insn>;
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/SystemZ/ |
D | SystemZPatterns.td | 42 class RMWI<SDPatternOperator load, SDPatternOperator operator, 52 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm32, insn>; 53 def : RMWI<anyextloadi8, operator, truncstorei8, mode, imm64, insn>;
|
/external/llvm-project/llvm/lib/Transforms/Utils/ |
D | FunctionComparator.cpp | 653 if (const AtomicRMWInst *RMWI = dyn_cast<AtomicRMWInst>(L)) { in cmpOperations() local 654 if (int Res = cmpNumbers(RMWI->getOperation(), in cmpOperations() 657 if (int Res = cmpNumbers(RMWI->isVolatile(), in cmpOperations() 660 if (int Res = cmpOrderings(RMWI->getOrdering(), in cmpOperations() 663 return cmpNumbers(RMWI->getSyncScopeID(), in cmpOperations()
|