Lines Matching refs:Fold

35   /// Fold - Fold the constant using target specific information.
36 Constant *Fold(Constant *C) const {
52 return Fold(ConstantExpr::getAdd(LHS, RHS, HasNUW, HasNSW));
55 return Fold(ConstantExpr::getFAdd(LHS, RHS));
59 return Fold(ConstantExpr::getSub(LHS, RHS, HasNUW, HasNSW));
62 return Fold(ConstantExpr::getFSub(LHS, RHS));
66 return Fold(ConstantExpr::getMul(LHS, RHS, HasNUW, HasNSW));
69 return Fold(ConstantExpr::getFMul(LHS, RHS));
72 return Fold(ConstantExpr::getUDiv(LHS, RHS, isExact));
75 return Fold(ConstantExpr::getSDiv(LHS, RHS, isExact));
78 return Fold(ConstantExpr::getFDiv(LHS, RHS));
81 return Fold(ConstantExpr::getURem(LHS, RHS));
84 return Fold(ConstantExpr::getSRem(LHS, RHS));
87 return Fold(ConstantExpr::getFRem(LHS, RHS));
91 return Fold(ConstantExpr::getShl(LHS, RHS, HasNUW, HasNSW));
94 return Fold(ConstantExpr::getLShr(LHS, RHS, isExact));
97 return Fold(ConstantExpr::getAShr(LHS, RHS, isExact));
100 return Fold(ConstantExpr::getAnd(LHS, RHS));
103 return Fold(ConstantExpr::getOr(LHS, RHS));
106 return Fold(ConstantExpr::getXor(LHS, RHS));
111 return Fold(ConstantExpr::get(Opc, LHS, RHS));
120 return Fold(ConstantExpr::getNeg(C, HasNUW, HasNSW));
123 return Fold(ConstantExpr::getFNeg(C));
126 return Fold(ConstantExpr::getNot(C));
135 return Fold(ConstantExpr::getGetElementPtr(Ty, C, IdxList));
141 return Fold(ConstantExpr::getGetElementPtr(Ty, C, Idx));
145 return Fold(ConstantExpr::getGetElementPtr(Ty, C, IdxList));
150 return Fold(ConstantExpr::getInBoundsGetElementPtr(Ty, C, IdxList));
157 return Fold(ConstantExpr::getInBoundsGetElementPtr(Ty, C, Idx));
161 return Fold(ConstantExpr::getInBoundsGetElementPtr(Ty, C, IdxList));
171 return C; // avoid calling Fold
172 return Fold(ConstantExpr::getCast(Op, C, DestTy));
177 return C; // avoid calling Fold
178 return Fold(ConstantExpr::getIntegerCast(C, DestTy, isSigned));
182 return C; // avoid calling Fold
183 return Fold(ConstantExpr::getPointerCast(C, DestTy));
187 return C; // avoid calling Fold
188 return Fold(ConstantExpr::getFPCast(C, DestTy));
201 return C; // avoid calling Fold
202 return Fold(ConstantExpr::getZExtOrBitCast(C, DestTy));
206 return C; // avoid calling Fold
207 return Fold(ConstantExpr::getSExtOrBitCast(C, DestTy));
211 return C; // avoid calling Fold
212 return Fold(ConstantExpr::getTruncOrBitCast(C, DestTy));
218 return C; // avoid calling Fold
219 return Fold(ConstantExpr::getPointerBitCastOrAddrSpaceCast(C, DestTy));
228 return Fold(ConstantExpr::getCompare(P, LHS, RHS));
232 return Fold(ConstantExpr::getCompare(P, LHS, RHS));
240 return Fold(ConstantExpr::getSelect(C, True, False));
244 return Fold(ConstantExpr::getExtractElement(Vec, Idx));
249 return Fold(ConstantExpr::getInsertElement(Vec, NewElt, Idx));
254 return Fold(ConstantExpr::getShuffleVector(V1, V2, Mask));
259 return Fold(ConstantExpr::getExtractValue(Agg, IdxList));
264 return Fold(ConstantExpr::getInsertValue(Agg, Val, IdxList));