[LLVMdev] Proposal: extended MDString syntax
Nadav Rotem
nrotem at apple.com
Wed Jun 26 15:46:31 PDT 2013
Hi Dan,
I am not against adding multi-line support for Metadata. I am also okay with your syntax, and I am also okay with other solutions, such as escaping of \n’s or adopting c-style concatenations of strings on multiple lines. But I think that serialization of MachineFunction should not be done in metadata. I understand the problem that you pointer out that machine instructions refer to LLVM-IR, but I don’t think that metadata is the right container for them.
Nadav
On Jun 26, 2013, at 3:29 PM, Dan Gohman <dan433584 at gmail.com> wrote:
> Hello,
>
> I propose a new syntax for metadata strings (MDStrings) which would allow string data to be spread over multiple lines:
>
> !0 = metadata !{metadata !"""
> hello
> world
> """}
>
> The special three-quote sequence marks the beginning and end of a multi-line string.
>
> This syntax could have a variety of uses, but of particular interest is that it could be used as a basis for serializing MachineFunctions. MachineFunctions are not an entirely self-contained IR; they contain references to LLVM IR. As such, a serialization of a MachineFunction needs to have an LLVM Module to refer to. By encoding MachineFunctions in metadata, they can easily accompany an LLVM Module. By being multi-line, the data could be made to be reasonably human-readable and human-editable.
>
> Attached is a simple proof-of-concept patch which implements parsing and printing for this new MDString syntax.
>
> Comments welcome!
>
> Dan
>
> <extended-mdstring-syntax.patch>_______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130626/9f28b1d4/attachment.html>
More information about the llvm-dev
mailing list