Goose  Diff

Differences From Artifact [2ccb388d36]:

  • File bs/cir/instruction.cpp — part of check-in [dd5c48041c] at 2022-05-26 11:31:44 on branch cir-stack-language — Re-enabled codegen and related tests, and adapted it to the now stack-based CIR language (user: zlodo size: 2415)

To Artifact [b1967785e0]:

  • File bs/cir/instruction.cpp — part of check-in [4f05876cc2] at 2022-06-08 22:38:10 on branch cir-stack-language — Refactored the verifier to use the stack-based CIR. It compiles but isn't re-enabled yet (user: zlodo size: 2592)

61
62
63
64
65
66
67
68

69
70






71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88

89
90
91






92
93
94
61
62
63
64
65
66
67

68
69

70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92

93
94


95
96
97
98
99
100

101
102







-
+

-
+
+
+
+
+
+

















-
+

-
-
+
+
+
+
+
+
-


    }

    ostream& operator<<( ostream& out, const Store& ins )
    {
        return out << "STORE";
    }

    ostream& operator<<( ostream& out, const PHOverride& ins )
    ostream& operator<<( ostream& out, const PHOverrideSet& ins )
    {
        return out << "PHOVERRIDE(" << ins.m_name << ", " << ins.m_phVal << ')';
        return out << "PHOVERRIDESET(" << ins.m_name << ')';
    }

    ostream& operator<<( ostream& out, const PHOverrideClear& ins )
    {
        return out << "PHOVERRIDECLEAR(" << ins.m_name << ')';
    }

    bool Select::operator<( const Select& rhs ) const
    {
        return m_memberIndex < rhs.m_memberIndex;
    }

    bool Load::operator<( const Load& rhs ) const
    {
        return m_type < rhs.m_type;
    }

    bool Store::operator<( const Store& rhs ) const
    {
        return m_type < rhs.m_type;
    }

    bool PHOverride::operator<( const PHOverride& rhs ) const
    bool PHOverrideSet::operator<( const PHOverrideSet& rhs ) const
    {
        if( m_name != rhs.m_name )
            return m_name < rhs.m_name;
        return m_name < rhs.m_name;
    }

    bool PHOverrideClear::operator<( const PHOverrideClear& rhs ) const
    {
        return m_name < rhs.m_name;
        return m_phVal < rhs.m_phVal;
    }
}