This is also associated with a clang commit that uses them to emit every supported clang/llvm CC in dwarf informations!
GCC's private calling conventions are also added.
Differential D42350
Add constructor DWARF calling convention for every supported LLVM CC aguinet on Jan 21 2018, 3:48 AM. Authored by
Details This is also associated with a clang commit that uses them to emit every supported clang/llvm CC in dwarf informations! GCC's private calling conventions are also added.
Diff Detail
Event TimelineComment Actions I'm in favor of doing this. Any concerns, @aprantl? AAPCS is the only one I can think of that's so common this might upset some DWARF consumer. Comment Actions I suppose the namespace for DW_CCs is large enough that doing this isn't very risky. Have you double-checked that this doesn't overlap with any other vendor extensions? Comment Actions Actually I didn't. I'm gonna try and find this for at least gcc and icc! I'll let you know. Comment Actions By the way, if you can contribute patches that add more 3rd party DWARF extensions to LLVM, that would be awesome to help avoiding clashes in the future. Comment Actions I've added the private ones of GCC according to this: https://github.com/gcc-mirror/gcc/blob/master/include/dwarf2.h#L182 . I'll try to do the same with icc by tring the various ABI it supports (https://software.intel.com/en-us/node/522787), and getting the potential value with readelf (all with a script to be able to run this again!) Comment Actions
Per this script https://pastebin.com/pDwJfRyt, it seems that ICC never emits DWARF calling convention attributes. One thing that seems weird thought is that they don't support the CC they say they suuport on the link I gave. If someone with ICC could also try this please to see if I don't miss something.. ! Comment Actions Hi @mibintc; would you mind confirming that ICC doesn't emit DWARF CC attributes or (if it does) that they don't overlap with the ones in this diff? Comment Actions
Sure i don't mind checking. While icc does support the calling conventions, the compiler is not emitting the dwarf calling convention attributes. Comment Actions BTW, I don't have any commit rights thought, so I guess someone needs to merge this at some point? https://reviews.llvm.org/D42351 is in the same status! |