LLVM7-8: vol3 -- its alive. Update#3
18 Mar 2019 | llvm7 llvm8 llvmUpdate#3
Still waiting for official LLVM8 release but it was already tagged.
Meanwhile code was migrate to LLVM8 and commited to dkimitsa/robovm/llvm_80. Following was adapted:
- bindings;
- native code;
- patches.
Code under LLVM8 branch can compile and produce runnable code.
Also both LLVM7/8 has been merged with debugger_local_resolution branch;
Next steps:
- resurect and run RoboVm tests;
- evaluate performance and size footprint of LLVM7 produced code;
Previous updates:
Update#2 – its alive
Code from dkimitsa/robovm/llvm_70 is able compile and start application in simulator/device. It gets alive status. What had been done:
- RoboVm compiler infrastructure was updated to produce llvm 7 compatible IR code;
- DebugInformationPlugin was reworked to produce llvm7 debug information;
- Bunch of code was changed as it was broken as per llvm7 vision and produced crashes on asserts inside LLVM.
- LLVM and Clang mirror repos are used as source base;
- CMake build files updated to compile version 7;
- Swig files for java bindings were cleaned up initially to produce clean results without need of post-work-arounds;
- LLMV Extra code – set of helpers and wrappers used by RoboVM were updated to work with new LLVM;
- Swift files for bindings were updated to produce v7 wrappers;
- RoboVM compiler’s code were updated as LLVM API was changed and lot of functionality was deprecated.
Comments