tce-load -i compiletc cmake libxml2-dev libffi-dev ninja

cd llvm-8.0.0.src

tar -xf ../cfe-8.0.0.src.tar.xz -C tools
tar -xf ../compiler-rt-8.0.0.src.tar.xz -C projects

mv tools/cfe-8.0.0.src tools/clang
mv projects/compiler-rt-8.0.0.src projects/compiler-rt

mkdir build
cd build

cmake -LAH -DCMAKE_C_FLAGS_RELEASE="-flto -fuse-linker-plugin -mtune=generic -Os -pipe" -DCMAKE_CXX_FLAGS_RELEASE="-flto -fuse-linker-plugin -mtune=generic -Os -pipe" -DCMAKE_INSTALL_PREFIX=/usr/local -DLLVM_ENABLE_FFI=ON -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" -DLLVM_ENABLE_RTTI=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE -DLLVM_BINUTILS_INCDIR=/usr/local/include [-DLLVM_ENABLE_LTO=Full] -Wno-dev -G Ninja ../

find . -name flags.make -type f -exec sed -i 's/ -O3 -g//g' {} \;
find . -name flags.make -type f -exec sed -i 's/ -O3//g' {} \;
find . -name link.txt -type f -exec sed -i 's/-Wl,-O3/-Wl -Os/g' {} \;
find . -name AddLLVM.cmake -type f -exec sed -i 's/-Wl,-O3/-Wl,-Os/g' {} \;
find . -name compile_commands.json -type f -exec sed -i 's/ -O3 -g//g' {} \;
find . -name build.make -type f -exec sed -i 's/ -O3 -g//g' {} \;

ninja [1h 44m 18s] 1h faster with ninja
sudo ninja install

sudo mkdir /usr/local/lib/bfd-plugins
cd /usr/local/lib/bfd-plugins
sudo ln -s ../LLVMgold.so ./

[links against ncursesw without ncursesw-dev]

