NyuziToolchain icon indicating copy to clipboard operation
NyuziToolchain copied to clipboard

Port of LLVM/Clang C compiler to Nyuzi parallel processor architecture

Results 32 NyuziToolchain issues
Sort by recently updated
recently updated
newest added

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.

feature

https://github.com/gcc-mirror/gcc/tree/master/gcc/testsuite/gcc.c-torture

test

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

investigate

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...

cleanup

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)

feature

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...

feature

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.

investigate

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...

cleanup