NyuziToolchain
NyuziToolchain copied to clipboard
Port of LLVM/Clang C compiler to Nyuzi parallel processor architecture
It will probably be a while before this is fully baked, but should probably transition at some point: https://llvm.org/docs/GlobalISel.html
Need custom lowering in NyuziISelLowering for ISD::GlobalTLSAddress node type. Will also require new relocation types.
https://github.com/gcc-mirror/gcc/tree/master/gcc/testsuite/gcc.c-torture
The following (which is missing an argument in the macro instantiation): ```asm .macro test_vvm operation, result, mask, operand1 lea s0, \operand1 load_v v0, (s0) move v2, 0 li s1, \mask...
http://compilers.cs.uni-saarland.de/projects/wfv/#header4 https://github.com/karrenberg/wfv This seems to be an alternative to POCL #82
https://github.com/jbush001/NyuziToolchain/blob/d311f0e8ba10b492bcc8f78a16b3911847c238b8/tools/clang/lib/Basic/Targets.cpp#L8645 It looks like I copy/pasted constraints from another target, but most of these are not supported by backend (I suspect they are used by some generic tests), and the...
http://llvm.org/docs/XRay.html Need to add code to backend to emit tables. In NyuziAsmBackend, handle TargetOpcode::PATCHABLE_FUNCTION_ENTER, PATCHABLE_FUNCTION_EXIT, and PATCHABLE_TAIL_CALL. Depends on Issue #88 (compiler-rt support)
https://clang.llvm.org/docs/AddressSanitizer.html I have not tested with ASAN enabled to see if it works. There is target specific code in lib/Transforms/Instrumentation to set up shadow mappings, but it does not know...
In NyuziToolchain/tools/lldb/source/Plugins/ABI/Nyuzi, the following functions are not implemented: ABINyuzi::PrepareTrivialCall ABINyuzi::GetArgumentValues ABINyuzi::SetReturnValueObject ABINyuzi::GetReturnValueObjectImpl Not sure exactly how/where these are used, but other ABIs implement them.
Currently, most scripts in NyuziProcessor project use python3, but lldb still uses python2. Switching LLDB to use python3 would allow using only one version. It looks like it can support...