Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Offline lifter backend for C++, including IBI instantiation to emit LLVM IR * offline-cpp: create directory. * add boilerplate cpp files * working on cpp backend. to do: implement f_gen_* functions. * stashing work to add types rt_expr and rt_label. * stub all f_ functions. * implement template-based generation * update stubs with new interface * fix some bigint/bits bugs and clean up includes. * fix cmake, do not inherit. * add gitignore for cpp * fix bits/bigint oopsie * stub v_ variables * implement v_ variable prefixing (we compile now!!) * use traits class * temp * stub implementations * compiling fr now * fix typo-ed names and change to _impl.hpp * temporarily do the scoping thing :( * disable scoping hack * working on f_gen methods * starting restructure for compile speed * work on explicit instantiation * refactor to cpp_fun_sig * clean up and fix. split compilation working now! * restore aslp_lifter_impl.hpp * collate decode_tests and split llvm traits * generating basic llvm? * touch * typename * implement missing registers and intrinsics for non-float ops. * fix with new branch intrinsics. * restructure * restructuring aslp-lifter-gen now works with pkg-config maybe * meson build system * merge to aslp-lifter project, distrubute src files, remove old cmakes * compile speedups with clang+lld * ci * Update build.sh * Update test.yml * use absolute paths in ci CXX CXX_LD * use llvm-15 * Update test.yml * fix important warnings * fix ci nix overrides CXX variable when entering shell, predictably * no ci * fix uninit warnings * add minimal cmakelists for non-installed use only * update to generate in external repository * copy support files when generating cpp lifter this allows keeping versioning the lifter_interface alongside the backend code which uses it. * add cpp build files into repository * do not copy headers and fix mkdir_p * add warning to user to copy c++ build files. * update cpp readme to suit in-repository location * set default cpp gen dir to within subprojects * generate meson file * use %blob in cpp_backend * update comment in cpp_backend * add cpp build instructions to cpp readme * add gitignore to offlineasl-cpp * add check.py to perform syntax-checking of generated cpp it would be nice to run this in ci. note llvm 17 dependency * meson: restrict to llvm 17 * chdir in check.py
- Loading branch information