Goose  Diff

Differences From Artifact [0011a31faf]:

  • File bs/cir/instruction.h — 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: 5804)

To Artifact [4e98f6bb63]:

  • File bs/cir/instruction.h — part of check-in [a0a57b5e22] at 2022-06-22 20:06:00 on branch cir-stack-language — Re-implemented "addr modified by loop" stuff (except ghost func related stuff) and re-enabled loop verification tests (user: zlodo size: 5600) [more...]

222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
                SLE,

                Assert,
                GhostCall,
                PHOverrideSet,
                PHOverrideClear,
                Placeholder

                // WARNING AWFUL SHIT:
                // If the last instruction changes, make sure to update the upper bound lookup in
                // CFG::forEachAddressModifiedByLoop accordingly!
            >;

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

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







<
<
<
<







222
223
224
225
226
227
228




229
230
231
232
233
234
235
                SLE,

                Assert,
                GhostCall,
                PHOverrideSet,
                PHOverrideClear,
                Placeholder




            >;

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

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