digitalmars.D.announce - libfirm-d - D bindings of Firm, a compiler IR based on the SSA form
- Basile B. (15/15) Jul 01 2018 I've recently ported libfirm to D.
- ketmar (4/5) Jul 01 2018 great news and great work, thank you. yet i must admit that wrapping !=
- Basile B. (5/11) Jul 01 2018 Thanks. BTW I remember you said on IRC that SSA form is much
- ketmar (5/18) Jul 01 2018 tbh, i gave up on porting it fully, so i prolly will go with your wrappe...
- Basile B. (3/7) Jul 04 2018 Right, i have used the wrong words. Title hopefully is not
- ketmar (2/10) Jul 04 2018 ah, tbh, i'm just being jealous. you did my work! me is useless now!
- Chris M. (5/20) Jul 04 2018 Very nice, I remember checking this one out a while back.
- Basile B. (6/16) Jul 04 2018 Yes there's a reason that is that these files mostly contain data
- Chris M. (2/17) Jul 05 2018 Makes sense, I didn't think you would have just missed them.
- Basile B. (13/28) Apr 29 2019 With the recent release of dstep 1.0.0 I've managed to make a new
I've recently ported libfirm to D. This nice C library, developed at the Karlsruhe university, allows to build compiler back-ends, using the SSA intermediate representation. In theory it could even be used to make a new D compiler version, e.g "FDC", although this is obviously of no interest ;) So this is mostly to make JIT scripting engines or back-ends for toy languages... See: - https://github.com/BBasile/libfirm-d - https://code.dlang.org/packages/firm-d - https://pp.ipd.kit.edu/firm/ Note that unfortunately this library is LGPL2 licensed, so much less usable than LLVM-d, which is a similar but a more mainstream library.
Jul 01 2018
Basile B. wrote:I've recently ported libfirm to D.great news and great work, thank you. yet i must admit that wrapping != porting. for a moment you made my heart stopped, 'cause i thought that i wasted alot of time trying to do a proper port (nope, not finished, but still...).
Jul 01 2018
On Sunday, 1 July 2018 at 15:03:30 UTC, ketmar wrote:Basile B. wrote:Thanks. BTW I remember you said on IRC that SSA form is much better (maybe it was once when we talked about DMD optimizations or something like that)... this is basically why i choose this one, although not sure if i'll manage to do something with it.I've recently ported libfirm to D.great news and great work, thank you. yet i must admit that wrapping != porting. for a moment you made my heart stopped, 'cause i thought that i wasted alot of time trying to do a proper port (nope, not finished, but still...).
Jul 01 2018
Basile B. wrote:On Sunday, 1 July 2018 at 15:03:30 UTC, ketmar wrote:tbh, i gave up on porting it fully, so i prolly will go with your wrapper, if anything. and yeah, SSA rox. i am temporarily on C++ side now, yet sooner or later i'll return, and will have to restart Aliced again. maybe this time with a brand new backend. ;-)Basile B. wrote:Thanks. BTW I remember you said on IRC that SSA form is much better (maybe it was once when we talked about DMD optimizations or something like that)... this is basically why i choose this one, although not sure if i'll manage to do something with it.I've recently ported libfirm to D.great news and great work, thank you. yet i must admit that wrapping != porting. for a moment you made my heart stopped, 'cause i thought that i wasted alot of time trying to do a proper port (nope, not finished, but still...).
Jul 01 2018
On Sunday, 1 July 2018 at 15:03:30 UTC, ketmar wrote:Basile B. wrote:Right, i have used the wrong words. Title hopefully is not ambiguous.I've recently ported libfirm to D.great news and great work, thank you. yet i must admit that wrapping != porting.
Jul 04 2018
Basile B. wrote:On Sunday, 1 July 2018 at 15:03:30 UTC, ketmar wrote:ah, tbh, i'm just being jealous. you did my work! me is useless now!Basile B. wrote:Right, i have used the wrong words. Title hopefully is not ambiguous.I've recently ported libfirm to D.great news and great work, thank you. yet i must admit that wrapping != porting.
Jul 04 2018
On Sunday, 1 July 2018 at 12:04:06 UTC, Basile B. wrote:I've recently ported libfirm to D. This nice C library, developed at the Karlsruhe university, allows to build compiler back-ends, using the SSA intermediate representation. In theory it could even be used to make a new D compiler version, e.g "FDC", although this is obviously of no interest ;) So this is mostly to make JIT scripting engines or back-ends for toy languages... See: - https://github.com/BBasile/libfirm-d - https://code.dlang.org/packages/firm-d - https://pp.ipd.kit.edu/firm/ Note that unfortunately this library is LGPL2 licensed, so much less usable than LLVM-d, which is a similar but a more mainstream library.Very nice, I remember checking this one out a while back. I don't see the files from the ADT module though, was there a reason they weren't included? https://github.com/libfirm/libfirm/tree/master/include/libfirm/adt
Jul 04 2018
On Thursday, 5 July 2018 at 00:00:07 UTC, Chris M. wrote:On Sunday, 1 July 2018 at 12:04:06 UTC, Basile B. wrote:Yes there's a reason that is that these files mostly contain data structures, they are not needed in D and i don't remember having seen them as parameter type during translation of the headers, (although it's been done semi manually, so i could have missed one).I've recently ported libfirm to D. This nice C library, developed at the Karlsruhe university, allows to build compiler back-ends, using the SSA intermediate representation.Very nice, I remember checking this one out a while back. I don't see the files from the ADT module though, was there a reason they weren't included? https://github.com/libfirm/libfirm/tree/master/include/libfirm/adt
Jul 04 2018
On Thursday, 5 July 2018 at 01:11:58 UTC, Basile B. wrote:On Thursday, 5 July 2018 at 00:00:07 UTC, Chris M. wrote:Makes sense, I didn't think you would have just missed them.On Sunday, 1 July 2018 at 12:04:06 UTC, Basile B. wrote:Yes there's a reason that is that these files mostly contain data structures, they are not needed in D and i don't remember having seen them as parameter type during translation of the headers, (although it's been done semi manually, so i could have missed one).[...]Very nice, I remember checking this one out a while back. I don't see the files from the ADT module though, was there a reason they weren't included? https://github.com/libfirm/libfirm/tree/master/include/libfirm/adt
Jul 05 2018
On Sunday, 1 July 2018 at 12:04:06 UTC, Basile B. wrote:I've recently ported libfirm to D. This nice C library, developed at the Karlsruhe university, allows to build compiler back-ends, using the SSA intermediate representation. In theory it could even be used to make a new D compiler version, e.g "FDC", although this is obviously of no interest ;) So this is mostly to make JIT scripting engines or back-ends for toy languages... See: - https://github.com/BBasile/libfirm-d - https://code.dlang.org/packages/firm-d - https://pp.ipd.kit.edu/firm/ Note that unfortunately this library is LGPL2 licensed, so much less usable than LLVM-d, which is a similar but a more mainstream library.With the recent release of dstep 1.0.0 I've managed to make a new minor release that only auto generate the sources (v0.1.0). It was obviously not a good idea to maintain all the headers up to date manually, although this permitted to learn a bit the API. Note that building must be done at least twice the first time because of a DUB limitation. other changes : - dub package on code dlang is gone, it must really be a git stuff now - it's much faster because build is optimized using git hashes. - location changed due to GH account renaming https://github.com/Basile-z/libfirm-d
Apr 29 2019