[llvm] [VPlan] Recognize disjoint 'or' in getSCEVExprForVPValue (PR #218405)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 25 02:16:25 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 181215 tests passed
* 3718 tests skipped
* 6 tests failed
## Failed Tests
(click on a test name to see its output)
### Clang
<details>
<summary>Clang.Analysis/Scalable/source-edit-generation/coexistence.cpp</summary>
```
Exception during script execution:
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 32, in evaluate
return parser.parseAll()
^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 151, in parseAll
self.token = next(self.tokens)
^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 62, in tokenize
raise ValueError("couldn't parse text: %r" % string)
ValueError: couldn't parse text: '*'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/Test.py", line 439, in getUnsupportedFeatures
if BooleanExpression.evaluate(item, features)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 34, in evaluate
raise ValueError(str(e) + ("\nin expression: %r" % string))
ValueError: couldn't parse text: '*'
in expression: '*'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/worker.py", line 90, in _execute_test_handle_errors
result = test.config.test_format.execute(test, lit_config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/formats/shtest.py", line 38, in execute
return lit.TestRunner.executeShTest(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 2284, in executeShTest
parsed = parseIntegratedTestScript(test, require_script=not script)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 2143, in parseIntegratedTestScript
unsupported_features = test.getUnsupportedFeatures()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/Test.py", line 442, in getUnsupportedFeatures
raise ValueError("Error in UNSUPPORTED list:\n%s" % str(e))
ValueError: Error in UNSUPPORTED list:
couldn't parse text: '*'
in expression: '*'
```
</details>
<details>
<summary>Clang.Analysis/Scalable/source-edit-generation/happy-path.cpp</summary>
```
Exception during script execution:
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 32, in evaluate
return parser.parseAll()
^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 151, in parseAll
self.token = next(self.tokens)
^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 62, in tokenize
raise ValueError("couldn't parse text: %r" % string)
ValueError: couldn't parse text: '*'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/Test.py", line 439, in getUnsupportedFeatures
if BooleanExpression.evaluate(item, features)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 34, in evaluate
raise ValueError(str(e) + ("\nin expression: %r" % string))
ValueError: couldn't parse text: '*'
in expression: '*'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/worker.py", line 90, in _execute_test_handle_errors
result = test.config.test_format.execute(test, lit_config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/formats/shtest.py", line 38, in execute
return lit.TestRunner.executeShTest(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 2284, in executeShTest
parsed = parseIntegratedTestScript(test, require_script=not script)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 2143, in parseIntegratedTestScript
unsupported_features = test.getUnsupportedFeatures()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/Test.py", line 442, in getUnsupportedFeatures
raise ValueError("Error in UNSUPPORTED list:\n%s" % str(e))
ValueError: Error in UNSUPPORTED list:
couldn't parse text: '*'
in expression: '*'
```
</details>
<details>
<summary>Clang.Analysis/Scalable/source-edit-generation/write-failure.cpp</summary>
```
Exception during script execution:
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 32, in evaluate
return parser.parseAll()
^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 151, in parseAll
self.token = next(self.tokens)
^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 62, in tokenize
raise ValueError("couldn't parse text: %r" % string)
ValueError: couldn't parse text: '*'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/Test.py", line 439, in getUnsupportedFeatures
if BooleanExpression.evaluate(item, features)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/BooleanExpression.py", line 34, in evaluate
raise ValueError(str(e) + ("\nin expression: %r" % string))
ValueError: couldn't parse text: '*'
in expression: '*'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/worker.py", line 90, in _execute_test_handle_errors
result = test.config.test_format.execute(test, lit_config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/formats/shtest.py", line 38, in execute
return lit.TestRunner.executeShTest(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 2284, in executeShTest
parsed = parseIntegratedTestScript(test, require_script=not script)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/TestRunner.py", line 2143, in parseIntegratedTestScript
unsupported_features = test.getUnsupportedFeatures()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/utils/lit/lit/Test.py", line 442, in getUnsupportedFeatures
raise ValueError("Error in UNSUPPORTED list:\n%s" % str(e))
ValueError: Error in UNSUPPORTED list:
couldn't parse text: '*'
in expression: '*'
```
</details>
<details>
<summary>Clang.CodeGen/AArch64/abi-classify-arg-types.c</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/24/include -nostdsysteminc -triple arm64-apple-ios7.0 -target-abi darwinpcs -fenable-matrix -fexperimental-max-bitint-width=1024 -emit-llvm -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.c | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.c --check-prefixes=CHECK,DARWIN,LONG64
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/24/include -nostdsysteminc -triple arm64-apple-ios7.0 -target-abi darwinpcs -fenable-matrix -fexperimental-max-bitint-width=1024 -emit-llvm -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.c
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.c --check-prefixes=CHECK,DARWIN,LONG64
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.c:112:11: error: CHECK: expected string not found in input
# | // CHECK: define{{.*}} void @arg_bitint129(ptr nofree noundef align 16 dead_on_return dereferenceable(32) %{{.*}})
# | ^
# | <stdin>:186:44: note: scanning from here
# | define void @arg_bitint128(i128 noundef %x) #0 {
# | ^
# | <stdin>:194:1: note: possible intended match here
# | define void @arg_bitint129(ptr nofreeobj noundef align 16 dead_on_return dereferenceable(32) %0) #0 {
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.c
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 181: store i128 %storedv, ptr %x.addr, align 16
# | 182: ret void
# | 183: }
# | 184:
# | 185: ; Function Attrs: noinline nounwind optnone
# | 186: define void @arg_bitint128(i128 noundef %x) #0 {
# | check:112'0 { search range start (exclusive)
# | check:112'1 error: no match found in search range
# | 187: entry:
# | 188: %x.addr = alloca i128, align 16
# | 189: store i128 %x, ptr %x.addr, align 16
# | 190: ret void
# | 191: }
# | 192:
# | 193: ; Function Attrs: noinline nounwind optnone
# | 194: define void @arg_bitint129(ptr nofreeobj noundef align 16 dead_on_return dereferenceable(32) %0) #0 {
# | check:112'2 ? possible intended match
# | 195: entry:
# | 196: %x.addr = alloca i256, align 16
# | 197: %1 = load i256, ptr %0, align 16
# | 198: %x = trunc i256 %1 to i129
# | 199: %storedv = sext i129 %x to i256
# | 200: store i256 %storedv, ptr %x.addr, align 16
# | 201: ret void
# | 202: }
# | 203:
# | 204: attributes #0 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
# | 205:
# | 206: !llvm.ident = !{!0}
# | 207:
# | 208: !0 = !{!"clang version 24.0.0git (https://github.com/llvm/llvm-project d4f43cbaf2437f0298d0fedb736624f800b41fe5)"}
# | check:112'3 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.CodeGen/AArch64/abi-classify-arg-types.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/24/include -nostdsysteminc -triple arm64-apple-ios7.0 -target-abi darwinpcs -emit-llvm -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/24/include -nostdsysteminc -triple arm64-apple-ios7.0 -target-abi darwinpcs -emit-llvm -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp:39:11: error: CHECK: expected string not found in input
# | // CHECK: define{{.*}} void @arg_nontrivial_copy(ptr nofree noundef align 4 dead_on_return dereferenceable(4) %{{.*}})
# | ^
# | <stdin>:1:1: note: scanning from here
# | ; ModuleID = '/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp'
# | ^
# | <stdin>:7:1: note: possible intended match here
# | define void @arg_nontrivial_copy(ptr nofreeobj noundef align 4 dead_on_return dereferenceable(4) %a) #0 {
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ; ModuleID = '/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp'
# | check:39'0 { search range start (exclusive)
# | check:39'1 error: no match found in search range
# | 2: source_filename = "/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp"
# | 3: target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
# | 4: target triple = "arm64-apple-ios7.0"
# | 5:
# | 6: ; Function Attrs: mustprogress noinline nounwind optnone
# | 7: define void @arg_nontrivial_copy(ptr nofreeobj noundef align 4 dead_on_return dereferenceable(4) %a) #0 {
# | check:39'2 ? possible intended match
# | 8: entry:
# | 9: %a.indirect_addr = alloca ptr, align 8
# | 10: store ptr %a, ptr %a.indirect_addr, align 8
# | 11: ret void
# | 12: }
# | .
# | .
# | .
# | 29:
# | 30: attributes #0 = { mustprogress noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
# | 31:
# | 32: !llvm.ident = !{!0}
# | 33:
# | 34: !0 = !{!"clang version 24.0.0git (https://github.com/llvm/llvm-project d4f43cbaf2437f0298d0fedb736624f800b41fe5)"}
# | check:39'3 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
### LLVM
<details>
<summary>LLVM.Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -force-target-supports-masked-memory-ops -disable-output -vplan-print-after=widenConsecutiveMemOps /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -force-target-supports-masked-memory-ops -disable-output -vplan-print-after=widenConsecutiveMemOps /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll:529:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: EMIT-SCALAR ir<%lv> = load ir<%gep>
# | ^
# | <stdin>:509:56: note: scanning from here
# | EMIT ir<%gep> = getelementptr inbounds ir<%A>, ir<%or>
# | ^
# | <stdin>:511:2: note: possible intended match here
# | WIDEN ir<%lv> = load vp<%4>
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 504: vp<%3> = CANONICAL-IV
# | 505:
# | 506: vector.body:
# | 507: ir<%iv> = WIDEN-INDUCTION nuw nsw ir<0>, ir<1>, vp<%0>
# | 508: EMIT ir<%or> = or disjoint ir<%iv>, ir<1>
# | 509: EMIT ir<%gep> = getelementptr inbounds ir<%A>, ir<%or>
# | next:529'0 { search range start (exclusive)
# | next:529'1 error: no match found in search range
# | 510: vp<%4> = vector-pointer inbounds i32, ir<%gep>, ir<1>
# | 511: WIDEN ir<%lv> = load vp<%4>
# | next:529'2 ? possible intended match
# | 512: EMIT ir<%add> = add ir<%lv>, ir<1>
# | 513: vp<%5> = vector-pointer inbounds i32, ir<%gep>, ir<1>
# | 514: WIDEN store vp<%5>, ir<%add>
# | 515: EMIT ir<%iv.next> = add nuw nsw ir<%iv>, ir<1>
# | 516: EMIT ir<%ec> = icmp eq ir<%iv>, ir<100>
# | .
# | .
# | .
# | 543: IR %iv.next = add nuw nsw i64 %iv, 1
# | 544: IR %ec = icmp eq i64 %iv, 100
# | 545: No successors
# | 546: }
# | 547:
# | 548: VPlan for loop in 'sdiv_with_nonnegative_operands_address' after widenConsecutiveMemOps
# | next:529'3 } search range end (exclusive)
# | 549: VPlan ' for UF>=1' {
# | 550: Live-in vp<%0> = VF
# | 551: Live-in vp<%1> = VF * UF
# | 552: Live-in vp<%2> = vector-trip-count
# | 553: Live-in ir<101> = original trip-count
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</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/218405
More information about the llvm-commits
mailing list