Skip to content

[InstCombine] Fold shl of constant by cttz into multiply of lowest set bit - #214517

Merged
dtcxzyw merged 7 commits into
llvm:mainfrom
milkHongYe:instcombine-shl
Aug 16, 2026
Merged

[InstCombine] Fold shl of constant by cttz into multiply of lowest set bit#214517
dtcxzyw merged 7 commits into
llvm:mainfrom
milkHongYe:instcombine-shl

Conversation

@milkHongYe

@milkHongYe milkHongYe commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Currently, C << cttz(X, true) generates a DeBruijn lookup table on RV64I (13 instructions).
And this patch adds a fold in InstCombine:
C << cttz(X, true) --> (-X & X) * C
This reduces the instruction count from 13 to 3 on RV64I.
The fold requires that cttz has a single use (to avoid increasing instruction count)

Alive2 proof: https://alive2.llvm.org/ce/z/TmWxrT

@milkHongYe
milkHongYe requested a review from nikic as a code owner August 6, 2026 15:51
@llvmorg-github-actions llvmorg-github-actions Bot added llvm:instcombine Covers the InstCombine, InstSimplify and AggressiveInstCombine passes llvm:transforms labels Aug 6, 2026
@milkHongYe

Copy link
Copy Markdown
Contributor Author

ping

@milkHongYe

Copy link
Copy Markdown
Contributor Author

@nikic Could you take a look when you have time? Thank you!

…project into instcombine-shl

# 请输入一个提交信息以解释此合并的必要性,尤其是将一个更新后的上游分支
# 合并到主题分支。
#
# 以 '#' 开始的行将被忽略,而空的提交说明将终止提交。
Update comment to clarify behavior of is_zero_poison.
@milkHongYe

Copy link
Copy Markdown
Contributor Author

ping

