[llvm] [SLP]Reduce number of alternate instruction, where possible (PR #123360)
Alex Bradbury via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 31 06:46:54 PST 2025
asb wrote:
Thanks for the revert - I was just double-checking if we get it with plain RVV and indeed we do.
[repro.zip](https://github.com/user-attachments/files/18620035/repro.zip)
Shouldn't be necessary, but this reproduces it early on when bootstrapping LLVM (x86-64 host, cross-compiling for RISCV rva23u64):
```
cd llvm-project
mkdir -p build && cd build
mkdir -p stage1 stage1.install stage2
printf "!!!!!!!!!! Building stage 1 !!!!!!!!!!\n"
cd stage1
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=True \
-DLLVM_LIT_ARGS="-v" \
-DCMAKE_INSTALL_PREFIX=../stage1.install \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLLVM_ENABLE_LLD=True \
-DLLVM_TARGETS_TO_BUILD="RISCV" \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra;llvm" \
../../llvm
ninja
printf "!!!!!!!!!! Installing stage 1 !!!!!!!!!!\n"
ninja install
cd ../stage2
printf "!!!!!!!!!! Building stage 2 !!!!!!!!!!\n"
cat - <<EOF > stage1-toolchain.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSROOT $HOME/rvsysroot)
set(CMAKE_C_COMPILER_TARGET riscv64-linux-gnu)
set(CMAKE_CXX_COMPILER_TARGET riscv64-linux-gnu)
set(CMAKE_C_FLAGS_INIT "-march=rva23u64")
set(CMAKE_CXX_FLAGS_INIT "-march=rva23u64")
set(CMAKE_LINKER_TYPE LLD)
set(CMAKE_C_COMPILER $(pwd)/../stage1.install/bin/clang)
set(CMAKE_CXX_COMPILER $(pwd)/../stage1.install/bin/clang++)
set(CMAKE_C_COMPILER_LAUNCHER ccache)
set(CMAKE_CXX_COMPILER_LAUNCHER ccache)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
EOF
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=True \
-DLLVM_LIT_ARGS="-v" \
-DLLVM_NATIVE_TOOL_DIR=$(pwd)/../stage1.install/bin \
-DLLVM_BUILD_TESTS=True \
-DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra;llvm" \
-DCMAKE_TOOLCHAIN_FILE=$(pwd)/stage1-toolchain.cmake \
-DLLVM_HOST_TRIPLE=riscv64-linux-gnu \
../../llvm
ninja
```
https://github.com/llvm/llvm-project/pull/123360
More information about the llvm-commits
mailing list