Lines Matching refs:Expression
23 static bool is_low_precision_matrix_vector_multiply(const Expression& left,
25 const Expression& right,
36 static std::unique_ptr<Expression> rewrite_matrix_vector_multiply(const Context& context,
37 const Expression& left,
39 const Expression& right,
42 std::unique_ptr<Expression> sum;
45 std::unique_ptr<Expression> matN = IndexExpression::Make(
48 std::unique_ptr<Expression> vecN = Swizzle::Make(
52 std::unique_ptr<Expression> product =
69 std::unique_ptr<Expression> BinaryExpression::Convert(const Context& context,
70 std::unique_ptr<Expression> left,
72 std::unique_ptr<Expression> right) {
136 std::unique_ptr<Expression> BinaryExpression::Make(const Context& context,
137 std::unique_ptr<Expression> left,
139 std::unique_ptr<Expression> right) {
150 std::unique_ptr<Expression> BinaryExpression::Make(const Context& context,
151 std::unique_ptr<Expression> left,
153 std::unique_ptr<Expression> right,
170 if (std::unique_ptr<Expression> result = ConstantFolder::Simplify(context, line, *left,
187 std::unique_ptr<Expression> rewrite =
211 bool BinaryExpression::CheckRef(const Expression& expr) {
213 case Expression::Kind::kFieldAccess:
216 case Expression::Kind::kIndex:
219 case Expression::Kind::kSwizzle:
222 case Expression::Kind::kTernary: {
226 case Expression::Kind::kVariableReference: {
236 std::unique_ptr<Expression> BinaryExpression::clone() const {