Goose  Diff

Differences From Artifact [e2f8c73cec]:

  • File bs/llr/instruction.h — part of check-in [52f162f30a] at 2019-07-31 19:06:49 on branch trunk — llr, execute, codegen: added the Phi instruction. (user: achavasse size: 1245)

To Artifact [9efa79a8f4]:

  • File bs/llr/instruction.h — part of check-in [5ec364bc88] at 2019-07-31 23:27:53 on branch trunk — llr, execute, codegen: implemented the Xor instruction. (user: achavasse size: 1359)

29
30
31
32
33
34
35




36
37
38
39
40
41
42
43
44


45
46
47
48
49
50
51
            Instruction( LoadConstInt&& lci ) :
                m_content( move( lci ) )
            {}

            Instruction( LoadConstStr&& lcs ) :
                m_content( move( lcs ) )
            {}





            using Content = variant
            <
                GetArg,
                Call,
                CreateTemporary,
                Phi,
                LoadConstInt,
                LoadConstStr


            >;

            const auto& content() const { return m_content; }

            bool canBeExecuted() const;
            bool canBeEagerlyEvaluated() const;








>
>
>
>








|
>
>







29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
            Instruction( LoadConstInt&& lci ) :
                m_content( move( lci ) )
            {}

            Instruction( LoadConstStr&& lcs ) :
                m_content( move( lcs ) )
            {}

            Instruction( Xor&& x ) :
                m_content( move( x ) )
            {}

            using Content = variant
            <
                GetArg,
                Call,
                CreateTemporary,
                Phi,
                LoadConstInt,
                LoadConstStr,

                Xor
            >;

            const auto& content() const { return m_content; }

            bool canBeExecuted() const;
            bool canBeEagerlyEvaluated() const;