[llvm] [CodeGen] Replace CodeGenPassBuilder CRTP with virtual hooks (PR #216468)

via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 19 19:19:22 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>lib/Target/WebAssembly/CMakeFiles/LLVMWebAssemblyCodeGen.dir/WebAssemblyCodeGenPassBuilder.cpp.o</summary>

```
FAILED: lib/Target/WebAssembly/CMakeFiles/LLVMWebAssemblyCodeGen.dir/WebAssemblyCodeGenPassBuilder.cpp.o
sccache /opt/llvm/bin/clang++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/Target/WebAssembly -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/WebAssembly -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fvisibility=hidden -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Target/WebAssembly/CMakeFiles/LLVMWebAssemblyCodeGen.dir/WebAssemblyCodeGenPassBuilder.cpp.o -MF lib/Target/WebAssembly/CMakeFiles/LLVMWebAssemblyCodeGen.dir/WebAssemblyCodeGenPassBuilder.cpp.o.d -o lib/Target/WebAssembly/CMakeFiles/LLVMWebAssemblyCodeGen.dir/WebAssemblyCodeGenPassBuilder.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp:67:17: error: use of undeclared identifier 'FuncletLayoutPass'; did you mean 'FuncletLayoutID'?
67 |                 FuncletLayoutPass, StackMapLivenessPass, PatchableFunctionPass,
|                 ^~~~~~~~~~~~~~~~~
|                 FuncletLayoutID
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/CodeGen/Passes.h:415:23: note: 'FuncletLayoutID' declared here
415 | LLVM_ABI extern char &FuncletLayoutID;
|                       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp:65:5: error: no matching member function for call to 'disablePass'
65 |     disablePass<MachineLateInstrsCleanupPass, MachineCopyPropagationPass,
|     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66 |                 PostRAMachineSinkingPass, PostRASchedulerPass,
|                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67 |                 FuncletLayoutPass, StackMapLivenessPass, PatchableFunctionPass,
|                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 |                 ShrinkWrapPass, RemoveLoadsIntoFakeUsesPass,
|                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 |                 MachineBlockPlacementPass>();
|                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Passes/CodeGenPassBuilder.h:376:38: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'PassTs'
376 |   template <typename... PassTs> void disablePass() {
|                                      ^
2 errors generated.
```
</details>
<details>
<summary>lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o</summary>

```
FAILED: lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o
sccache /opt/llvm/bin/clang++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/Target/AMDGPU -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AMDGPU -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fvisibility=hidden -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o -MF lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o.d -o lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp:2345:37: error: use of undeclared identifier 'FuncletLayoutPass'; did you mean 'FuncletLayoutID'?
2345 |   disablePass<StackMapLivenessPass, FuncletLayoutPass, PatchableFunctionPass,
|                                     ^~~~~~~~~~~~~~~~~
|                                     FuncletLayoutID
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/CodeGen/Passes.h:415:23: note: 'FuncletLayoutID' declared here
415 | LLVM_ABI extern char &FuncletLayoutID;
|                       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp:2345:3: error: no matching member function for call to 'disablePass'
2345 |   disablePass<StackMapLivenessPass, FuncletLayoutPass, PatchableFunctionPass,
|   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2346 |               ShadowStackGCLoweringPass, GCLoweringPass>();
|               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Passes/CodeGenPassBuilder.h:376:38: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'PassTs'
376 |   template <typename... PassTs> void disablePass() {
|                                      ^
2 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/216468


More information about the llvm-commits mailing list