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
222
223
224
225
226
227
228




229
230
231
232
233
234
235







-
-
-
-







                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;