ocaml-flambda / flambda-backend

The Flambda backend project for OCaml
92 stars 65 forks source link

Fix missing rewrite ids when unboxing detects invalid apply conts #2756

Closed Gbury closed 1 day ago

Gbury commented 3 days ago

In some cases (e.g. a do_not_unbox decision, followed by a decision that does unbox, and that discovers that some apply conts are invalids), it could happen that the set of rewrite ids known as being invalid was dropped/reset to empty. That together with the caching of the extra args computation (done through the rewrite ids seen) meant that we could "forget" some rewrite ids.

Gbury commented 2 days ago

This PR has been updated with

Gbury commented 1 day ago

@lthls Done (although using O3 is not necessary for these tests to fail on current main).