[llvm] ids-check: Update the workflow and script (PR #199710)
Aiden Grossman via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 9 11:59:40 PDT 2026
================
@@ -46,41 +46,70 @@ jobs:
- name: Install dependencies
run: |
- sudo apt install -y clang-19 ninja-build libclang-19-dev
+ # Pull a recent clang from LLVM's apt repo so idt's parser stays in
+ # sync with the C++ language features used by current LLVM source.
+ sudo install -d -m 0755 /etc/apt/keyrings
+ wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key \
+ | sudo gpg --dearmor -o /etc/apt/keyrings/llvm.gpg
+ echo "deb [signed-by=/etc/apt/keyrings/llvm.gpg] http://apt.llvm.org/noble/ llvm-toolchain-noble-22 main" \
+ | sudo tee /etc/apt/sources.list.d/llvm.list
+ sudo apt update
+ # oprofile provides opagent.h, used by llvm/ExecutionEngine/OProfileWrapper.h
+ sudo apt install -y clang-22 lld-22 ninja-build libclang-22-dev oprofile
pip install --require-hashes -r ${{ github.workspace }}/llvm-project/llvm/utils/git/requirements.txt
- name: Configure and build minimal LLVM for use by ids
run: |
cmake -B ${{ github.workspace }}/llvm-project/build/ \
-S ${{ github.workspace }}/llvm-project/llvm/ \
-D CMAKE_BUILD_TYPE=Release \
- -D CMAKE_C_COMPILER=clang \
- -D CMAKE_CXX_COMPILER=clang++ \
+ -D CMAKE_C_COMPILER=clang-22 \
+ -D CMAKE_CXX_COMPILER=clang++-22 \
-D LLVM_ENABLE_PROJECTS=clang \
-D LLVM_TARGETS_TO_BUILD="host" \
+ -D LLVM_INCLUDE_TESTS=OFF \
+ -D LLVM_INCLUDE_BENCHMARKS=OFF \
-D CMAKE_EXPORT_COMPILE_COMMANDS=ON \
+ -D CMAKE_DISABLE_PRECOMPILE_HEADERS=ON \
-G Ninja
- cd ${{ github.workspace }}/llvm-project/build/
- ninja -t targets all | grep "CommonTableGen: phony$" | grep -v "/" | sed 's/:.*//'
- - name: Configure ids
+ # Build the generated-header prerequisites that idt needs to parse
+ # LLVM source.
+ BUILD_DIR=${{ github.workspace }}/llvm-project/build
+ ninja -C "$BUILD_DIR" \
+ llvm_vcsrevision_h \
+ intrinsics_gen omp_gen acc_gen analysis_gen target_parser_gen vt_gen \
+ DllOptionsTableGen LibOptionsTableGen \
+ clang-tablegen-targets \
----------------
boomanaiden154 wrote:
An aside: It would be nice at some point to have a `generated-headers` target or something. There are a bunch of CI workflows that need to duplicate this to build generated headers.
https://github.com/llvm/llvm-project/pull/199710
More information about the llvm-commits
mailing list