Kommentare zu LLVM IR hinzufügen?

8

Ist es möglich, Kommentare zu einem BasicBlock hinzuzufügen? Ich will nur, dass wenn ich das IR für das Debugging drucke, ich ein paar Kommentare haben kann, die mir helfen. Das heißt, ich erwarte, dass sie verloren gehen, sobald ich sie an den Optimierer übergebe.

    
edA-qa mort-ora-y 23.10.2013, 03:21
quelle

1 Antwort

5

Nein, das geht nicht direkt. Kommentare, mit denen Sie wahrscheinlich die lexikalischen Elemente meinen, die mit einem Semikolon ( ; ) in der textuellen IR-Darstellung beginnen, haben keine Darstellung in der speicherinternen IR (und binären Bitcode). Wie Sie wahrscheinlich wissen, hat LLVM IR drei äquivalente Repräsentationen (in Speicher-API-Ebene, Text- "Assembly" -Ebene, binäre Bitcode-Ebene). Sobald der IR-Parser der LLVM-Assembly den Code in den Speicher liest, gehen Kommentare verloren.

Was Sie jedoch tun könnten, ist die Verwendung von Metadaten für diesen Zweck. Sie können beliebige Metadaten, die an einen beliebigen Befehl angehängt sind, sowie globale Metadaten auf Modulebene erstellen. Das ist sicher ein Hack, aber wenn Sie wirklich denken, dass Sie eine Art von Annotation benötigen, sind Metadaten der richtige Weg. LLVM verwendet Metadaten für eine Reihe von Annotationsanforderungen, z. B. Debug-Info und Alias-Analyse-Annotationen.

    
Eli Bendersky 23.10.2013, 03:52
quelle

Tags und Links