• Home
  • Raw
  • Download

Lines Matching full:constants

25 // Returns a constants with the value NaN of the given type.  Only works for
45 // Returns a constants with the value INF of the given type. Only works for
75 // Returns a constants with the value |-val| of the given type. Only works for
95 const std::vector<const analysis::Constant*>& constants) in FoldExtractWithConstants()
97 const analysis::Constant* c = constants[kExtractCompositeIdInIdx]; in FoldExtractWithConstants()
125 const std::vector<const analysis::Constant*>& constants) in FoldVectorShuffleWithConstants()
128 const analysis::Constant* c1 = constants[0]; in FoldVectorShuffleWithConstants()
129 const analysis::Constant* c2 = constants[1]; in FoldVectorShuffleWithConstants()
181 const std::vector<const analysis::Constant*>& constants) in FoldVectorTimesScalar()
193 const analysis::Constant* c1 = constants[0]; in FoldVectorTimesScalar()
194 const analysis::Constant* c2 = constants[1]; in FoldVectorTimesScalar()
255 // Folds an OpCompositeConstruct where all of the inputs are constants to a in FoldCompositeWithConstants()
258 const std::vector<const analysis::Constant*>& constants) in FoldCompositeWithConstants()
267 for (uint32_t i = 0; i < constants.size(); ++i) { in FoldCompositeWithConstants()
268 const analysis::Constant* element_const = constants[i]; in FoldCompositeWithConstants()
293 // will be |type|. The input constants must also be of type |type|.
300 // will be |type|. The input constants must also be of type |type|.
308 // that is returned assumes that |constants| contains 1 entry. If they are
313 const std::vector<const analysis::Constant*>& constants) in FoldFPUnaryOp()
325 (inst->opcode() == SpvOpExtInst) ? constants[1] : constants[0]; in FoldFPUnaryOp()
358 // Returns the result of folding the constants in |constants| according the
363 const std::vector<const analysis::Constant*>& constants, in FoldFPBinaryOp() argument
370 if (constants[0] == nullptr || constants[1] == nullptr) { in FoldFPBinaryOp()
379 a_components = constants[0]->GetVectorComponents(const_mgr); in FoldFPBinaryOp()
380 b_components = constants[1]->GetVectorComponents(const_mgr); in FoldFPBinaryOp()
399 return scalar_rule(result_type, constants[0], constants[1], const_mgr); in FoldFPBinaryOp()
406 // that |constants| contains 2 entries. If they are not |nullptr|, then their
410 const std::vector<const analysis::Constant*>& constants) in FoldFPBinaryOp()
417 {constants[1], constants[2]}, context); in FoldFPBinaryOp()
419 return FoldFPBinaryOp(scalar_rule, inst->type_id(), constants, context); in FoldFPBinaryOp()
603 // Returns the constant folding rule to fold |OpFDiv| with two constants.
685 // Folds an OpDot where all of the inputs are constants to a
689 const std::vector<const analysis::Constant*>& constants) in FoldOpDotWithConstants()
705 if (constants[i]) { in FoldOpDotWithConstants()
706 if (constants[i]->AsNullConstant() || in FoldOpDotWithConstants()
707 constants[i]->AsVectorConstant()->IsZero()) { in FoldOpDotWithConstants()
728 if (constants[0] == nullptr || constants[1] == nullptr) { in FoldOpDotWithConstants()
735 a_components = constants[0]->GetVectorComponents(const_mgr); in FoldOpDotWithConstants()
736 b_components = constants[1]->GetVectorComponents(const_mgr); in FoldOpDotWithConstants()
775 const std::vector<const analysis::Constant*>& constants) in FoldFClampFeedingCompare()
784 uint32_t non_const_idx = (constants[0] ? 1 : 0); in FoldFClampFeedingCompare()
809 if (constants[1] == nullptr && constants[0] == nullptr) { in FoldFClampFeedingCompare()
829 if (constants[0]) { in FoldFClampFeedingCompare()
831 if (constants[0]->GetValueAsDouble() < in FoldFClampFeedingCompare()
839 if (constants[0]->GetValueAsDouble() >= in FoldFClampFeedingCompare()
848 if (constants[1]) { in FoldFClampFeedingCompare()
851 constants[1]->GetValueAsDouble()) { in FoldFClampFeedingCompare()
860 constants[1]->GetValueAsDouble()) { in FoldFClampFeedingCompare()
872 if (constants[0]) { in FoldFClampFeedingCompare()
874 if (constants[0]->GetValueAsDouble() <= in FoldFClampFeedingCompare()
882 if (constants[0]->GetValueAsDouble() > in FoldFClampFeedingCompare()
891 if (constants[1]) { in FoldFClampFeedingCompare()
894 constants[1]->GetValueAsDouble()) { in FoldFClampFeedingCompare()
903 constants[1]->GetValueAsDouble()) { in FoldFClampFeedingCompare()
930 const std::vector<const analysis::Constant*>& constants) in FoldFMix()
945 // Make sure all FMix operands are constants. in FoldFMix()
947 if (constants[i] == nullptr) { in FoldFMix()
954 const analysis::Type* result_type = constants[1]->type(); in FoldFMix()
978 FOLD_FPARITH_OP(-), inst->type_id(), {one, constants[3]}, context); in FoldFMix()
984 FOLD_FPARITH_OP(*), inst->type_id(), {constants[1], temp1}, context); in FoldFMix()
990 {constants[2], constants[3]}, context); in FoldFMix()
1093 const std::vector<const analysis::Constant*>& constants) { in FoldClamp1() argument
1100 // Make sure all Clamp operands are constants. in FoldClamp1()
1102 if (constants[i] == nullptr) { in FoldClamp1()
1108 FoldMax, inst->type_id(), {constants[1], constants[2]}, context); in FoldClamp1()
1112 return FoldFPBinaryOp(FoldMin, inst->type_id(), {temp, constants[3]}, in FoldClamp1()
1119 const std::vector<const analysis::Constant*>& constants) { in FoldClamp2() argument
1126 const analysis::Constant* x = constants[1]; in FoldClamp2()
1127 const analysis::Constant* min_val = constants[2]; in FoldClamp2()
1147 const std::vector<const analysis::Constant*>& constants) { in FoldClamp3() argument
1154 const analysis::Constant* x = constants[1]; in FoldClamp3()
1155 const analysis::Constant* max_val = constants[3]; in FoldClamp3()