[llvm] [CodeGen] Introduce Static Data Splitter pass (PR #122183)
Paul Kirth via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 23 07:53:07 PST 2025
ilovepi wrote:
This patch seems to have broken a number of build bots. Would you mind reverting until a fix is ready?
>From the error message, it seems like the new test is failing to match correctly in some cases, so maybe its an issue w/ `-DAG`?
```
Exit Code: 1
Command Output (stderr):
--
RUN: at line 9: /b/s/w/ir/x/w/llvm_build/bin/llc -mtriple=x86_64-unknown-linux-gnu -stop-after=finalize-isel -min-jump-table-entries=2 /b/s/w/ir/x/w/llvm-llvm-project/llvm/test/CodeGen/X86/jump-table-partition.ll -o /b/s/w/ir/x/w/llvm_build/test/CodeGen/X86/Output/jump-table-partition.ll.tmp.mir
+ /b/s/w/ir/x/w/llvm_build/bin/llc -mtriple=x86_64-unknown-linux-gnu -stop-after=finalize-isel -min-jump-table-entries=2 /b/s/w/ir/x/w/llvm-llvm-project/llvm/test/CodeGen/X86/jump-table-partition.ll -o /b/s/w/ir/x/w/llvm_build/test/CodeGen/X86/Output/jump-table-partition.ll.tmp.mir
RUN: at line 10: /b/s/w/ir/x/w/llvm_build/bin/llc -mtriple=x86_64-unknown-linux-gnu --run-pass=static-data-splitter -stats -x mir /b/s/w/ir/x/w/llvm_build/test/CodeGen/X86/Output/jump-table-partition.ll.tmp.mir -o - 2>&1 | /b/s/w/ir/x/w/llvm_build/bin/FileCheck /b/s/w/ir/x/w/llvm-llvm-project/llvm/test/CodeGen/X86/jump-table-partition.ll --check-prefix=STAT
+ /b/s/w/ir/x/w/llvm_build/bin/FileCheck /b/s/w/ir/x/w/llvm-llvm-project/llvm/test/CodeGen/X86/jump-table-partition.ll --check-prefix=STAT
+ /b/s/w/ir/x/w/llvm_build/bin/llc -mtriple=x86_64-unknown-linux-gnu --run-pass=static-data-splitter -stats -x mir /b/s/w/ir/x/w/llvm_build/test/CodeGen/X86/Output/jump-table-partition.ll.tmp.mir -o -
/b/s/w/ir/x/w/llvm-llvm-project/llvm/test/CodeGen/X86/jump-table-partition.ll:16:13: error: STAT-DAG: expected string not found in input
; STAT-DAG: 2 static-data-splitter - Number of cold jump tables seen
^
<stdin>:1:1: note: scanning from here
--- |
^
<stdin>:10:7: note: possible intended match here
@case2 = private constant [7 x i8] c"case 2\00"
^
Input file: <stdin>
Check file: /b/s/w/ir/x/w/llvm-llvm-project/llvm/test/CodeGen/X86/jump-table-partition.ll
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: --- |
dag:16'0 X~~~~~ error: no match found
2: ; ModuleID = '/b/s/w/ir/x/w/llvm_build/test/CodeGen/X86/Output/jump-table-partition.ll.tmp.mir'
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3: source_filename = "/b/s/w/ir/x/w/llvm-llvm-project/llvm/test/CodeGen/X86/jump-table-partition.ll"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5: target triple = "x86_64-unknown-linux-gnu"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6:
dag:16'0 ~~
7: @str.9 = private constant [7 x i8] c".str.9\00"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8: @str.10 = private constant [8 x i8] c".str.10\00"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9: @str.11 = private constant [8 x i8] c".str.11\00"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10: @case2 = private constant [7 x i8] c"case 2\00"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dag:16'1 ? possible intended match
11: @case1 = private constant [7 x i8] c"case 1\00"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: @default = private constant [8 x i8] c"default\00"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: @jt3 = private constant [4 x i8] c"jt3\00"
dag:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14:
dag:16'0 ~~
15: define i32 @foo(i32 %num) !prof !13 !section_prefix !14 {
```
https://github.com/llvm/llvm-project/pull/122183
More information about the llvm-commits
mailing list