Lines Matching defs:Builder

23   IRBuilder<> Builder(CXI);
29 buildCmpXchgValue(Builder, Ptr, Cmp, Val, CXI->getAlign());
32 Builder.CreateInsertValue(PoisonValue::get(CXI->getType()), Orig, 0);
33 Res = Builder.CreateInsertValue(Res, Equal, 1);
40 std::pair<Value *, Value *> llvm::buildCmpXchgValue(IRBuilderBase &Builder,
44 LoadInst *Orig = Builder.CreateAlignedLoad(Val->getType(), Ptr, Alignment);
45 Value *Equal = Builder.CreateICmpEQ(Orig, Cmp);
46 Value *Res = Builder.CreateSelect(Equal, Val, Orig);
47 Builder.CreateAlignedStore(Res, Ptr, Alignment);
53 IRBuilderBase &Builder, Value *Loaded,
60 return Builder.CreateAdd(Loaded, Val, "new");
62 return Builder.CreateSub(Loaded, Val, "new");
64 return Builder.CreateAnd(Loaded, Val, "new");
66 return Builder.CreateNot(Builder.CreateAnd(Loaded, Val), "new");
68 return Builder.CreateOr(Loaded, Val, "new");
70 return Builder.CreateXor(Loaded, Val, "new");
72 NewVal = Builder.CreateICmpSGT(Loaded, Val);
73 return Builder.CreateSelect(NewVal, Loaded, Val, "new");
75 NewVal = Builder.CreateICmpSLE(Loaded, Val);
76 return Builder.CreateSelect(NewVal, Loaded, Val, "new");
78 NewVal = Builder.CreateICmpUGT(Loaded, Val);
79 return Builder.CreateSelect(NewVal, Loaded, Val, "new");
81 NewVal = Builder.CreateICmpULE(Loaded, Val);
82 return Builder.CreateSelect(NewVal, Loaded, Val, "new");
84 return Builder.CreateFAdd(Loaded, Val, "new");
86 return Builder.CreateFSub(Loaded, Val, "new");
88 return Builder.CreateMaxNum(Loaded, Val);
90 return Builder.CreateMinNum(Loaded, Val);
93 Value *Inc = Builder.CreateAdd(Loaded, One);
94 Value *Cmp = Builder.CreateICmpUGE(Loaded, Val);
96 return Builder.CreateSelect(Cmp, Zero, Inc, "new");
102 Value *Dec = Builder.CreateSub(Loaded, One);
103 Value *CmpEq0 = Builder.CreateICmpEQ(Loaded, Zero);
104 Value *CmpOldGtVal = Builder.CreateICmpUGT(Loaded, Val);
105 Value *Or = Builder.CreateOr(CmpEq0, CmpOldGtVal);
106 return Builder.CreateSelect(Or, Val, Dec, "new");
109 Value *Cmp = Builder.CreateICmpUGE(Loaded, Val);
110 Value *Sub = Builder.CreateSub(Loaded, Val);
111 return Builder.CreateSelect(Cmp, Sub, Loaded, "new");
114 return Builder.CreateIntrinsic(Intrinsic::usub_sat, Loaded->getType(),
122 IRBuilder<> Builder(RMWI);
123 Builder.setIsFPConstrained(
129 LoadInst *Orig = Builder.CreateLoad(Val->getType(), Ptr);
130 Value *Res = buildAtomicRMWValue(RMWI->getOperation(), Builder, Orig, Val);
131 Builder.CreateStore(Res, Ptr);