@dtcxzyw dtcxzyw left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{
Value *X;
const APInt *C;
if (match(Op0, m_APInt(C)) &&

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should not be limited to constant LHS cases.

Removing the constraint enables more optimizations:
dtcxzyw/llvm-opt-benchmark-nightly#924
dtcxzyw/llvm-opt-benchmark-nightly#926

Value *X;
const APInt *C;
if (match(Op0, m_APInt(C)) &&
match(Op1, m_OneUse(m_Cttz(m_Value(X), m_One())))) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
match(Op1, m_OneUse(m_Cttz(m_Value(X), m_One())))) {
match(Op1, m_OneUse(m_Cttz(m_Value(X), m_Value())))) {

is_zero_poison can be false.

match(Op1, m_OneUse(m_Cttz(m_Value(X), m_One())))) {
Value *NegX = Builder.CreateNeg(X, "neg");
Value *LowBit = Builder.CreateAnd(NegX, X);
return BinaryOperator::CreateMul(LowBit, Op0);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nuw on shl can be propagated.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your suggestions. I'll update this patch.

@milkHongYe

Copy link
Copy Markdown
Contributor Author

@dtcxzyw, I've updated the patch to address your feedback:

  1. Removed m_One() restriction and constant-only limitation
  2. Added nuw flag propagation
  3. Added test cases and updated CHECK lines
    Test results show RISC-V instructions reduced from 12 to 4.

@dtcxzyw dtcxzyw left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment on lines +1386 to +1387
{
Value *X;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{
Value *X;

Just use the declaration above.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied your suggetion, thanks

…sary brace and reuse existing X variable declaration
@dtcxzyw
dtcxzyw enabled auto-merge (squash) August 16, 2026 07:42
@dtcxzyw
dtcxzyw merged commit 97ef3d4 into llvm:main Aug 16, 2026
10 of 12 checks passed
@llvm-ci

llvm-ci commented Aug 16, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder bolt-aarch64-ubuntu-shared running on bolt-worker-aarch64 while building llvm at step 6 "test-build-bolt-check-bolt".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/218/builds/6108

Here is the relevant piece of the build log for the reference
Step 6 (test-build-bolt-check-bolt) failure: test (failure)
...
90.270 [558/34/384] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/TypeLocBuilder.cpp.o
90.564 [557/34/385] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaRISCV.cpp.o
91.083 [556/34/386] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaLookup.cpp.o
91.287 [555/34/387] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAsm.cpp.o
93.180 [554/34/388] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaWasm.cpp.o
94.044 [553/34/389] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateVariadic.cpp.o
94.771 [552/34/390] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaX86.cpp.o
95.442 [551/34/391] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
96.880 [550/34/392] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ABIInfo.cpp.o
97.295 [549/34/393] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o
FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o 
ccache /usr/bin/c++ -DCLANG_EXPORTS -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/buildbot/workspace/bolt-aarch64-ubuntu-shared/build/tools/clang/lib/Sema -I/home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/lib/Sema -I/home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/include -I/home/buildbot/workspace/bolt-aarch64-ubuntu-shared/build/tools/clang/include -I/home/buildbot/workspace/bolt-aarch64-ubuntu-shared/build/include -I/home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -MF tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o.d -o tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -c /home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
/home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:16: error: declaration of ‘clang::TemplateName SubstitutedFriend::TemplateName’ changes meaning of ‘TemplateName’ [-Wchanges-meaning]
 2119 |   TemplateName TemplateName;
      |                ^~~~~~~~~~~~
/home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:3: note: used here to mean ‘class clang::TemplateName’
 2119 |   TemplateName TemplateName;
      |   ^~~~~~~~~~~~
In file included from /home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/include/clang/AST/TypeBase.h:22,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/include/clang/AST/DeclarationName.h:16,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/include/clang/AST/DeclBase.h:19,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/include/clang/AST/Decl.h:20,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/lib/Sema/CoroutineStmtBuilder.h:16,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/lib/Sema/TreeTransform.h:16,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:12:
/home/buildbot/workspace/bolt-aarch64-ubuntu-shared/llvm-project/clang/include/clang/AST/TemplateName.h:222:7: note: declared here
  222 | class TemplateName {
      |       ^~~~~~~~~~~~
98.089 [549/33/394] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDeclCXX.cpp.o
98.199 [549/32/395] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmt.cpp.o
98.474 [549/31/396] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ABIInfoImpl.cpp.o
99.375 [549/30/397] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCXX.cpp.o
99.984 [549/29/398] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGAtomic.cpp.o
100.091 [549/28/399] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCXXABI.cpp.o
100.803 [549/27/400] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCUDARuntime.cpp.o
102.120 [549/26/401] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCUDANV.cpp.o
102.510 [549/25/402] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOverload.cpp.o
102.643 [549/24/403] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCleanup.cpp.o
104.775 [549/23/404] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDecl.cpp.o
104.840 [549/22/405] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGBlocks.cpp.o
105.092 [549/21/406] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaType.cpp.o
105.879 [549/20/407] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCoroutine.cpp.o
106.417 [549/19/408] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGClass.cpp.o
107.800 [549/18/409] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGDeclCXX.cpp.o
109.276 [549/17/410] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGBuiltin.cpp.o
109.853 [549/16/411] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaConcept.cpp.o
109.868 [549/15/412] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGException.cpp.o
111.165 [549/14/413] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprAgg.cpp.o
111.969 [549/13/414] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSYCL.cpp.o

@llvm-ci

llvm-ci commented Aug 16, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder bolt-x86_64-ubuntu-shared running on bolt-worker while building llvm at step 6 "test-build-bolt-check-bolt".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/151/builds/10843

Here is the relevant piece of the build log for the reference
Step 6 (test-build-bolt-check-bolt) failure: test (failure)
...
184.199 [573/18/431] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAsm.cpp.o
184.684 [572/18/432] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAttr.cpp.o
185.456 [571/18/433] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSystemZ.cpp.o
186.778 [570/18/434] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSwift.cpp.o
192.482 [569/18/435] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/TypeLocBuilder.cpp.o
193.856 [568/18/436] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmt.cpp.o
194.063 [567/18/437] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateVariadic.cpp.o
194.875 [566/18/438] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOverload.cpp.o
196.569 [565/18/439] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaWasm.cpp.o
197.278 [564/18/440] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o
FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o 
ccache /usr/bin/c++ -DCLANG_EXPORTS -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/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/build/tools/clang/lib/Sema -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/lib/Sema -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/build/tools/clang/include -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/build/include -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -MF tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o.d -o tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -c /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:16: error: declaration of ‘clang::TemplateName SubstitutedFriend::TemplateName’ changes meaning of ‘TemplateName’ [-fpermissive]
 2119 |   TemplateName TemplateName;
      |                ^~~~~~~~~~~~
In file included from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include/clang/AST/TypeBase.h:22,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include/clang/AST/DeclarationName.h:16,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include/clang/AST/DeclBase.h:19,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include/clang/AST/Decl.h:20,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/lib/Sema/CoroutineStmtBuilder.h:16,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/lib/Sema/TreeTransform.h:16,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:12:
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include/clang/AST/TemplateName.h:222:7: note: ‘TemplateName’ declared here as ‘class clang::TemplateName’
  222 | class TemplateName {
      |       ^~~~~~~~~~~~
197.423 [564/17/441] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
197.683 [564/16/442] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaX86.cpp.o
200.147 [564/15/443] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGAtomic.cpp.o
203.901 [564/14/444] Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Disasm.cpp.o
206.070 [564/13/445] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ABIInfo.cpp.o
206.344 [564/12/446] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCUDARuntime.cpp.o
206.661 [564/11/447] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaType.cpp.o
206.830 [564/10/448] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCUDANV.cpp.o
208.486 [564/9/449] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSYCL.cpp.o
208.736 [564/8/450] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExpr.cpp.o
210.946 [564/7/451] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeductionGuide.cpp.o
211.278 [564/6/452] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGBuiltin.cpp.o
213.239 [564/5/453] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeduction.cpp.o
215.814 [564/4/454] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplate.cpp.o
217.235 [564/3/455] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/BackendUtil.cpp.o
220.642 [564/2/456] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiate.cpp.o
227.118 [564/1/457] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenMP.cpp.o
In file included from /usr/include/string.h:535,
                 from /usr/include/c++/11/cstring:42,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/llvm/include/llvm/ADT/SmallVector.h:25,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include/clang/Basic/LLVM.h:24,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include/clang/AST/AttrIterator.h:16,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include/clang/AST/Attr.h:17,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-shared/llvm-project/clang/include/clang/Sema/SemaOpenMP.h:18,

@llvm-ci

llvm-ci commented Aug 16, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder polly-x86_64-linux-plugin running on polly-x86_64-gce1 while building llvm at step 3 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/158/builds/19926

Here is the relevant piece of the build log for the reference
Step 3 (annotate) failure: 'python ../llvm.src/polly/ci/polly-x86_64-linux-plugin.py ...' (failure)
...
[ 31%/473.934s :: 806->10->382 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaRISCV.cpp.o
[ 31%/474.236s :: 805->10->383 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAttr.cpp.o
[ 32%/475.497s :: 804->10->384 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAsm.cpp.o
[ 32%/485.712s :: 803->10->385 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSystemZ.cpp.o
[ 32%/486.283s :: 802->10->386 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSwift.cpp.o
[ 32%/487.437s :: 801->10->387 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmt.cpp.o
[ 32%/493.589s :: 800->10->388 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOverload.cpp.o
[ 32%/495.759s :: 799->10->389 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExpr.cpp.o
[ 32%/506.105s :: 798->10->390 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateVariadic.cpp.o
[ 32%/512.073s :: 797->10->391 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o
FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o 
ccache /usr/bin/c++ -DCLANG_EXPORTS -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/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/build/llvm.build/tools/clang/lib/Sema -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/build/llvm.build/tools/clang/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/build/llvm.build/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -MF tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o.d -o tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -c /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:16: error: declaration of ‘clang::TemplateName SubstitutedFriend::TemplateName’ changes meaning of ‘TemplateName’ [-Wchanges-meaning]
 2119 |   TemplateName TemplateName;
      |                ^~~~~~~~~~~~
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:3: note: used here to mean ‘class clang::TemplateName’
 2119 |   TemplateName TemplateName;
      |   ^~~~~~~~~~~~
In file included from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/TypeBase.h:22,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/DeclarationName.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/DeclBase.h:19,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/Decl.h:20,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/CoroutineStmtBuilder.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/TreeTransform.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:12:
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/TemplateName.h:222:7: note: declared here
  222 | class TemplateName {
      |       ^~~~~~~~~~~~
[ 32%/514.023s :: 797->9->392 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
[ 32%/519.560s :: 797->8->393 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSYCL.cpp.o
[ 32%/520.920s :: 797->7->394 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaWasm.cpp.o
[ 32%/525.033s :: 797->6->395 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeductionGuide.cpp.o
[ 33%/526.255s :: 797->5->396 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaType.cpp.o
[ 33%/528.623s :: 797->4->397 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeduction.cpp.o
[ 33%/533.612s :: 797->3->398 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplate.cpp.o
[ 33%/542.601s :: 797->2->399 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenMP.cpp.o
[ 33%/542.943s :: 797->1->400 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiate.cpp.o
ninja: build stopped: subcommand failed.
Running: ccache -sv
Cache directory:      /srv/bbworker/.cache/ccache
Config file:          /srv/bbworker/.config/ccache/ccache.conf
System config file:   /etc/ccache.conf
Stats updated:        Sun Aug 16 08:26:38 2026
Cacheable calls:        286 / 287 (99.65%)
  Hits:                   1 / 286 ( 0.35%)
    Direct:               1 /   1 (100.0%)
    Preprocessed:         0 /   1 ( 0.00%)
  Misses:               285 / 286 (99.65%)
Uncacheable calls:        1 / 287 ( 0.35%)
Step 6 (build-llvm) failure: build-llvm (failure)
...
[ 31%/473.934s :: 806->10->382 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaRISCV.cpp.o
[ 31%/474.236s :: 805->10->383 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAttr.cpp.o
[ 32%/475.497s :: 804->10->384 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAsm.cpp.o
[ 32%/485.712s :: 803->10->385 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSystemZ.cpp.o
[ 32%/486.283s :: 802->10->386 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSwift.cpp.o
[ 32%/487.437s :: 801->10->387 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmt.cpp.o
[ 32%/493.589s :: 800->10->388 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOverload.cpp.o
[ 32%/495.759s :: 799->10->389 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExpr.cpp.o
[ 32%/506.105s :: 798->10->390 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateVariadic.cpp.o
[ 32%/512.073s :: 797->10->391 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o
FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o 
ccache /usr/bin/c++ -DCLANG_EXPORTS -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/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/build/llvm.build/tools/clang/lib/Sema -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/build/llvm.build/tools/clang/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/build/llvm.build/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -MF tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o.d -o tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -c /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:16: error: declaration of ‘clang::TemplateName SubstitutedFriend::TemplateName’ changes meaning of ‘TemplateName’ [-Wchanges-meaning]
 2119 |   TemplateName TemplateName;
      |                ^~~~~~~~~~~~
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:3: note: used here to mean ‘class clang::TemplateName’
 2119 |   TemplateName TemplateName;
      |   ^~~~~~~~~~~~
In file included from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/TypeBase.h:22,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/DeclarationName.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/DeclBase.h:19,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/Decl.h:20,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/CoroutineStmtBuilder.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/TreeTransform.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:12:
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux-plugin/llvm.src/clang/include/clang/AST/TemplateName.h:222:7: note: declared here
  222 | class TemplateName {
      |       ^~~~~~~~~~~~
[ 32%/514.023s :: 797->9->392 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
[ 32%/519.560s :: 797->8->393 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSYCL.cpp.o
[ 32%/520.920s :: 797->7->394 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaWasm.cpp.o
[ 32%/525.033s :: 797->6->395 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeductionGuide.cpp.o
[ 33%/526.255s :: 797->5->396 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaType.cpp.o
[ 33%/528.623s :: 797->4->397 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeduction.cpp.o
[ 33%/533.612s :: 797->3->398 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplate.cpp.o
[ 33%/542.601s :: 797->2->399 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenMP.cpp.o
[ 33%/542.943s :: 797->1->400 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiate.cpp.o
ninja: build stopped: subcommand failed.
Running: ccache -sv
Cache directory:      /srv/bbworker/.cache/ccache
Config file:          /srv/bbworker/.config/ccache/ccache.conf
System config file:   /etc/ccache.conf
Stats updated:        Sun Aug 16 08:26:38 2026
Cacheable calls:        286 / 287 (99.65%)
  Hits:                   1 / 286 ( 0.35%)
    Direct:               1 /   1 (100.0%)
    Preprocessed:         0 /   1 ( 0.00%)
  Misses:               285 / 286 (99.65%)
Uncacheable calls:        1 / 287 ( 0.35%)

@llvm-ci

llvm-ci commented Aug 16, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder bolt-aarch64-ubuntu-dylib running on bolt-worker-aarch64 while building llvm at step 6 "test-build-bolt-check-bolt".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/216/builds/6025

Here is the relevant piece of the build log for the reference
Step 6 (test-build-bolt-check-bolt) failure: test (failure)
...
93.119 [627/34/357] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/TypeLocBuilder.cpp.o
94.143 [626/34/358] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaLookup.cpp.o
97.442 [625/34/359] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaX86.cpp.o
97.811 [624/34/360] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateVariadic.cpp.o
99.006 [623/34/361] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
99.626 [622/34/362] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaWasm.cpp.o
100.055 [621/34/363] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ABIInfo.cpp.o
100.154 [620/34/364] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmt.cpp.o
100.322 [619/34/365] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ABIInfoImpl.cpp.o
100.374 [618/34/366] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o
FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o 
ccache /usr/bin/c++ -DCLANG_EXPORTS -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/buildbot/workspace/bolt-aarch64-ubuntu-dylib/build/tools/clang/lib/Sema -I/home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/lib/Sema -I/home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/include -I/home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/build/tools/clang/include -I/home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/build/include -I/home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -MF tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o.d -o tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -c /home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
/home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:16: error: declaration of ‘clang::TemplateName SubstitutedFriend::TemplateName’ changes meaning of ‘TemplateName’ [-Wchanges-meaning]
 2119 |   TemplateName TemplateName;
      |                ^~~~~~~~~~~~
/home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:3: note: used here to mean ‘class clang::TemplateName’
 2119 |   TemplateName TemplateName;
      |   ^~~~~~~~~~~~
In file included from /home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/include/clang/AST/TypeBase.h:22,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/include/clang/AST/DeclarationName.h:16,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/include/clang/AST/DeclBase.h:19,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/include/clang/AST/Decl.h:20,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/lib/Sema/CoroutineStmtBuilder.h:16,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/lib/Sema/TreeTransform.h:16,
                 from /home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:12:
/home/buildbot/workspace/bolt-aarch64-ubuntu-dylib/llvm-project/clang/include/clang/AST/TemplateName.h:222:7: note: declared here
  222 | class TemplateName {
      |       ^~~~~~~~~~~~
100.644 [618/33/367] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDeclCXX.cpp.o
102.605 [618/32/368] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCXX.cpp.o
102.724 [618/31/369] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCUDARuntime.cpp.o
103.073 [618/30/370] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGAtomic.cpp.o
103.400 [618/29/371] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCXXABI.cpp.o
104.112 [618/28/372] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOverload.cpp.o
104.834 [618/27/373] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCleanup.cpp.o
104.926 [618/26/374] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCUDANV.cpp.o
106.484 [618/25/375] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDecl.cpp.o
108.034 [618/24/376] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGBlocks.cpp.o
109.162 [618/23/377] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCoroutine.cpp.o
109.163 [618/22/378] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGClass.cpp.o
109.632 [618/21/379] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaType.cpp.o
110.670 [618/20/380] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaConcept.cpp.o
111.591 [618/19/381] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGBuiltin.cpp.o
112.164 [618/18/382] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGDeclCXX.cpp.o
113.705 [618/17/383] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprComplex.cpp.o
114.030 [618/16/384] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGException.cpp.o
114.632 [618/15/385] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprCXX.cpp.o
114.737 [618/14/386] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSYCL.cpp.o
115.086 [618/13/387] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprAgg.cpp.o

@llvm-ci

llvm-ci commented Aug 16, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder bolt-x86_64-ubuntu-dylib running on bolt-worker while building llvm at step 6 "test-build-bolt-check-bolt".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/119/builds/10749

Here is the relevant piece of the build log for the reference
Step 6 (test-build-bolt-check-bolt) failure: test (failure)
...
203.997 [624/18/422] Building CXX object tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/obj.clangDynamicASTMatchers.dir/Registry.cpp.o
208.518 [623/18/423] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/TypeLocBuilder.cpp.o
209.304 [622/18/424] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOverload.cpp.o
210.773 [621/18/425] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmt.cpp.o
211.387 [620/18/426] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateVariadic.cpp.o
212.990 [619/18/427] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaWasm.cpp.o
213.488 [618/18/428] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaX86.cpp.o
214.158 [617/18/429] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
217.105 [616/18/430] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ABIInfo.cpp.o
217.321 [615/18/431] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o
FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o 
ccache /usr/bin/c++ -DCLANG_EXPORTS -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/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/build/tools/clang/lib/Sema -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/lib/Sema -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/build/tools/clang/include -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/build/include -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -MF tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o.d -o tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -c /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:16: error: declaration of ‘clang::TemplateName SubstitutedFriend::TemplateName’ changes meaning of ‘TemplateName’ [-fpermissive]
 2119 |   TemplateName TemplateName;
      |                ^~~~~~~~~~~~
In file included from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include/clang/AST/TypeBase.h:22,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include/clang/AST/DeclarationName.h:16,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include/clang/AST/DeclBase.h:19,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include/clang/AST/Decl.h:20,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/lib/Sema/CoroutineStmtBuilder.h:16,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/lib/Sema/TreeTransform.h:16,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:12:
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include/clang/AST/TemplateName.h:222:7: note: ‘TemplateName’ declared here as ‘class clang::TemplateName’
  222 | class TemplateName {
      |       ^~~~~~~~~~~~
221.048 [615/17/432] Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Disasm.cpp.o
222.661 [615/16/433] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGAtomic.cpp.o
224.057 [615/15/434] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCXXABI.cpp.o
224.590 [615/14/435] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaType.cpp.o
224.718 [615/13/436] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSYCL.cpp.o
225.673 [615/12/437] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCUDARuntime.cpp.o
226.140 [615/11/438] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ABIInfoImpl.cpp.o
226.614 [615/10/439] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExpr.cpp.o
226.981 [615/9/440] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCXX.cpp.o
227.713 [615/8/441] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeductionGuide.cpp.o
229.531 [615/7/442] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeduction.cpp.o
229.637 [615/6/443] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGBlocks.cpp.o
233.146 [615/5/444] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplate.cpp.o
233.996 [615/4/445] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGBuiltin.cpp.o
234.648 [615/3/446] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/BackendUtil.cpp.o
237.273 [615/2/447] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiate.cpp.o
245.068 [615/1/448] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenMP.cpp.o
In file included from /usr/include/string.h:535,
                 from /usr/include/c++/11/cstring:42,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/llvm/include/llvm/ADT/SmallVector.h:25,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include/clang/Basic/LLVM.h:24,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include/clang/AST/AttrIterator.h:16,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include/clang/AST/Attr.h:17,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-dylib/llvm-project/clang/include/clang/Sema/SemaOpenMP.h:18,

@llvm-ci

llvm-ci commented Aug 16, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder polly-x86_64-linux running on polly-x86_64-gce1 while building llvm at step 3 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/105/builds/20560

Here is the relevant piece of the build log for the reference
Step 3 (annotate) failure: 'python ../llvm.src/polly/ci/polly-x86_64-linux.py ...' (failure)
...
[ 31%/473.128s :: 806->10->382 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAttr.cpp.o
[ 31%/473.871s :: 805->10->383 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaRISCV.cpp.o
[ 32%/474.880s :: 804->10->384 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAsm.cpp.o
[ 32%/485.511s :: 803->10->385 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSystemZ.cpp.o
[ 32%/486.607s :: 802->10->386 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmt.cpp.o
[ 32%/487.423s :: 801->10->387 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSwift.cpp.o
[ 32%/491.440s :: 800->10->388 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOverload.cpp.o
[ 32%/499.083s :: 799->10->389 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExpr.cpp.o
[ 32%/505.897s :: 798->10->390 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateVariadic.cpp.o
[ 32%/512.824s :: 797->10->391 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o
FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o 
ccache /usr/bin/c++ -DCLANG_EXPORTS -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/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/build/llvm.build/tools/clang/lib/Sema -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/build/llvm.build/tools/clang/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/build/llvm.build/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -MF tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o.d -o tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -c /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:16: error: declaration of ‘clang::TemplateName SubstitutedFriend::TemplateName’ changes meaning of ‘TemplateName’ [-Wchanges-meaning]
 2119 |   TemplateName TemplateName;
      |                ^~~~~~~~~~~~
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:3: note: used here to mean ‘class clang::TemplateName’
 2119 |   TemplateName TemplateName;
      |   ^~~~~~~~~~~~
In file included from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/TypeBase.h:22,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/DeclarationName.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/DeclBase.h:19,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/Decl.h:20,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/CoroutineStmtBuilder.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/TreeTransform.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:12:
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/TemplateName.h:222:7: note: declared here
  222 | class TemplateName {
      |       ^~~~~~~~~~~~
[ 32%/516.027s :: 797->9->392 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
[ 32%/518.919s :: 797->8->393 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSYCL.cpp.o
[ 32%/520.788s :: 797->7->394 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaWasm.cpp.o
[ 32%/522.851s :: 797->6->395 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaType.cpp.o
[ 33%/527.719s :: 797->5->396 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeductionGuide.cpp.o
[ 33%/530.010s :: 797->4->397 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeduction.cpp.o
[ 33%/534.466s :: 797->3->398 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplate.cpp.o
[ 33%/540.807s :: 797->2->399 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenMP.cpp.o
[ 33%/542.542s :: 797->1->400 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiate.cpp.o
ninja: build stopped: subcommand failed.
Running: ccache -sv
Cache directory:      /srv/bbworker/.cache/ccache
Config file:          /srv/bbworker/.config/ccache/ccache.conf
System config file:   /etc/ccache.conf
Stats updated:        Sun Aug 16 08:38:05 2026
Cacheable calls:        286 / 287 (99.65%)
  Hits:                   1 / 286 ( 0.35%)
    Direct:               1 /   1 (100.0%)
    Preprocessed:         0 /   1 ( 0.00%)
  Misses:               285 / 286 (99.65%)
Uncacheable calls:        1 / 287 ( 0.35%)
Step 6 (build-llvm) failure: build-llvm (failure)
...
[ 31%/473.128s :: 806->10->382 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAttr.cpp.o
[ 31%/473.871s :: 805->10->383 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaRISCV.cpp.o
[ 32%/474.880s :: 804->10->384 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAsm.cpp.o
[ 32%/485.511s :: 803->10->385 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSystemZ.cpp.o
[ 32%/486.607s :: 802->10->386 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmt.cpp.o
[ 32%/487.423s :: 801->10->387 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSwift.cpp.o
[ 32%/491.440s :: 800->10->388 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOverload.cpp.o
[ 32%/499.083s :: 799->10->389 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExpr.cpp.o
[ 32%/505.897s :: 798->10->390 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateVariadic.cpp.o
[ 32%/512.824s :: 797->10->391 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o
FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o 
ccache /usr/bin/c++ -DCLANG_EXPORTS -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/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/build/llvm.build/tools/clang/lib/Sema -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/build/llvm.build/tools/clang/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/build/llvm.build/include -I/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -MF tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o.d -o tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o -c /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:16: error: declaration of ‘clang::TemplateName SubstitutedFriend::TemplateName’ changes meaning of ‘TemplateName’ [-Wchanges-meaning]
 2119 |   TemplateName TemplateName;
      |                ^~~~~~~~~~~~
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2119:3: note: used here to mean ‘class clang::TemplateName’
 2119 |   TemplateName TemplateName;
      |   ^~~~~~~~~~~~
In file included from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/TypeBase.h:22,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/DeclarationName.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/DeclBase.h:19,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/Decl.h:20,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/CoroutineStmtBuilder.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/TreeTransform.h:16,
                 from /srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:12:
/srv/bbworker/polly-x86_64-gce1/polly-x86_64-linux/llvm.src/clang/include/clang/AST/TemplateName.h:222:7: note: declared here
  222 | class TemplateName {
      |       ^~~~~~~~~~~~
[ 32%/516.027s :: 797->9->392 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
[ 32%/518.919s :: 797->8->393 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSYCL.cpp.o
[ 32%/520.788s :: 797->7->394 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaWasm.cpp.o
[ 32%/522.851s :: 797->6->395 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaType.cpp.o
[ 33%/527.719s :: 797->5->396 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeductionGuide.cpp.o
[ 33%/530.010s :: 797->4->397 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeduction.cpp.o
[ 33%/534.466s :: 797->3->398 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplate.cpp.o
[ 33%/540.807s :: 797->2->399 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenMP.cpp.o
[ 33%/542.542s :: 797->1->400 (of 1197)] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiate.cpp.o
ninja: build stopped: subcommand failed.
Running: ccache -sv
Cache directory:      /srv/bbworker/.cache/ccache
Config file:          /srv/bbworker/.config/ccache/ccache.conf
System config file:   /etc/ccache.conf
Stats updated:        Sun Aug 16 08:38:05 2026
Cacheable calls:        286 / 287 (99.65%)
  Hits:                   1 / 286 ( 0.35%)
    Direct:               1 /   1 (100.0%)
    Preprocessed:         0 /   1 ( 0.00%)
  Misses:               285 / 286 (99.65%)
Uncacheable calls:        1 / 287 ( 0.35%)

@Andarwinux

Copy link
Copy Markdown
Member

Should this fold be implemented in codegen instead? It introduced regressions on both aarch64 and x86.

@dtcxzyw

dtcxzyw commented Aug 16, 2026

Copy link
Copy Markdown
Member

Should this fold be implemented in codegen instead? It introduced regressions on both aarch64 and x86.

See https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/926/files. In some cases the mul will be removed by other middle-end optimizations. The backend should recognize this pattern and revert the transform.

I am worried that is_zero_poison may not be re-inferred in SDAG. If this is a bottleneck, we have to implement this fold in DAGCombiner.

cc @RKSimon

@RKSimon

RKSimon commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Most likely this needs tweaking in isel as a per-backend (not generic) fold - hopefully avoiding a tuning flag.......

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

llvm:instcombine Covers the InstCombine, InstSimplify and AggressiveInstCombine passes llvm:transforms

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants