Page MenuHomePhabricator

Initial documentation for the MIR serialization format.
ClosedPublic

Authored by arphaman on Aug 3 2015, 2:15 PM.

Details

Summary

This patch contains an initial documentation for the MIR serialization format.

This initial document contains the 'Introduction', 'Overview' and the 'High Level Structure' sections,
which briefly describe the MIR serialization format. The follow up patches will expand on this initial
document and will describe the format using the appropriate level of detail.

Diff Detail

Repository
rL LLVM

Event Timeline

arphaman updated this revision to Diff 31265.Aug 3 2015, 2:15 PM
arphaman retitled this revision from to Initial documentation for the MIR serialization format..
arphaman updated this object.
arphaman set the repository for this revision to rL LLVM.
arphaman added a subscriber: llvm-commits.
silvas accepted this revision.Aug 3 2015, 7:59 PM
silvas edited edge metadata.

LGTM, but a couple comments/questions.

docs/MachineIRRef.rst
41–42 ↗(On Diff #31265)

Do you actually depend on it being a block literal string? I thought that that was just syntax sugar in the YAML language, so that really any string should be fine (although the block literal string is probably easiest to read)

83–94 ↗(On Diff #31265)

Please add specific TODO's here for everything that is merely touched on (but that you know you eventually need to expand on) so that nothing falls through the cracks.

This revision is now accepted and ready to land.Aug 3 2015, 7:59 PM
arphaman edited edge metadata.Aug 5 2015, 9:31 AM
arphaman added inline comments.
docs/MachineIRRef.rst
41–42 ↗(On Diff #31265)

Yes, right now this has to be an actual block literal scalar, as the YAML parser has a separate node class for block scalars, and the MIR parser looks for that node when looking for the embedded IR module.

arphaman updated this revision to Diff 31360.Aug 5 2015, 9:33 AM

The updated patch fixes the style suggestions from Justin, adds TODOs, and renames the file to MIRLangRef.rst.

This revision was automatically updated to reflect the committed changes.