[clang] [clang] Restrict the use of scalar types in vector builtins (PR #119423)

Fraser Cormack via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 29 02:09:18 PST 2025


frasercrmck wrote:

> LLVM Buildbot has detected a new failure on builder `llvm-clang-aarch64-darwin` running on `doug-worker-4` while building `clang` at step 6 "test-build-unified-tree-check-all".
> 
> Full details are available at: https://lab.llvm.org/buildbot/#/builders/190/builds/13711
> Here is the relevant piece of the build log for the reference

I don't believe this failure was caused by this PR. The test looks flaky to me. The [log](https://lab.llvm.org/buildbot/#/builders/190/builds/13711/steps/6/logs/FAIL__Clang__live-stmts_cpp) seems to show that the order of the output isn't deterministic

``` spoiler
         153: [ B2 (live expressions at block exit) ] 
check:221     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         154:  
empty:222     ^
         155: IntegerLiteral 0x11e810600 'int' 0 
         156:  
         157: IntegerLiteral 0x11e810620 'int' 1 
         158:  
         159: ImplicitCastExpr 0x13f811978 '_Bool' <LValueToRValue> 
check:223     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         160: `-DeclRefExpr 0x13f811938 '_Bool' lvalue ParmVar 0x13f8117b8 'b' '_Bool' 
check:224     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         161:  
empty:225     ^
         162: ImplicitCastExpr 0x13f811990 '_Bool' <LValueToRValue> 
check:226     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         163: `-DeclRefExpr 0x13f811958 '_Bool' lvalue ParmVar 0x13f8117b8 'b' '_Bool' 
check:227     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         164:  
empty:228     ^
         165: BinaryOperator 0x13f8119a8 '_Bool' '||' 
check:229     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         166: |-ImplicitCastExpr 0x13f811978 '_Bool' <LValueToRValue> 
check:230     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         167: | `-DeclRefExpr 0x13f811938 '_Bool' lvalue ParmVar 0x13f8117b8 'b' '_Bool' 
check:231     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         168: `-ImplicitCastExpr 0x13f811990 '_Bool' <LValueToRValue> 
check:232     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         169:  `-DeclRefExpr 0x13f811958 '_Bool' lvalue ParmVar 0x13f8117b8 'b' '_Bool' 
check:233      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         170:  
empty:234     ^
         171:  
         172: [ B3 (live expressions at block exit) ] 
```

Whereas the checks are clearly:

```
// CHECK: [ B2 (live expressions at block exit) ]
// CHECK-EMPTY:
// CHECK: ImplicitCastExpr {{.*}} '_Bool' <LValueToRValue>
// CHECK: `-DeclRefExpr {{.*}} '_Bool' lvalue ParmVar {{.*}} 'b' '_Bool'
// CHECK-EMPTY:
// CHECK: ImplicitCastExpr {{.*}} '_Bool' <LValueToRValue>
// CHECK: `-DeclRefExpr {{.*}} '_Bool' lvalue ParmVar {{.*}} 'b' '_Bool'
// CHECK-EMPTY:
// CHECK: BinaryOperator {{.*}} '_Bool' '||'
// CHECK: |-ImplicitCastExpr {{.*}} '_Bool' <LValueToRValue>
// CHECK: | `-DeclRefExpr {{.*}} '_Bool' lvalue ParmVar {{.*}} 'b' '_Bool'
// CHECK: `-ImplicitCastExpr {{.*}} '_Bool' <LValueToRValue>
// CHECK:   `-DeclRefExpr {{.*}} '_Bool' lvalue ParmVar {{.*}} 'b' '_Bool'
// CHECK-EMPTY:
// CHECK: IntegerLiteral {{.*}} 'int' 0
// CHECK-EMPTY:
// CHECK: IntegerLiteral {{.*}} 'int' 1
// CHECK-EMPTY:
// CHECK-EMPTY:
```

Note how the position of the two `IntegerLiteral` statements isn't as expected, and this seems to trip up FileCheck.

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


More information about the cfe-commits mailing list