Lines Matching defs:Query
44 struct Query {
49 Query(const DataLayout *DL, const TargetLibraryInfo *tli,
53 static Value *SimplifyAndInst(Value *, Value *, const Query &, unsigned);
54 static Value *SimplifyBinOp(unsigned, Value *, Value *, const Query &,
56 static Value *SimplifyCmpInst(unsigned, Value *, Value *, const Query &,
58 static Value *SimplifyOrInst(Value *, Value *, const Query &, unsigned);
59 static Value *SimplifyXorInst(Value *, Value *, const Query &, unsigned);
60 static Value *SimplifyTruncInst(Value *, Type *, const Query &, unsigned);
129 unsigned OpcToExpand, const Query &Q,
188 const Query &Q, unsigned MaxRecurse) {
287 const Query &Q, unsigned MaxRecurse) {
359 Value *RHS, const Query &Q,
441 const Query &Q, unsigned MaxRecurse) {
484 const Query &Q, unsigned MaxRecurse) {
521 const Query &Q, unsigned MaxRecurse) {
579 return ::SimplifyAddInst(Op0, Op1, isNSW, isNUW, Query (DL, TLI, DT),
658 const Query &Q, unsigned MaxRecurse) {
773 return ::SimplifySubInst(Op0, Op1, isNSW, isNUW, Query (DL, TLI, DT),
780 const Query &Q, unsigned MaxRecurse) {
822 const Query &Q, unsigned MaxRecurse) {
859 const Query &Q,
885 static Value *SimplifyMulInst(Value *Op0, Value *Op1, const Query &Q,
951 return ::SimplifyFAddInst(Op0, Op1, FMF, Query (DL, TLI, DT), RecursionLimit);
957 return ::SimplifyFSubInst(Op0, Op1, FMF, Query (DL, TLI, DT), RecursionLimit);
965 return ::SimplifyFMulInst(Op0, Op1, FMF, Query (DL, TLI, DT), RecursionLimit);
971 return ::SimplifyMulInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
977 const Query &Q, unsigned MaxRecurse) {
1048 static Value *SimplifySDivInst(Value *Op0, Value *Op1, const Query &Q,
1059 return ::SimplifySDivInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
1064 static Value *SimplifyUDivInst(Value *Op0, Value *Op1, const Query &Q,
1075 return ::SimplifyUDivInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
1078 static Value *SimplifyFDivInst(Value *Op0, Value *Op1, const Query &Q,
1094 return ::SimplifyFDivInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
1100 const Query &Q, unsigned MaxRecurse) {
1153 static Value *SimplifySRemInst(Value *Op0, Value *Op1, const Query &Q,
1164 return ::SimplifySRemInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
1169 static Value *SimplifyURemInst(Value *Op0, Value *Op1, const Query &Q,
1180 return ::SimplifyURemInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
1183 static Value *SimplifyFRemInst(Value *Op0, Value *Op1, const Query &,
1199 return ::SimplifyFRemInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
1232 const Query &Q, unsigned MaxRecurse) {
1270 const Query &Q, unsigned MaxRecurse) {
1288 return ::SimplifyShlInst(Op0, Op1, isNSW, isNUW, Query (DL, TLI, DT),
1295 const Query &Q, unsigned MaxRecurse) {
1320 return ::SimplifyLShrInst(Op0, Op1, isExact, Query (DL, TLI, DT),
1327 const Query &Q, unsigned MaxRecurse) {
1356 return ::SimplifyAShrInst(Op0, Op1, isExact, Query (DL, TLI, DT),
1362 static Value *SimplifyAndInst(Value *Op0, Value *Op1, const Query &Q,
1451 return ::SimplifyAndInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
1456 static Value *SimplifyOrInst(Value *Op0, Value *Op1, const Query &Q,
1572 return ::SimplifyOrInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
1577 static Value *SimplifyXorInst(Value *Op0, Value *Op1, const Query &Q,
1627 return ::SimplifyXorInst(Op0, Op1, Query (DL, TLI, DT), RecursionLimit);
1811 const Query &Q, unsigned MaxRecurse) {
2614 return ::SimplifyICmpInst(Predicate, LHS, RHS, Query (DL, TLI, DT),
2621 const Query &Q, unsigned MaxRecurse) {
2711 return ::SimplifyFCmpInst(Predicate, LHS, RHS, Query (DL, TLI, DT),
2718 Value *FalseVal, const Query &Q,
2750 return ::SimplifySelectInst(Cond, TrueVal, FalseVal, Query (DL, TLI, DT),
2756 static Value *SimplifyGEPInst(ArrayRef<Value *> Ops, const Query &Q, unsigned) {
2796 return ::SimplifyGEPInst(Ops, Query (DL, TLI, DT), RecursionLimit);
2802 ArrayRef<unsigned> Idxs, const Query &Q,
2833 return ::SimplifyInsertValueInst(Agg, Val, Idxs, Query (DL, TLI, DT),
2838 static Value *SimplifyPHINode(PHINode *PN, const Query &Q) {
2871 static Value *SimplifyTruncInst(Value *Op, Type *Ty, const Query &Q, unsigned) {
2881 return ::SimplifyTruncInst(Op, Ty, Query (DL, TLI, DT), RecursionLimit);
2889 const Query &Q, unsigned MaxRecurse) {
2954 return ::SimplifyBinOp(Opcode, LHS, RHS, Query (DL, TLI, DT), RecursionLimit);
2960 const Query &Q, unsigned MaxRecurse) {
2969 return ::SimplifyCmpInst(Predicate, LHS, RHS, Query (DL, TLI, DT),
2991 const Query &Q, unsigned MaxRecurse) {
3007 const Query &Q, unsigned MaxRecurse) {
3045 return ::SimplifyCall(V, ArgBegin, ArgEnd, Query(DL, TLI, DT),
3052 return ::SimplifyCall(V, Args.begin(), Args.end(), Query(DL, TLI, DT),
3162 Result = SimplifyPHINode(cast<PHINode>(I), Query (DL, TLI, DT));