[llvm] [InstCombine] Fold trunc(umin/umax(zext(x), y & mask)) to narrower umin/umax (PR #173221)

via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 21 23:42:30 PST 2025


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 128830 tests passed
* 2838 tests skipped
* 19 tests failed

## Failed Tests
(click on a test name to see its output)

### Clang
<details>
<summary>Clang.CodeGen/bitfield-2.c</summary>

```
Exit Code: 3221225501

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\clang.exe -cc1 -internal-isystem C:\_work\llvm-project\llvm-project\build\lib\clang\22\include -nostdsysteminc -emit-llvm -triple x86_64 -O3 -o C:\_work\llvm-project\llvm-project\build\tools\clang\test\CodeGen\Output\bitfield-2.c.tmp.opt.ll C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c    -fdump-record-layouts > C:\_work\llvm-project\llvm-project\build\tools\clang\test\CodeGen\Output\bitfield-2.c.tmp.dump.txt
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_work\llvm-project\llvm-project\build\lib\clang\22\include' -nostdsysteminc -emit-llvm -triple x86_64 -O3 -o 'C:\_work\llvm-project\llvm-project\build\tools\clang\test\CodeGen\Output\bitfield-2.c.tmp.opt.ll' 'C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c' -fdump-record-layouts
# .---redirected output from 'C:\_work\llvm-project\llvm-project\build\tools\clang\test\CodeGen\Output\bitfield-2.c.tmp.dump.txt'
# | 
# | *** Dumping AST Record Layout
# |          0 | struct s0
# |     0:0-23 |   int f0
# |            | [sizeof=3, align=1]
# | 
# | *** Dumping IRgen Record Layout
# | Record: RecordDecl 0x23e20207c48 <C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:18:1, line:20:1> line:18:30 struct s0 definition
# | |-PackedAttr 0x23e20207cc8 <col:21>
# | `-FieldDecl 0x23e20207d88 <line:19:3, col:12> col:7 f0 'int'
# |   `-ConstantExpr 0x23e20207d68 <col:12> 'int'
# |     |-value: Int 24
# |     `-IntegerLiteral 0x23e20207d28 <col:12> 'int' 24
# | 
# | Layout: <CGRecordLayout
# |   LLVMType:%struct.s0 = type { [3 x i8] }
# |   IsZeroInitializable:1
# |   BitFields:[
# |     <CGBitFieldInfo Offset:0 Size:24 IsSigned:1 StorageSize:24 StorageOffset:0 VolatileOffset:0 VolatileStorageSize:0 VolatileStorageOffset:0>
# | ]>
# | 
# | *** Dumping AST Record Layout
# |          0 | struct s1
# |      0:0-9 |   int f0
# |     1:2-11 |   int f1
# |            | [sizeof=3, align=1]
# | 
# | *** Dumping IRgen Record Layout
# | Record: RecordDecl 0x23e20246948 <C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:
# | ...
# `---data was truncated--------
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:22:18: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to -5390609 [-Wbitfield-constant-conversion]
# |    22 | struct s0 g0 = { 0xdeadbeef };
# |       |                  ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:39:20: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to -5390609 [-Wbitfield-constant-conversion]
# |    39 |   struct s0 g0 = { 0xdeadbeef };
# |       |                    ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:68:18: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to -273 [-Wbitfield-constant-conversion]
# |    68 | struct s1 g1 = { 0xdeadbeef, 0xdeadbeef };
# |       |                  ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:68:30: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to -273 [-Wbitfield-constant-conversion]
# |    68 | struct s1 g1 = { 0xdeadbeef, 0xdeadbeef };
# |       |                              ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:75:18: warning: implicit truncation from 'int' to bit-field changes value from 1234 to 210 [-Wbitfield-constant-conversion]
# |    75 |   return (a0->f1 = 1234);
# |       |                  ^ ~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:85:20: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to -273 [-Wbitfield-constant-conversion]
# |    85 |   struct s1 g1 = { 0xdeadbeef, 0xdeadbeef };
# |       |                    ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:85:32: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to -273 [-Wbitfield-constant-conversion]
# |    85 |   struct s1 g1 = { 0xdeadbeef, 0xdeadbeef };
# |       |                                ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:111:17: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to 7 [-Wbitfield-constant-conversion]
# |   111 | union u2 g2 = { 0xdeadbeef };
# |       |                 ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:117:18: warning: implicit truncation from 'int' to bit-field changes value from 1234 to 2 [-Wbitfield-constant-conversion]
# |   117 |   return (a0->f0 = 1234);
# |       |                  ^ ~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:127:19: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to 7 [-Wbitfield-constant-conversion]
# |   127 |   union u2 g2 = { 0xdeadbeef };
# |       |                   ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:181:18: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to 48879 [-Wbitfield-constant-conversion]
# |   181 | struct s4 g4 = { 0xdeadbeef, 0xdeadbeef };
# |       |                  ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:181:30: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to 246267631 [-Wbitfield-constant-conversion]
# |   181 | struct s4 g4 = { 0xdeadbeef, 0xdeadbeef };
# |       |                              ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:197:20: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to 48879 [-Wbitfield-constant-conversion]
# |   197 |   struct s4 g4 = { 0xdeadbeef, 0xdeadbeef };
# |       |                    ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:197:32: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to 246267631 [-Wbitfield-constant-conversion]
# |   197 |   struct s4 g4 = { 0xdeadbeef, 0xdeadbeef };
# |       |                                ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:213:18: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to 3 [-Wbitfield-constant-conversion]
# |   213 | struct s5 g5 = { 0xdeadbeef, 0xdeadbeef };
# |       |                  ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:219:18: warning: implicit truncation from 'int' to bit-field changes value from 15 to 3 [-Wbitfield-constant-conversion]
# |   219 |   return (a0->f0 = 0xF) ^ (a0->f1 = 0xF) ^ (a0->f2 = 0xF);
# |       |                  ^ ~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:229:20: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to 3 [-Wbitfield-constant-conversion]
# |   229 |   struct s5 g5 = { 0xdeadbeef, 0xdeadbeef, 0xdeadbeef };
# |       |                    ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:243:18: warning: implicit truncation from 'int' to bit-field changes value from 15 to 3 [-Wbitfield-constant-conversion]
# |   243 | struct s6 g6 = { 0xF };
# |       |                  ^~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:259:20: warning: implicit truncation from 'int' to bit-field changes value from 15 to 3 [-Wbitfield-constant-conversion]
# |   259 |   struct s6 g6 = { 0xF };
# |       |                    ^~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:301:18: warning: implicit truncation from 'int' to bit-field changes value from 15 to -1 [-Wbitfield-constant-conversion]
# |   301 | struct s8 g8 = { 0xF };
# |       |                  ^~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:307:54: warning: implicit truncation from 'int' to bit-field changes value from 253 to -3 [-Wbitfield-constant-conversion]
# |   307 |   return (a0->f0 = 0xFD) ^ (a0->f2 = 0xFD) ^ (a0->f3 = 0xFD);
# |       |                                                      ^ ~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:307:36: warning: implicit truncation from 'int' to bit-field changes value from 253 to -3 [-Wbitfield-constant-conversion]
# |   307 |   return (a0->f0 = 0xFD) ^ (a0->f2 = 0xFD) ^ (a0->f3 = 0xFD);
# |       |                                    ^ ~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:307:18: warning: implicit truncation from 'int' to bit-field changes value from 253 to -3 [-Wbitfield-constant-conversion]
# |   307 |   return (a0->f0 = 0xFD) ^ (a0->f2 = 0xFD) ^ (a0->f3 = 0xFD);
# |       |                  ^ ~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:317:20: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to -1 [-Wbitfield-constant-conversion]
# |   317 |   struct s8 g8 = { 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef };
# |       |                    ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:317:44: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to -1 [-Wbitfield-constant-conversion]
# |   317 |   struct s8 g8 = { 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef };
# |       |                                            ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:317:56: warning: implicit truncation from 'unsigned int' to bit-field changes value from 3735928559 to -1 [-Wbitfield-constant-conversion]
# |   317 |   struct s8 g8 = { 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef };
# |       |                                                        ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:317:56: warning: implicit conversion from 'unsigned int' to 'char' changes value from 3735928559 to -17 [-Wconstant-conversion]
# |   317 |   struct s8 g8 = { 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef };
# |       |                  ~                                     ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:317:32: warning: implicit conversion from 'unsigned int' to 'char' changes value from 3735928559 to -17 [-Wconstant-conversion]
# |   317 |   struct s8 g8 = { 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef };
# |       |                  ~             ^~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c:317:20: warning: implicit conversion from 'unsigned int' to 'char' changes value from 3735928559 to -17 [-Wconstant-conversion]
# |   317 |   struct s8 g8 = { 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef };
# |       |                  ~ ^~~~~~~~~~
# | Assertion failed: hiBit <= BitWidth && "hiBit out of range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/APInt.h, line 1369
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\clang.exe -cc1 -internal-isystem C:\\_work\\llvm-project\\llvm-project\\build\\lib\\clang\\22\\include -nostdsysteminc -emit-llvm -triple x86_64 -O3 -o C:\\_work\\llvm-project\\llvm-project\\build\\tools\\clang\\test\\CodeGen\\Output\\bitfield-2.c.tmp.opt.ll C:\\_work\\llvm-project\\llvm-project\\clang\\test\\CodeGen\\bitfield-2.c -fdump-record-layouts
# | 1.	<eof> parser at end of file
# | 2.	Optimizer
# | 3.	Running pass "function<eager-inv>(mem2reg,instcombine<max-iterations=1;no-verify-fixpoint>,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>)" on module "C:\_work\llvm-project\llvm-project\clang\test\CodeGen\bitfield-2.c"
# | 4.	Running pass "instcombine<max-iterations=1;no-verify-fixpoint>" on function "f4_reload"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff71c0c7436 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x7e7436)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff71bcf5800 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x415800)
# |  #6 0x00007ff71dd0cd15 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x242cd15)
# |  #7 0x00007ff71dd0c9c3 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x242c9c3)
# |  #8 0x00007ff71dd12476 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x2432476)
# |  #9 0x00007ff71bee08fe (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x6008fe)
# | #10 0x00007ff71bee4b06 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x604b06)
# | #11 0x00007ff71bee3f4f (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x603f4f)
# | #12 0x00007ff71cb4efd1 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x126efd1)
# | #13 0x00007ff71cb2196d (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x124196d)
# | #14 0x00007ff71b9cd2e1 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0xed2e1)
# | #15 0x00007ff71cb24066 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x1244066)
# | #16 0x00007ff71b9ce011 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0xee011)
# | #17 0x00007ff71cb208ed (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x12408ed)
# | #18 0x00007ff71e07d188 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x279d188)
# | #19 0x00007ff71e072b4f (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x2792b4f)
# | #20 0x00007ff71e5f016c (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x2d1016c)
# | #21 0x00007ff7210e3887 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x5803887)
# | #22 0x00007ff71e53b30f (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x2c5b30f)
# | #23 0x00007ff71c202114 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x922114)
# | #24 0x00007ff71c2a6733 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x9c6733)
# | #25 0x00007ff71b8e9207 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x9207)
# | #26 0x00007ff71b8e4774 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x4774)
# | #27 0x00007ff71b8e29ca (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x29ca)
# | #28 0x00007ff71b8f8d37 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x18d37)
# | #29 0x00007ff722a7ef74 (c:\_work\llvm-project\llvm-project\build\bin\clang.exe+0x719ef74)
# | #30 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #31 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d

--

```
</details>

### LLVM
<details>
<summary>LLVM.Transforms/IndVarSimplify/X86/2009-04-15-shorten-iv-vars-2.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\IndVarSimplify\X86\2009-04-15-shorten-iv-vars-2.ll -passes='loop(indvars),instcombine' -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\IndVarSimplify\X86\2009-04-15-shorten-iv-vars-2.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' '-passes=loop(indvars),instcombine' -S
# .---command stderr------------
# | Assertion failed: hiBit <= BitWidth && "hiBit out of range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/APInt.h, line 1369
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -passes=loop(indvars),instcombine -S
# | 1.	Running pass "function(loop(indvars),instcombine<max-iterations=1;verify-fixpoint>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;verify-fixpoint>" on function "foo"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799134a40 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x234a40)
# |  #6 0x00007ff799c14fe5 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14fe5)
# |  #7 0x00007ff799c1a8c6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd1a8c6)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #15 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #16 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #17 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #18 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #19 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #20 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #21 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\IndVarSimplify\X86\2009-04-15-shorten-iv-vars-2.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\IndVarSimplify\X86\2009-04-15-shorten-iv-vars-2.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/cast-mul-select.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\cast-mul-select.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\cast-mul-select.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# .---command stderr------------
# | Assertion failed: hiBit <= BitWidth && "hiBit out of range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/APInt.h, line 1369
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -passes=instcombine -S
# | 1.	Running pass "function(instcombine<max-iterations=1;verify-fixpoint>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;verify-fixpoint>" on function "eval_sext_multi_use_in_one_inst"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799134a40 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x234a40)
# |  #6 0x00007ff799c14fe5 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14fe5)
# |  #7 0x00007ff799c14c93 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14c93)
# |  #8 0x00007ff799c14c93 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14c93)
# |  #9 0x00007ff799c1c117 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd1c117)
# | #10 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# | #11 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #12 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #13 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #14 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #15 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #16 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #17 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #18 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #19 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #20 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #21 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #22 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #23 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #24 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\cast-mul-select.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\cast-mul-select.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/cast.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\cast.ll -passes=instcombine -S -data-layout="E-p:64:64:64-p1:32:32:32-p2:64:64:64-p3:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128-n8:16:32:64" | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\cast.ll --check-prefixes=ALL,BE
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S -data-layout=E-p:64:64:64-p1:32:32:32-p2:64:64:64-p3:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128-n8:16:32:64
# .---command stderr------------
# | Assertion failed: hiBit <= BitWidth && "hiBit out of range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/APInt.h, line 1369
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -passes=instcombine -S -data-layout=E-p:64:64:64-p1:32:32:32-p2:64:64:64-p3:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128-n8:16:32:64
# | 1.	Running pass "function(instcombine<max-iterations=1;verify-fixpoint>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;verify-fixpoint>" on function "test46"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799134a40 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x234a40)
# |  #6 0x00007ff799c14fe5 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14fe5)
# |  #7 0x00007ff799c1a8c6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd1a8c6)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #15 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #16 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #17 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #18 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #19 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #20 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #21 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\cast.ll' --check-prefixes=ALL,BE
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\cast.ll --check-prefixes=ALL,BE
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/funnel.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\funnel.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\funnel.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\funnel.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\funnel.ll:270:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[CONV2:%.*]] = call i8 @llvm.fshr.i8(i8 [[TMP3]], i8 [[TMP4]], i8 [[TMP2]])
# |               ^
# | <stdin>:107:25: note: scanning from here
# |  %2 = trunc i32 %y to i8
# |                         ^
# | <stdin>:107:25: note: with "TMP3" equal to "%convx"
# |  %2 = trunc i32 %y to i8
# |                         ^
# | <stdin>:107:25: note: with "TMP4" equal to "%2"
# |  %2 = trunc i32 %y to i8
# |                         ^
# | <stdin>:107:25: note: with "TMP2" equal to "%and"
# |  %2 = trunc i32 %y to i8
# |                         ^
# | <stdin>:108:2: note: possible intended match here
# |  %conv2 = call i8 @llvm.fshr.i8(i8 %2, i8 %convx, i8 %and)
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\funnel.ll:292:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[CONV2:%.*]] = call i8 @llvm.fshr.i8(i8 [[TMP3]], i8 [[TMP4]], i8 [[TMP2]])
# |               ^
# | <stdin>:116:25: note: scanning from here
# |  %2 = trunc i32 %y to i8
# |                         ^
# | <stdin>:116:25: note: with "TMP3" equal to "%convx"
# |  %2 = trunc i32 %y to i8
# |                         ^
# | <stdin>:116:25: note: with "TMP4" equal to "%2"
# |  %2 = trunc i32 %y to i8
# |                         ^
# | <stdin>:116:25: note: with "TMP2" equal to "%and"
# |  %2 = trunc i32 %y to i8
# |                         ^
# | <stdin>:117:2: note: possible intended match here
# |  %conv2 = call i8 @llvm.fshr.i8(i8 %2, i8 %convx, i8 %and)
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\funnel.ll:550:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[T8:%.*]] = call i8 @llvm.fshr.i8(i8 [[TMP2]], i8 [[TMP3]], i8 [[TMP1]])
# |               ^
# | <stdin>:235:25: note: scanning from here
# |  %2 = trunc i16 %y to i8
# |                         ^
# | <stdin>:235:25: note: with "TMP2" equal to "%maskx"
# |  %2 = trunc i16 %y to i8
# |                         ^
# | <stdin>:235:25: note: with "TMP3" equal to "%2"
# |  %2 = trunc i16 %y to i8
# |                         ^
# | <stdin>:235:25: note: with "TMP1" equal to "%1"
# |  %2 = trunc i16 %y to i8
# |                         ^
# | <stdin>:236:2: note: possible intended match here
# |  %t8 = call i8 @llvm.fshr.i8(i8 %2, i8 %maskx, i8 %1)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\funnel.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           102:  
# |           103: define i8 @fshr_commute_8bit(i32 %x, i32 %y, i32 %shift) { 
# |           104:  %1 = trunc i32 %shift to i8 
# |           105:  %and = and i8 %1, 3 
# |           106:  %convx = trunc i32 %x to i8 
# |           107:  %2 = trunc i32 %y to i8 
# | next:270'0                             X error: no match found
# | next:270'1                               with "TMP3" equal to "%convx"
# | next:270'2                               with "TMP4" equal to "%2"
# | next:270'3                               with "TMP2" equal to "%and"
# |           108:  %conv2 = call i8 @llvm.fshr.i8(i8 %2, i8 %convx, i8 %and) 
# | next:270'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:270'4      ?                                                          possible intended match
# |           109:  ret i8 %conv2 
# | next:270'0     ~~~~~~~~~~~~~~~
# |           110: } 
# | next:270'0     ~~
# |           111:  
# | next:270'0     ~
# |           112: define i8 @fshr_commute_8bit_unmasked_shl(i32 %x, i32 %y, i32 %shift) { 
# | next:270'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           113:  %1 = trunc i32 %shift to i8 
# |           114:  %and = and i8 %1, 3 
# |           115:  %convx = trunc i32 %x to i8 
# |           116:  %2 = trunc i32 %y to i8 
# | next:292'0                             X error: no match found
# | next:292'1                               with "TMP3" equal to "%convx"
# | next:292'2                               with "TMP4" equal to "%2"
# | next:292'3                               with "TMP2" equal to "%and"
# |           117:  %conv2 = call i8 @llvm.fshr.i8(i8 %2, i8 %convx, i8 %and) 
# | next:292'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:292'4      ?                                                          possible intended match
# |           118:  ret i8 %conv2 
# | next:292'0     ~~~~~~~~~~~~~~~
# |           119: } 
# | next:292'0     ~~
# |           120:  
# | next:292'0     ~
# |           121: define i8 @fshr_select(i8 %x, i8 %y, i8 %shamt) { 
# | next:292'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |           122:  %1 = freeze i8 %x 
# |             .
# |             .
# |             .
# |           230: } 
# |           231:  
# |           232: define i8 @unmasked_shlop_masked_shift_amount(i16 %x, i16 %y, i16 %shamt) { 
# |           233:  %1 = trunc i16 %shamt to i8 
# |           234:  %maskx = trunc i16 %x to i8 
# |           235:  %2 = trunc i16 %y to i8 
# | next:550'0                             X error: no match found
# | next:550'1                               with "TMP2" equal to "%maskx"
# | next:550'2                               with "TMP3" equal to "%2"
# | next:550'3                               with "TMP1" equal to "%1"
# |           236:  %t8 = call i8 @llvm.fshr.i8(i8 %2, i8 %maskx, i8 %1) 
# | next:550'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:550'4      ?                                                     possible intended match
# |           237:  ret i8 %t8 
# | next:550'0     ~~~~~~~~~~~~
# |           238: } 
# | next:550'0     ~~
# |           239:  
# | next:550'0     ~
# |           240: define i32 @test_rotl_and_neg(i32 %x, i32 %shamt) { 
# | next:550'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           241:  %or = call i32 @llvm.fshl.i32(i32 %x, i32 %x, i32 %shamt) 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/icmp-mul-zext.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\icmp-mul-zext.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\icmp-mul-zext.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# .---command stderr------------
# | Assertion failed: isa<To>(Val) && "cast<Ty>() argument of incompatible type!", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h, line 572
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -passes=instcombine -S
# | 1.	Running pass "function(instcombine<max-iterations=1;verify-fixpoint>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;verify-fixpoint>" on function "sterix"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799c14c11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14c11)
# |  #6 0x00007ff799c14c93 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14c93)
# |  #7 0x00007ff799c17403 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd17403)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #15 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #16 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #17 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #18 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #19 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #20 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #21 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\icmp-mul-zext.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\icmp-mul-zext.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/instcombine-verify-known-bits.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -passes=instcombine -instcombine-verify-known-bits < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\instcombine-verify-known-bits.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\instcombine-verify-known-bits.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -S -passes=instcombine -instcombine-verify-known-bits
# .---command stderr------------
# | Assertion failed: isa<To>(Val) && "cast<Ty>() argument of incompatible type!", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h, line 572
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -S -passes=instcombine -instcombine-verify-known-bits
# | 1.	Running pass "function(instcombine<max-iterations=1;verify-fixpoint>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;verify-fixpoint>" on function "pr110631"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799c14c11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14c11)
# |  #6 0x00007ff799c14c93 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14c93)
# |  #7 0x00007ff799c17403 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd17403)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #15 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #16 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #17 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #18 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #19 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #20 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #21 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\instcombine-verify-known-bits.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\instcombine-verify-known-bits.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/rotate.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll:448:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[CONV2:%.*]] = call i8 @llvm.fshr.i8(i8 [[TMP3]], i8 [[TMP4]], i8 [[TMP2]])
# |               ^
# | <stdin>:183:25: note: scanning from here
# |  %2 = trunc i32 %v to i8
# |                         ^
# | <stdin>:183:25: note: with "TMP3" equal to "%conv"
# |  %2 = trunc i32 %v to i8
# |                         ^
# | <stdin>:183:25: note: with "TMP4" equal to "%2"
# |  %2 = trunc i32 %v to i8
# |                         ^
# | <stdin>:183:25: note: with "TMP2" equal to "%and"
# |  %2 = trunc i32 %v to i8
# |                         ^
# | <stdin>:184:5: note: possible intended match here
# |  %conv2 = call i8 @llvm.fshr.i8(i8 %2, i8 %conv, i8 %and)
# |     ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll:469:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[CONV2:%.*]] = call i8 @llvm.fshr.i8(i8 [[TMP3]], i8 [[TMP4]], i8 [[TMP2]])
# |               ^
# | <stdin>:192:25: note: scanning from here
# |  %2 = trunc i32 %v to i8
# |                         ^
# | <stdin>:192:25: note: with "TMP3" equal to "%conv"
# |  %2 = trunc i32 %v to i8
# |                         ^
# | <stdin>:192:25: note: with "TMP4" equal to "%2"
# |  %2 = trunc i32 %v to i8
# |                         ^
# | <stdin>:192:25: note: with "TMP2" equal to "%and"
# |  %2 = trunc i32 %v to i8
# |                         ^
# | <stdin>:193:5: note: possible intended match here
# |  %conv2 = call i8 @llvm.fshr.i8(i8 %2, i8 %conv, i8 %and)
# |     ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll:602:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RET:%.*]] = call i16 @llvm.fshr.i16(i16 [[V:%.*]], i16 [[V]], i16 [[TMP1]])
# |               ^
# | <stdin>:234:30: note: scanning from here
# |  %1 = trunc i32 %shamt to i16
# |                              ^
# | <stdin>:234:30: note: with "TMP1" equal to "%1"
# |  %1 = trunc i32 %shamt to i16
# |                              ^
# | <stdin>:240:2: note: possible intended match here
# |  %shr = lshr i16 %v, %rshamt
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll:619:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RET:%.*]] = call i16 @llvm.fshr.i16(i16 [[V:%.*]], i16 [[V]], i16 [[TMP1]])
# |               ^
# | <stdin>:246:30: note: scanning from here
# |  %1 = trunc i32 %shamt to i16
# |                              ^
# | <stdin>:246:30: note: with "TMP1" equal to "%1"
# |  %1 = trunc i32 %shamt to i16
# |                              ^
# | <stdin>:252:2: note: possible intended match here
# |  %shr = lshr i16 %v, %rshamt
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll:653:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RET:%.*]] = call i8 @llvm.fshl.i8(i8 [[V:%.*]], i8 [[V]], i8 [[TMP1]])
# |               ^
# | <stdin>:264:29: note: scanning from here
# |  %1 = trunc i32 %shamt to i8
# |                             ^
# | <stdin>:264:29: note: with "TMP1" equal to "%1"
# |  %1 = trunc i32 %shamt to i8
# |                             ^
# | <stdin>:269:2: note: possible intended match here
# |  %shl = shl i8 %v, %lshamt
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll:670:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RET:%.*]] = call i8 @llvm.fshl.i8(i8 [[V:%.*]], i8 [[V]], i8 [[TMP1]])
# |               ^
# | <stdin>:276:29: note: scanning from here
# |  %1 = trunc i32 %shamt to i8
# |                             ^
# | <stdin>:276:29: note: with "TMP1" equal to "%1"
# |  %1 = trunc i32 %shamt to i8
# |                             ^
# | <stdin>:281:2: note: possible intended match here
# |  %shl = shl i8 %v, %lshamt
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll:705:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[NEG:%.*]] = sub i33 0, [[SHAMT:%.*]]
# |               ^
# | <stdin>:293:54: note: scanning from here
# | define i9 @rotateleft_9_neg_mask_wide_amount_commute(i9 %v, i33 %shamt) {
# |                                                      ^
# | <stdin>:297:2: note: possible intended match here
# |  %3 = sub i9 0, %2
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll:966:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[TMP1:%.*]] = zext i8 [[SHAMT:%.*]] to i16
# |               ^
# | <stdin>:394:2: note: 'next' match was here
# |  %z = zext i8 %shamt to i16
# |  ^
# | <stdin>:391:39: note: previous match ended here
# | define i16 @check_rotate_masked_16bit(i8 %shamt, i32 %cond) {
# |                                       ^
# | <stdin>:392:1: note: non-matching line after previous match is here
# |  %1 = trunc i32 %cond to i16
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\rotate.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           178:  
# |           179: define i8 @rotate_right_commute_8bit_unmasked_shl(i32 %v, i32 %shift) { 
# |           180:  %1 = trunc i32 %shift to i8 
# |           181:  %and = and i8 %1, 3 
# |           182:  %conv = trunc i32 %v to i8 
# |           183:  %2 = trunc i32 %v to i8 
# | next:448'0                             X error: no match found
# | next:448'1                               with "TMP3" equal to "%conv"
# | next:448'2                               with "TMP4" equal to "%2"
# | next:448'3                               with "TMP2" equal to "%and"
# |           184:  %conv2 = call i8 @llvm.fshr.i8(i8 %2, i8 %conv, i8 %and) 
# | next:448'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:448'4         ?                                                      possible intended match
# |           185:  ret i8 %conv2 
# | next:448'0     ~~~~~~~~~~~~~~~
# |           186: } 
# | next:448'0     ~~
# |           187:  
# | next:448'0     ~
# |           188: define i8 @rotate_right_commute_8bit(i32 %v, i32 %shift) { 
# | next:448'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           189:  %1 = trunc i32 %shift to i8 
# |           190:  %and = and i8 %1, 3 
# |           191:  %conv = trunc i32 %v to i8 
# |           192:  %2 = trunc i32 %v to i8 
# | next:469'0                             X error: no match found
# | next:469'1                               with "TMP3" equal to "%conv"
# | next:469'2                               with "TMP4" equal to "%2"
# | next:469'3                               with "TMP2" equal to "%and"
# |           193:  %conv2 = call i8 @llvm.fshr.i8(i8 %2, i8 %conv, i8 %and) 
# | next:469'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:469'4         ?                                                      possible intended match
# |           194:  ret i8 %conv2 
# | next:469'0     ~~~~~~~~~~~~~~~
# |           195: } 
# | next:469'0     ~~
# |           196:  
# | next:469'0     ~
# |           197: define i8 @rotate8_not_safe(i8 %v, i32 %shamt) { 
# | next:469'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           198:  %1 = trunc i32 %shamt to i8 
# |             .
# |             .
# |             .
# |           229:  %or = call i8 @llvm.fshr.i8(i8 %v, i8 %v, i8 %shamt) 
# |           230:  ret i8 %or 
# |           231: } 
# |           232:  
# |           233: define i16 @rotateright_16_neg_mask_wide_amount(i16 %v, i32 %shamt) { 
# |           234:  %1 = trunc i32 %shamt to i16 
# | next:602'0                                  X error: no match found
# | next:602'1                                    with "TMP1" equal to "%1"
# |           235:  %rshamt = and i16 %1, 15 
# | next:602'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           236:  %2 = trunc i32 %shamt to i16 
# | next:602'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           237:  %3 = sub i16 0, %2 
# | next:602'0     ~~~~~~~~~~~~~~~~~~~~
# |           238:  %lshamt = and i16 %3, 15 
# | next:602'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           239:  %shl = shl i16 %v, %lshamt 
# | next:602'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           240:  %shr = lshr i16 %v, %rshamt 
# | next:602'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:602'2      ?                            possible intended match
# |           241:  %or = or i16 %shr, %shl 
# | next:602'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           242:  ret i16 %or 
# | next:602'0     ~~~~~~~~~~~~~
# |           243: } 
# | next:602'0     ~~
# |           244:  
# | next:602'0     ~
# |           245: define i16 @rotateright_16_neg_mask_wide_amount_commute(i16 %v, i32 %shamt) { 
# | next:602'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           246:  %1 = trunc i32 %shamt to i16 
# | next:619'0                                  X error: no match found
# | next:619'1                                    with "TMP1" equal to "%1"
# |           247:  %rshamt = and i16 %1, 15 
# | next:619'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           248:  %2 = trunc i32 %shamt to i16 
# | next:619'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           249:  %3 = sub i16 0, %2 
# | next:619'0     ~~~~~~~~~~~~~~~~~~~~
# |           250:  %lshamt = and i16 %3, 15 
# | next:619'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           251:  %shl = shl i16 %v, %lshamt 
# | next:619'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           252:  %shr = lshr i16 %v, %rshamt 
# | next:619'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:619'2      ?                            possible intended match
# |           253:  %or = or i16 %shl, %shr 
# | next:619'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           254:  ret i16 %or 
# | next:619'0     ~~~~~~~~~~~~~
# |           255: } 
# | next:619'0     ~~
# |           256:  
# | next:619'0     ~
# |           257: define i64 @rotateright_64_zext_neg_mask_amount(i64 %0, i32 %1) { 
# | next:619'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           258:  %3 = zext i32 %1 to i64 
# |           259:  %4 = call i64 @llvm.fshr.i64(i64 %0, i64 %0, i64 %3) 
# |           260:  ret i64 %4 
# |           261: } 
# |           262:  
# |           263: define i8 @rotateleft_8_neg_mask_wide_amount(i8 %v, i32 %shamt) { 
# |           264:  %1 = trunc i32 %shamt to i8 
# | next:653'0                                 X error: no match found
# | next:653'1                                   with "TMP1" equal to "%1"
# |           265:  %lshamt = and i8 %1, 7 
# | next:653'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           266:  %2 = trunc i32 %shamt to i8 
# | next:653'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           267:  %3 = sub i8 0, %2 
# | next:653'0     ~~~~~~~~~~~~~~~~~~~
# |           268:  %rshamt = and i8 %3, 7 
# | next:653'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           269:  %shl = shl i8 %v, %lshamt 
# | next:653'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:653'2      ?                          possible intended match
# |           270:  %shr = lshr i8 %v, %rshamt 
# | next:653'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           271:  %or = or i8 %shr, %shl 
# | next:653'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           272:  ret i8 %or 
# | next:653'0     ~~~~~~~~~~~~
# |           273: } 
# | next:653'0     ~~
# |           274:  
# | next:653'0     ~
# |           275: define i8 @rotateleft_8_neg_mask_wide_amount_commute(i8 %v, i32 %shamt) { 
# | next:653'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           276:  %1 = trunc i32 %shamt to i8 
# | next:670'0                                 X error: no match found
# | next:670'1                                   with "TMP1" equal to "%1"
# |           277:  %lshamt = and i8 %1, 7 
# | next:670'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           278:  %2 = trunc i32 %shamt to i8 
# | next:670'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           279:  %3 = sub i8 0, %2 
# | next:670'0     ~~~~~~~~~~~~~~~~~~~
# |           280:  %rshamt = and i8 %3, 7 
# | next:670'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           281:  %shl = shl i8 %v, %lshamt 
# | next:670'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:670'2      ?                          possible intended match
# |           282:  %shr = lshr i8 %v, %rshamt 
# | next:670'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           283:  %or = or i8 %shl, %shr 
# | next:670'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           284:  ret i8 %or 
# | next:670'0     ~~~~~~~~~~~~
# |           285: } 
# | next:670'0     ~~
# |           286:  
# | next:670'0     ~
# |           287: define i64 @rotateleft_64_zext_neg_mask_amount(i64 %0, i32 %1) { 
# | next:670'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           288:  %3 = zext i32 %1 to i64 
# |           289:  %4 = call i64 @llvm.fshl.i64(i64 %0, i64 %0, i64 %3) 
# |           290:  ret i64 %4 
# |           291: } 
# |           292:  
# |           293: define i9 @rotateleft_9_neg_mask_wide_amount_commute(i9 %v, i33 %shamt) { 
# | next:705'0                                                          X~~~~~~~~~~~~~~~~~~~~ error: no match found
# |           294:  %1 = trunc i33 %shamt to i9 
# | next:705'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           295:  %lshamt = and i9 %1, 8 
# | next:705'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           296:  %2 = trunc i33 %shamt to i9 
# | next:705'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           297:  %3 = sub i9 0, %2 
# | next:705'0     ~~~~~~~~~~~~~~~~~~~
# | next:705'1      ?                  possible intended match
# |           298:  %rshamt = and i9 %3, 8 
# | next:705'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           299:  %shl = shl i9 %v, %lshamt 
# | next:705'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           300:  %shr = lshr i9 %v, %rshamt 
# | next:705'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           301:  %or = or i9 %shl, %shr 
# | next:705'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           302:  ret i9 %or 
# | next:705'0     ~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           389: } 
# |           390:  
# |           391: define i16 @check_rotate_masked_16bit(i8 %shamt, i32 %cond) { 
# |           392:  %1 = trunc i32 %cond to i16 
# |           393:  %maskx = and i16 %1, 1 
# |           394:  %z = zext i8 %shamt to i16 
# | next:966        !~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |           395:  %or = call i16 @llvm.fshr.i16(i16 %maskx, i16 %maskx, i16 %z) 
# |           396:  ret i16 %or 
# |           397: } 
# |           398:  
# |           399: define i32 @rotl_i32_add(i32 %x, i32 %y) { 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/sadd_sat.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sadd_sat.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sadd_sat.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sadd_sat.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sadd_sat.ll:624:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[CONV:%.*]] = zext i32 [[A:%.*]] to i64
# |               ^
# | <stdin>:259:7: note: scanning from here
# | entry:
# |       ^
# | <stdin>:260:2: note: possible intended match here
# |  %add = add i32 %b, %a
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sadd_sat.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           254:  %conv7 = trunc nsw i32 %spec.store.select8 to i8 
# |           255:  ret i8 %conv7 
# |           256: } 
# |           257:  
# |           258: define i32 @sadd_sat32_zext(i32 %a, i32 %b) { 
# |           259: entry: 
# | next:624'0           X error: no match found
# |           260:  %add = add i32 %b, %a 
# | next:624'0     ~~~~~~~~~~~~~~~~~~~~~~~
# | next:624'1      ?                      possible intended match
# |           261:  %spec.store.select = call i32 @llvm.umin.i32(i32 %add, i32 2147483647) 
# | next:624'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           262:  ret i32 %spec.store.select 
# | next:624'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           263: } 
# | next:624'0     ~~
# |           264:  
# | next:624'0     ~
# |           265: define i32 @sadd_sat32_maxmin(i32 %a, i32 %b) { 
# | next:624'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/sext-of-trunc-nsw.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll:104:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[M:%.*]] = and i32 [[X:%.*]], 7
# |               ^
# | <stdin>:56:45: note: scanning from here
# | define i64 @narrow_source_matching_signbits(i32 %x) {
# |                                             ^
# | <stdin>:58:2: note: possible intended match here
# |  %m = and i8 %1, 7
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll:120:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[M:%.*]] = and i32 [[X:%.*]], 8
# |               ^
# | <stdin>:64:49: note: scanning from here
# | define i64 @narrow_source_not_matching_signbits(i32 %x) {
# |                                                 ^
# | <stdin>:66:2: note: possible intended match here
# |  %m = and i16 %1, 8
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll:135:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[M:%.*]] = and i32 [[X:%.*]], 7
# |               ^
# | <stdin>:73:43: note: scanning from here
# | define i24 @wide_source_matching_signbits(i32 %x) {
# |                                           ^
# | <stdin>:75:2: note: possible intended match here
# |  %m = and i8 %1, 7
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll:162:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[M2:%.*]] = and i32 [[X:%.*]], 8
# |               ^
# | <stdin>:86:47: note: scanning from here
# | define i24 @wide_source_not_matching_signbits(i32 %x) {
# |                                               ^
# | <stdin>:88:2: note: possible intended match here
# |  %m2 = and i16 %1, 8
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll:177:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[M:%.*]] = and i32 [[X:%.*]], 7
# |               ^
# | <stdin>:95:43: note: scanning from here
# | define i32 @same_source_matching_signbits(i32 %x) {
# |                                           ^
# | <stdin>:97:2: note: possible intended match here
# |  %m = and i8 %1, 7
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll:192:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[M2:%.*]] = and i32 [[X:%.*]], 8
# |               ^
# | <stdin>:103:47: note: scanning from here
# | define i32 @same_source_not_matching_signbits(i32 %x) {
# |                                               ^
# | <stdin>:105:2: note: possible intended match here
# |  %m2 = and i16 %1, 8
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll:206:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[M:%.*]] = and i32 [[X:%.*]], 7
# |               ^
# | <stdin>:112:53: note: scanning from here
# | define i32 @same_source_matching_signbits_extra_use(i32 %x) {
# |                                                     ^
# | <stdin>:114:2: note: possible intended match here
# |  %m = and i8 %1, 7
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll:222:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[M2:%.*]] = and i32 [[X:%.*]], 8
# |               ^
# | <stdin>:121:57: note: scanning from here
# | define i32 @same_source_not_matching_signbits_extra_use(i32 %x) {
# |                                                         ^
# | <stdin>:123:2: note: possible intended match here
# |  %m2 = and i16 %1, 8
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\sext-of-trunc-nsw.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            51:  call void @use4(i4 %b) 
# |            52:  %c = sext i8 %a to i16 
# |            53:  ret i16 %c 
# |            54: } 
# |            55:  
# |            56: define i64 @narrow_source_matching_signbits(i32 %x) { 
# | next:104'0                                                 X~~~~~~~~~ error: no match found
# |            57:  %1 = trunc i32 %x to i8 
# | next:104'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            58:  %m = and i8 %1, 7 
# | next:104'0     ~~~~~~~~~~~~~~~~~~~
# | next:104'1      ?                  possible intended match
# |            59:  %a = shl nsw i8 -1, %m 
# | next:104'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |            60:  %c = sext i8 %a to i64 
# | next:104'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |            61:  ret i64 %c 
# | next:104'0     ~~~~~~~~~~~~
# |            62: } 
# | next:104'0     ~~
# |            63:  
# | next:104'0     ~
# |            64: define i64 @narrow_source_not_matching_signbits(i32 %x) { 
# | next:104'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:120'0                                                     X~~~~~~~~~ error: no match found
# |            65:  %1 = trunc i32 %x to i16 
# | next:120'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            66:  %m = and i16 %1, 8 
# | next:120'0     ~~~~~~~~~~~~~~~~~~~~
# | next:120'1      ?                   possible intended match
# |            67:  %a = shl nsw i16 -1, %m 
# | next:120'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            68:  %b = trunc i16 %a to i8 
# | next:120'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            69:  %c = sext i8 %b to i64 
# | next:120'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |            70:  ret i64 %c 
# | next:120'0     ~~~~~~~~~~~~
# |            71: } 
# | next:120'0     ~~
# |            72:  
# | next:120'0     ~
# |            73: define i24 @wide_source_matching_signbits(i32 %x) { 
# | next:120'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:135'0                                               X~~~~~~~~~ error: no match found
# |            74:  %1 = trunc i32 %x to i8 
# | next:135'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            75:  %m = and i8 %1, 7 
# | next:135'0     ~~~~~~~~~~~~~~~~~~~
# | next:135'1      ?                  possible intended match
# |            76:  %a = shl nsw i8 -1, %m 
# | next:135'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |            77:  %c = sext i8 %a to i24 
# | next:135'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |            78:  ret i24 %c 
# | next:135'0     ~~~~~~~~~~~~
# |            79: } 
# | next:135'0     ~~
# |            80:  
# | next:135'0     ~
# |            81: define i32 @wide_source_matching_signbits_has_nsw_flag(i64 %i) { 
# | next:135'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            82:  %b = trunc nsw i64 %i to i32 
# |            83:  ret i32 %b 
# |            84: } 
# |            85:  
# |            86: define i24 @wide_source_not_matching_signbits(i32 %x) { 
# | next:162'0                                                   X~~~~~~~~~ error: no match found
# |            87:  %1 = trunc i32 %x to i16 
# | next:162'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            88:  %m2 = and i16 %1, 8 
# | next:162'0     ~~~~~~~~~~~~~~~~~~~~~
# | next:162'1      ?                    possible intended match
# |            89:  %a = shl nsw i16 -1, %m2 
# | next:162'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            90:  %b = trunc i16 %a to i8 
# | next:162'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            91:  %c = sext i8 %b to i24 
# | next:162'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |            92:  ret i24 %c 
# | next:162'0     ~~~~~~~~~~~~
# |            93: } 
# | next:162'0     ~~
# |            94:  
# | next:162'0     ~
# |            95: define i32 @same_source_matching_signbits(i32 %x) { 
# | next:162'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:177'0                                               X~~~~~~~~~ error: no match found
# |            96:  %1 = trunc i32 %x to i8 
# | next:177'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            97:  %m = and i8 %1, 7 
# | next:177'0     ~~~~~~~~~~~~~~~~~~~
# | next:177'1      ?                  possible intended match
# |            98:  %a = shl nsw i8 -1, %m 
# | next:177'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |            99:  %c = sext i8 %a to i32 
# | next:177'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           100:  ret i32 %c 
# | next:177'0     ~~~~~~~~~~~~
# |           101: } 
# | next:177'0     ~~
# |           102:  
# | next:177'0     ~
# |           103: define i32 @same_source_not_matching_signbits(i32 %x) { 
# | next:177'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:192'0                                                   X~~~~~~~~~ error: no match found
# |           104:  %1 = trunc i32 %x to i16 
# | next:192'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           105:  %m2 = and i16 %1, 8 
# | next:192'0     ~~~~~~~~~~~~~~~~~~~~~
# | next:192'1      ?                    possible intended match
# |           106:  %a = shl nsw i16 -1, %m2 
# | next:192'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           107:  %b = trunc i16 %a to i8 
# | next:192'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           108:  %c = sext i8 %b to i32 
# | next:192'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           109:  ret i32 %c 
# | next:192'0     ~~~~~~~~~~~~
# |           110: } 
# | next:192'0     ~~
# |           111:  
# | next:192'0     ~
# |           112: define i32 @same_source_matching_signbits_extra_use(i32 %x) { 
# | next:192'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:206'0                                                         X~~~~~~~~~ error: no match found
# |           113:  %1 = trunc i32 %x to i8 
# | next:206'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           114:  %m = and i8 %1, 7 
# | next:206'0     ~~~~~~~~~~~~~~~~~~~
# | next:206'1      ?                  possible intended match
# |           115:  %a = shl nsw i8 -1, %m 
# | next:206'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           116:  call void @use8(i8 %a) 
# | next:206'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           117:  %c = sext i8 %a to i32 
# | next:206'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           118:  ret i32 %c 
# | next:206'0     ~~~~~~~~~~~~
# |           119: } 
# | next:206'0     ~~
# |           120:  
# | next:206'0     ~
# |           121: define i32 @same_source_not_matching_signbits_extra_use(i32 %x) { 
# | next:206'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:222'0                                                             X~~~~~~~~~ error: no match found
# |           122:  %1 = trunc i32 %x to i16 
# | next:222'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           123:  %m2 = and i16 %1, 8 
# | next:222'0     ~~~~~~~~~~~~~~~~~~~~~
# | next:222'1      ?                    possible intended match
# |           124:  %a = shl nsw i16 -1, %m2 
# | next:222'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           125:  %b = trunc i16 %a to i8 
# | next:222'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           126:  call void @use8(i8 %b) 
# | next:222'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           127:  %c = sext i8 %b to i32 
# | next:222'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           128:  ret i32 %c 
# | next:222'0     ~~~~~~~~~~~~
# |           129: } 
# | next:222'0     ~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/shift.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\shift.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\shift.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\shift.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\shift.ll:580:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[I22:%.*]] = zext i32 [[B:%.*]] to i128
# |               ^
# | <stdin>:289:20: note: scanning from here
# | define i64 @test37(i128 %A, i32 %B) {
# |                    ^
# | <stdin>:291:2: note: possible intended match here
# |  %i22 = zext i32 %B to i64
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\shift.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           284:  %i231 = or i128 %B, %A 
# |           285:  %ins = and i128 %i231, 18446744073709551615 
# |           286:  ret i128 %ins 
# |           287: } 
# |           288:  
# |           289: define i64 @test37(i128 %A, i32 %B) { 
# | next:580'0                        X~~~~~~~~~~~~~~~~~~ error: no match found
# |           290:  %i27 = trunc i128 %A to i64 
# | next:580'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           291:  %i22 = zext i32 %B to i64 
# | next:580'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:580'1      ?                          possible intended match
# |           292:  %i23 = shl nuw i64 %i22, 32 
# | next:580'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           293:  %ins = or i64 %i23, %i27 
# | next:580'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           294:  ret i64 %ins 
# | next:580'0     ~~~~~~~~~~~~~~
# |           295: } 
# | next:580'0     ~~
# |           296:  
# | next:580'0     ~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/trunc-binop-ext.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc-binop-ext.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc-binop-ext.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# .---command stderr------------
# | Assertion failed: isa<To>(Val) && "cast<Ty>() argument of incompatible type!", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h, line 572
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -passes=instcombine -S
# | 1.	Running pass "function(instcombine<max-iterations=1;verify-fixpoint>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;verify-fixpoint>" on function "narrow_sext_and"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799c14c11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14c11)
# |  #6 0x00007ff799c14c93 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14c93)
# |  #7 0x00007ff799c17403 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd17403)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #15 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #16 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #17 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #18 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #19 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #20 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #21 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc-binop-ext.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc-binop-ext.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/trunc-inseltpoison.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc-inseltpoison.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc-inseltpoison.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# .---command stderr------------
# | Assertion failed: hiBit <= BitWidth && "hiBit out of range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/APInt.h, line 1369
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -passes=instcombine -S
# | 1.	Running pass "function(instcombine<max-iterations=1;verify-fixpoint>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;verify-fixpoint>" on function "test1"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799134a40 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x234a40)
# |  #6 0x00007ff799c14fe5 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14fe5)
# |  #7 0x00007ff799c1a8c6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd1a8c6)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #15 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #16 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #17 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #18 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #19 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #20 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #21 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc-inseltpoison.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc-inseltpoison.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/trunc.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# .---command stderr------------
# | Assertion failed: hiBit <= BitWidth && "hiBit out of range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/APInt.h, line 1369
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -passes=instcombine -S
# | 1.	Running pass "function(instcombine<max-iterations=1;verify-fixpoint>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;verify-fixpoint>" on function "test1"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799134a40 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x234a40)
# |  #6 0x00007ff799c14fe5 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14fe5)
# |  #7 0x00007ff799c1a8c6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd1a8c6)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #15 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #16 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #17 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #18 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #19 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #20 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #21 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\trunc.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/reduction-inloop-pred.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\reduction-inloop-pred.ll -passes=loop-vectorize,dce,instcombine -force-vector-interleave=1 -force-vector-width=4 -prefer-inloop-reductions -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\reduction-inloop-pred.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=loop-vectorize,dce,instcombine -force-vector-interleave=1 -force-vector-width=4 -prefer-inloop-reductions -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue -S
# note: command had no output on stdout or stderr
# error: command failed with exit status: 0xc0000005
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\reduction-inloop-pred.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\reduction-inloop-pred.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/PhaseOrdering/X86/pr52289.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -O3 -S < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\X86\pr52289.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\X86\pr52289.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -O3 -S
# .---command stderr------------
# | Assertion failed: hiBit <= BitWidth && "hiBit out of range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/APInt.h, line 1369
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -O3 -S
# | 1.	Running pass "require<globals-aa>,function(invalidate<aa>),require<profile-summary>,cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,argpromotion,openmp-opt-cgscc,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,loop(loop-idiom,indvars,extra-simple-loop-unswitch-passes,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-verify-fixpoint>,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;switch-to-arithmetic;no-switch-to-lookup;keep-loops;hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>),coro-split,coro-annotation-elide)),function(invalidate<should-not-run-function-passes>),cgscc(devirt<4>())" on module "<stdin>"
# | 2.	Running pass "cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,argpromotion,openmp-opt-cgscc,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,loop(loop-idiom,indvars,extra-simple-loop-unswitch-passes,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-verify-fixpoint>,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;switch-to-arithmetic;no-switch-to-lookup;keep-loops;hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>),coro-split,coro-annotation-elide))" on module "<stdin>"
# | 3.	Running pass "instcombine<max-iterations=1;no-verify-fixpoint>" on function "main"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799134a40 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x234a40)
# |  #6 0x00007ff799c14fe5 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14fe5)
# |  #7 0x00007ff799c1a8c6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd1a8c6)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799f52140 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1052140)
# | #15 0x00007ff79934694b (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x44694b)
# | #16 0x00007ff799f4d221 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x104d221)
# | #17 0x00007ff799fa5a9b (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a5a9b)
# | #18 0x00007ff799f503c5 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10503c5)
# | #19 0x00007ff79a041a8b (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1141a8b)
# | #20 0x00007ff799f4ec49 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x104ec49)
# | #21 0x00007ff79935bdf1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x45bdf1)
# | #22 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #23 0x00007ff79b740664 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2840664)
# | #24 0x00007ff799fa8891 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a8891)
# | #25 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #26 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #27 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #28 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #29 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #30 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #31 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\X86\pr52289.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\X86\pr52289.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/PhaseOrdering/bitfield-bittests.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -O3 -S < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\bitfield-bittests.ll                    | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\bitfield-bittests.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -O3 -S
# .---command stderr------------
# | Assertion failed: hiBit <= BitWidth && "hiBit out of range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/APInt.h, line 1369
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -O3 -S
# | 1.	Running pass "function<eager-inv>(mem2reg,instcombine<max-iterations=1;no-verify-fixpoint>,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;no-verify-fixpoint>" on function "allclear"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799134a40 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x234a40)
# |  #6 0x00007ff799c14fe5 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14fe5)
# |  #7 0x00007ff799c1a8c6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd1a8c6)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #15 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #16 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #17 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #18 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #19 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #20 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #21 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\bitfield-bittests.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\bitfield-bittests.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.Transforms/PhaseOrdering/cmp-logic.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -passes='default<O1>' -S < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\cmp-logic.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\cmp-logic.ll --check-prefixes=CHECK,O1
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' '-passes=default<O1>' -S
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\cmp-logic.ll' --check-prefixes=CHECK,O1
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\cmp-logic.ll:113:12: error: O1-NEXT: is not on the line after the previous match
# | ; O1-NEXT: [[CONV2:%.*]] = and i32 [[E_COERCE:%.*]], 255
# |            ^
# | <stdin>:47:2: note: 'next' match was here
# |  %0 = and i32 %e.coerce.fr, 255
# |  ^
# | <stdin>:45:7: note: previous match ended here
# | entry:
# |       ^
# | <stdin>:46:1: note: non-matching line after previous match is here
# |  %e.coerce.fr = freeze i32 %e.coerce
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\cmp-logic.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          42: declare void @foo(...) local_unnamed_addr 
# |          43:  
# |          44: define i32 @PR56119(i32 %e.coerce) local_unnamed_addr { 
# |          45: entry: 
# |          46:  %e.coerce.fr = freeze i32 %e.coerce 
# |          47:  %0 = and i32 %e.coerce.fr, 255 
# | next:113      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          48:  %cmp1 = icmp eq i32 %0, 7 
# |          49:  br i1 %cmp1, label %if.then, label %if.end 
# |          50:  
# |          51: if.then: ; preds = %entry 
# |          52:  tail call void (...) @foo() 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/PhaseOrdering/reassociate-after-unroll.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -passes='default<O2>' -S < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\reassociate-after-unroll.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\reassociate-after-unroll.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' '-passes=default<O2>' -S
# .---command stderr------------
# | Assertion failed: hiBit <= BitWidth && "hiBit out of range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/APInt.h, line 1369
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\opt.exe -passes=default<O2> -S
# | 1.	Running pass "function<eager-inv>(mem2reg,instcombine<max-iterations=1;no-verify-fixpoint>,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>)" on module "<stdin>"
# | 2.	Running pass "instcombine<max-iterations=1;no-verify-fixpoint>" on function "func"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7997fef06 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x8fef06)
# |  #1 0x00007ffc9205bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffc9205cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffc9205e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffc9205e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff799134a40 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x234a40)
# |  #6 0x00007ff799c14fe5 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd14fe5)
# |  #7 0x00007ff799c1a8c6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xd1a8c6)
# |  #8 0x00007ff79913c0ee (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23c0ee)
# |  #9 0x00007ff7991404a6 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x2404a6)
# | #10 0x00007ff79913f8ef (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x23f8ef)
# | #11 0x00007ff799fa60d1 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x10a60d1)
# | #12 0x00007ff799d31a3d (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe31a3d)
# | #13 0x00007ff799346d11 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x446d11)
# | #14 0x00007ff799d34f36 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe34f36)
# | #15 0x00007ff799233081 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x333081)
# | #16 0x00007ff799d309bd (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0xe309bd)
# | #17 0x00007ff79922cd7f (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x32cd7f)
# | #18 0x00007ff798f06f77 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x6f77)
# | #19 0x00007ff798f01025 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x1025)
# | #20 0x00007ff79d6dccf4 (c:\_work\llvm-project\llvm-project\build\bin\opt.exe+0x47dccf4)
# | #21 0x00007ffc966f4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffca4cfedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\reassociate-after-unroll.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\PhaseOrdering\reassociate-after-unroll.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</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/173221


More information about the llvm-commits mailing list