Lines Matching defs:Query
44 struct Query {
49 Query(const DataLayout *td, 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,
190 unsigned OpcToExtract, const Query &Q,
260 const Query &Q, unsigned MaxRecurse) {
359 const Query &Q, unsigned MaxRecurse) {
431 Value *RHS, const Query &Q,
513 const Query &Q, unsigned MaxRecurse) {
556 const Query &Q, unsigned MaxRecurse) {
593 const Query &Q, unsigned MaxRecurse) {
656 return ::SimplifyAddInst(Op0, Op1, isNSW, isNUW, Query (TD, TLI, DT),
733 const Query &Q, unsigned MaxRecurse) {
860 return ::SimplifySubInst(Op0, Op1, isNSW, isNUW, Query (TD, TLI, DT),
867 const Query &Q, unsigned MaxRecurse) {
909 const Query &Q, unsigned MaxRecurse) {
946 const Query &Q,
972 static Value *SimplifyMulInst(Value *Op0, Value *Op1, const Query &Q,
1038 return ::SimplifyFAddInst(Op0, Op1, FMF, Query (TD, TLI, DT), RecursionLimit);
1044 return ::SimplifyFSubInst(Op0, Op1, FMF, Query (TD, TLI, DT), RecursionLimit);
1052 return ::SimplifyFMulInst(Op0, Op1, FMF, Query (TD, TLI, DT), RecursionLimit);
1058 return ::SimplifyMulInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1064 const Query &Q, unsigned MaxRecurse) {
1135 static Value *SimplifySDivInst(Value *Op0, Value *Op1, const Query &Q,
1146 return ::SimplifySDivInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1151 static Value *SimplifyUDivInst(Value *Op0, Value *Op1, const Query &Q,
1162 return ::SimplifyUDivInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1165 static Value *SimplifyFDivInst(Value *Op0, Value *Op1, const Query &Q,
1181 return ::SimplifyFDivInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1187 const Query &Q, unsigned MaxRecurse) {
1240 static Value *SimplifySRemInst(Value *Op0, Value *Op1, const Query &Q,
1251 return ::SimplifySRemInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1256 static Value *SimplifyURemInst(Value *Op0, Value *Op1, const Query &Q,
1267 return ::SimplifyURemInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1270 static Value *SimplifyFRemInst(Value *Op0, Value *Op1, const Query &,
1286 return ::SimplifyFRemInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1292 const Query &Q, unsigned MaxRecurse) {
1336 const Query &Q, unsigned MaxRecurse) {
1354 return ::SimplifyShlInst(Op0, Op1, isNSW, isNUW, Query (TD, TLI, DT),
1361 const Query &Q, unsigned MaxRecurse) {
1386 return ::SimplifyLShrInst(Op0, Op1, isExact, Query (TD, TLI, DT),
1393 const Query &Q, unsigned MaxRecurse) {
1422 return ::SimplifyAShrInst(Op0, Op1, isExact, Query (TD, TLI, DT),
1428 static Value *SimplifyAndInst(Value *Op0, Value *Op1, const Query &Q,
1522 return ::SimplifyAndInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1527 static Value *SimplifyOrInst(Value *Op0, Value *Op1, const Query &Q,
1616 return ::SimplifyOrInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1621 static Value *SimplifyXorInst(Value *Op0, Value *Op1, const Query &Q,
1676 return ::SimplifyXorInst(Op0, Op1, Query (TD, TLI, DT), RecursionLimit);
1849 const Query &Q, unsigned MaxRecurse) {
2581 return ::SimplifyICmpInst(Predicate, LHS, RHS, Query (TD, TLI, DT),
2588 const Query &Q, unsigned MaxRecurse) {
2678 return ::SimplifyFCmpInst(Predicate, LHS, RHS, Query (TD, TLI, DT),
2685 Value *FalseVal, const Query &Q,
2713 return ::SimplifySelectInst(Cond, TrueVal, FalseVal, Query (TD, TLI, DT),
2719 static Value *SimplifyGEPInst(ArrayRef<Value *> Ops, const Query &Q, unsigned) {
2761 return ::SimplifyGEPInst(Ops, Query (TD, TLI, DT), RecursionLimit);
2767 ArrayRef<unsigned> Idxs, const Query &Q,
2798 return ::SimplifyInsertValueInst(Agg, Val, Idxs, Query (TD, TLI, DT),
2803 static Value *SimplifyPHINode(PHINode *PN, const Query &Q) {
2836 static Value *SimplifyTruncInst(Value *Op, Type *Ty, const Query &Q, unsigned) {
2846 return ::SimplifyTruncInst(Op, Ty, Query (TD, TLI, DT), RecursionLimit);
2854 const Query &Q, unsigned MaxRecurse) {
2919 return ::SimplifyBinOp(Opcode, LHS, RHS, Query (TD, TLI, DT), RecursionLimit);
2925 const Query &Q, unsigned MaxRecurse) {
2934 return ::SimplifyCmpInst(Predicate, LHS, RHS, Query (TD, TLI, DT),
2955 const Query &Q, unsigned MaxRecurse) {
2971 const Query &Q, unsigned MaxRecurse) {
3009 return ::SimplifyCall(V, ArgBegin, ArgEnd, Query(TD, TLI, DT),
3016 return ::SimplifyCall(V, Args.begin(), Args.end(), Query(TD, TLI, DT),
3126 Result = SimplifyPHINode(cast<PHINode>(I), Query (TD, TLI, DT));