[llvm-dev] 16-bit bytes for AsmPrinter/DWARF

Jesper Antonsson via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 20 09:21:57 PST 2017


I'm with a team using 16-bit bytes for an out-of-tree target. The AsmPrinter framework's implementation of the DWARF debugging format is not very good at distinguishing between target-sized bytes (which is the more common use) and 8-bit-bytes. The DWARF standard itself seems not very good in this regard, actually. So we have had to hack our way around this. I.e., at some call-sites of EmitSymbolValue(), EmitLabelDifference(), EmitIntValue() and EmitLabelReference(), an 8-bit-byte-sized argument has had to be converted to target-byte-size (which is extra hacky for odd numbers of eight-bit-bytes).

We've been thinking about what a good upstream fix would look like, and believe that perhaps converting all Size arguments in these call chains to BitSize would be the most practical way. The "cost" would be the multiplications necessary at call-sites. Would this be a good suggestion, and would anybody like to view and accept our patches for this?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170120/52df4d30/attachment.html>

More information about the llvm-dev mailing list