This is an archive of the discontinued LLVM Phabricator instance.

[Modules] Allow generation of BMIs in the same job as compiled output.
AbandonedPublicDraft

Authored by iains on Feb 3 2022, 6:27 AM.

Details

Reviewers
None
Summary

This adds an AST consumer to the pipelines for 'regular' compilation jobs
which can generate a binary module interface (BMI) when one is required
by the source, rather than making this a separate step.

We only write output if a module interface is required for the source (e.g.
it contains an exported named module).

This initial version has a simplistic approach to determining a default
path and name for the binary module interface.

The patch is preparatory work for other opportunites - for example that
with distinct channels for codegen and BMI output, we can now consider
actions to prune unnecessary content from the BMIs.

Diff Detail

Event Timeline

iains created this revision.Feb 3 2022, 6:27 AM
iains updated this revision to Diff 536592.Jul 2 2023, 7:41 AM
iains retitled this revision from [Modules] Allow generatation of CMIs in the same job as compiled output. to [Modules] Allow generation of BMIs in the same job as compiled output..
iains edited the summary of this revision. (Show Details)

rebased, edited descriptions and text to use BMI instead of CMI.

Herald added a project: Restricted Project. · View Herald TranscriptJul 2 2023, 7:41 AM
iains abandoned this revision.Oct 3 2023, 1:28 AM

this will be updated and moved to a pull request

Herald added a project: Restricted Project. · View Herald TranscriptOct 3 2023, 1:28 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript