Goose  Diff

Differences From Artifact [815074ee9c]:

  • File bs/llr/binaryop.h — part of check-in [af650a9e95] at 2019-09-22 14:37:55 on branch trunk — Project renaming. (user: achavasse size: 616)

To Artifact [a68ff7de71]:

  • File bs/llr/binaryop.h — part of check-in [c39a302502] at 2020-05-23 12:58:20 on branch trunk —
    • Fixed the hole matching score which prevented some unification rules to be selected.
    • Implemented LowerTypeForRuntime for tuples.
    • Implemented an unification rule for constant tuples.
    • Added some debugging helpers.
    (user: achavasse size: 936)

18
19
20
21
22
23
24











25
26
27
            bool canBeExecuted() const;
            bool canBeEagerlyEvaluated() const;

        private:
            ir::Value m_lhs;
            ir::Value m_rhs;
    };











}

#endif







>
>
>
>
>
>
>
>
>
>
>



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
            bool canBeExecuted() const;
            bool canBeEagerlyEvaluated() const;

        private:
            ir::Value m_lhs;
            ir::Value m_rhs;
    };

    class BinaryOpSameTypes : public BinaryOp
    {
        public:
            template< typename L, typename R >
            BinaryOpSameTypes( L&& l, R&& r ) :
                BinaryOp( forward< L >( l ), forward< R >( r ) )
            {
                assert( lhs().type() == rhs().type() );
            }
    };
}

#endif