1.4K Star 7.6K Fork 1.4K

GVP方舟编译器 / OpenArkCompiler

2022-02-08 20:10
sunzibo

Maple 1.0.0 Release Notes

Maple compiler infrastructure provides a C compiler, stable aarch64 static code generators, as well as a large suite of optimizations.

Front End

Hir2mpl supports .ast, .dex, .class and .jar as inputs. Currently, .dex, .class and .jar are not enabled. It enables the corresponding compilation process based on the inputs.

Hir2mpl takes .ast file generated by clang as input and converts it to a mpl file. For more details about mpl file and MapleIR, see MapleIRDesign.

Middle End

Function inlining

Constant folding

Auto vectorization

Loop unrolling

CFG simplification

Value range propagation

Dead store elimination

Copy propagation

Partial Redundancy Elimination

Induction variable optimizations

Code sinking

Optimized basic block layout

Back End

Copy propagation

Target specific propagation

Register coalescence

Peephole optimization

Dead code elimination

If conversion optimization

Extended block optimization

Instruction scheduling

Register allocation

CFG optimization

Other Information

At this time, Maple can work properly with SPEC CPU 2017, gcc.c-torture. We use Clang as our parser&lexer and aarch64-linux-gnu-gcc as our assembler&linker.

Our own parser&lexer is under development.

最后提交信息为: [hir2mpl]Internal commit msg:
2019-12-03 11:06
5308835 binaryfz 1578984276 BinaryFZ

This is the first stable release of the OpenArkCompiler.

C++
1
https://gitee.com/openarkcompiler/OpenArkCompiler.git
git@gitee.com:openarkcompiler/OpenArkCompiler.git
openarkcompiler
OpenArkCompiler
OpenArkCompiler

搜索帮助