xiangzhai / dragonegg

DragonEgg has been migrated to GCC 8 and LLVM 6 but also able to work for GCC 4.8 and LLVM 3.3
https://gcc.gnu.org/ml/gcc/2017-08/msg00245.html
GNU General Public License v2.0
18 stars 6 forks source link

Regression testing #34

Open optikos opened 6 years ago

optikos commented 6 years ago

Please add a status for whether the validator regression test suites pass or fail for each of the front-end languages. There exists interest in DragonEgg by each of the languages that Clang does not provide: Ada, Fortran, Go.

Lucretia commented 6 years ago

https://github.com/flang-compiler/flang

Also go existed on LLVM before GCC.

optikos commented 6 years ago

So out of all the GCC languages, that makes Ada the biggest beneficiary of DragonEgg.

optikos commented 6 years ago

go-llvm's initial commit (nowhere close to operational) 13 October 2010 at NSF/gollvm:

https://github.com/go-llvm/llvm/commits/master?after=c8914dc5244584970ee28d046064ce246890cd69+139

Report of an operational gccgo dated 10 November 2009:

https://arstechnica.com/information-technology/2009/11/go-new-open-source-programming-language-from-google

xiangzhai commented 6 years ago

Hi,

Sorry for my late response!

It has to fix https://github.com/xiangzhai/dragonegg/issues/31 before regression test, dragonegg for gcc-8 and llvm-7 is just able to transfer GIMPLE -> LLVM IR, but failed to CodeGen https://www.zhihu.com/question/265150161

Regards, Leslie Zhai

xiangzhai commented 6 years ago

Workaround for the regression test is:

$ cat dragonegg-cc.wrapper

$CC -fplugin=./dragonegg.so \
        -fplugin-arg-dragonegg-debug-pass-arguments \
        -ftime-report \
        -fverbose-asm \
        -fplugin-arg-dragonegg-enable-gcc-optzns \
        -fplugin-arg-dragonegg-emit-ir \
        -S \
        yoursource.ada \
        -wrapper gdb,--args
$LLC yoursource.s
$CC yoursource.s.s