Skip to content

Asmcomp changes from 5.1.1 to 5.2.0

Xavier Clerc edited this page Jul 17, 2024 · 34 revisions

In progress

Allowing displaying multi-line backtrace locations in the same way as errors (https://github.com/ocaml-flambda/flambda-backend/pull/2787)

xclerc is working on this.

Extend [@untagged] external attribute to all immediate types (https://github.com/ocaml-flambda/flambda-backend/pull/2785)

xclerc is working on this, but maybe should hand over to frontend devs.

xclerc is working on this, but maybe we should just delete the scheduling pass from backend/ since it doesn't apply for either of our supported platforms. Update: we are doing the deletion (https://github.com/ocaml-flambda/flambda-backend/pull/2789).

xclerc is working on this.

Make the module separator used in symbol names configurable

Just the Emitaux and X86_proc changes need doing, mshinwell has the rest in hand.

Unit_info

mshinwell has done the Asmpackager parts (they are on the mshinwell/merge-5.2 branch on flambda-backend) and will deal with the remainder of any middle/backend changes here, which are minor.

Extra argument to the "resume" primitive

mshinwell has made the flambda2 and Cmm changes for this. Currently on the mshinwell/merge-5.2 branch on flambda-backend.

Error message styling

mshinwell has done Asmpackager and Flambda 2 changes required for this. mshinwell will also deal with Compilenv. That just leaves three files in backend/ by the look of it.

Merged

xclerc is working on this. PR merged.

xclerc is working on this. PR merged.

16-bit floats in bigarrays

mshinwell has made the flambda2 and Cmm changes for this. Currently on the mshinwell/merge-5.2 branch on flambda-backend.

PR merged.

To do later

stack frames

given the ongoing work on the port of selection to CFG, it seems better to delay the port of this change

we should also consider the interactions with the stack checks, in particular whether we should handle frames and checks through the same module

arm64 backend

Not needed (already present)

vlaviron confirmed we already have:

Not needed (build)

Not needed (unsupported backends and OSes)

Clone this wiki locally