[LLVMdev] Looking for a new dragonegg maintainer

Duncan Sands baldrick at free.fr
Thu Nov 14 01:56:56 PST 2013


Hi all, I just don't have time to look after dragonegg properly any more, so I'm
looking for someone to care over the care and feeding of this project.  This not
only means ensuring that it continues to compile and work, it also means

- making sure dragonegg makes use of new LLVM features (eg struct TBAA)
- making sure it works with new versions of GCC, and supports interesting new
   GCC features
- being involved in discussion of changes to LLVM, to ensure they are well
   adapted to the needs of dragonegg.  For example, it would have been better if
   struct TBAA had been designed to be more generic.  But I wasn't there to point
   out the needs of other languages like Ada, Fortran and Go, so it just ended up
   being designed directly for C-like languages (which are rather simple).  This
   is a natural outcome if the only people giving input are those working on
   clang.
- fixing the main problems of dragonegg:
   (a) debug info is poor.
   (b) ABI support is poor.  Dragonegg has it's own not very good ABI
       implementation for each platform.  Yet GCC has an abstract interface
       for ABI information.  The GCC function call lowering logic is generic,
       and just queries the ABI interface.  Dragonegg should just use that.
       The related problem right now is that, since gcc-4.7, GCC considers all
       function pointer types to be equivalent, and throws away any casts.
       Since dragonegg's ABI lowering looks at the function pointer type to
       decide how many parameters a function gets etc, this means it will get
       it wrong if the type was cast in the original code (because "fold" will
       have thrown the cast away).
- keeping an eye on the buildbots and investigating problems.

Any takers?

Best wishes, Duncan.



More information about the llvm-dev mailing list