diff options
| author | Jay Zhuang <80731350+learning-chip@users.noreply.github.com> | 2026-01-21 15:43:01 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-21 18:43:01 +0400 |
| commit | 9341067a73d7116765c658de7e6db0494b126329 (patch) | |
| tree | 89df239fc4e758dd8521031759ceec23a6f5d305 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | 5dea8aa6572b7b2994a5be1675edb4417e6f16d7 (diff) | |
| download | llvm-9341067a73d7116765c658de7e6db0494b126329.zip llvm-9341067a73d7116765c658de7e6db0494b126329.tar.gz llvm-9341067a73d7116765c658de7e6db0494b126329.tar.bz2 | |
Fix MLIR compilation bugs for NVPTX target (#177024)
Changes:
- Change `ptxCode.c_str()` to `ptxCode.str().c_str()` to avoid error:
`error: 'class llvm::StringRef' has no member named 'c_str'; did you
mean 'str'?`
- Change `std::nullopt;` to `return mlir::failure();` to avoid error:
`could not convert 'std::nullopt' from 'const std::nullopt_t' to
'llvm::FailureOr<llvm::SmallVector<char, 0> >'`
Extra info:
- Tested versions: tried`llvmorg-21.1.8`, `llvmorg-22.1.0-rc1`,
`llvmorg-23-init`, `main`, all cannot compile without these fixes
- Test environment: `nvidia/cuda:13.1.0-devel-ubuntu24.04` docker image
(comes with gcc 13.3.0 and nvcc 13.1)
- Compile command: just turn-on
`-DLLVM_TARGETS_TO_BUILD="Native;NVPTX"`,
`-DMLIR_ENABLE_NVPTXCOMPILER=ON` and you will see the bugs.
A full command for example:
```
cmake llvm \
-B build \
-G Ninja \
-DLLVM_ENABLE_PROJECTS=mlir \
-DCMAKE_BUILD_TYPE=Release \
-DMLIR_ENABLE_BINDINGS_PYTHON=ON \
-DPython3_EXECUTABLE=python3 \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_INCLUDE_TESTS=OFF \
-DMLIR_INCLUDE_TESTS=OFF \
-DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_CCACHE_BUILD=ON \
-DCUDACXX=nvcc \
-DCUDA_PATH=/usr/local/cuda \
-DCMAKE_CUDA_ARCHITECTURES="80;89;120" \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_CUDA_COMPILER=nvcc \
-DLLVM_TARGETS_TO_BUILD="Native;NVPTX" \
-DMLIR_ENABLE_CUDA_RUNNER=ON \
-DMLIR_ENABLE_CUDA_CONVERSIONS=ON \
-DMLIR_ENABLE_NVPTXCOMPILER=ON
cmake --build build -j$(nproc) -t install
```
---------
Co-authored-by: Mehdi Amini <joker.eph@gmail.com>
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
