After D154102 multi-line labels would get split incorrectly. When CFG is generated for a function with basic block name longer than 80 lines, then the header separator will be placed after the line break for the label name instead of after the whole label name. The fix is simple by just moving the insert of | character before the line splitting happens. Differential Revision: https://reviews.llvm.org/D159207
25 lines
933 B
YAML
25 lines
933 B
YAML
# RUN: llc -mtriple=amdgcn-- -run-pass=dot-machine-cfg -mcfg-dot-filename-prefix=%t -mcfg-func-name=func2 -o - %s 2>&1 > /dev/null
|
|
# RUN: FileCheck %s -input-file=%t.func2.dot --check-prefix=MCFG
|
|
|
|
# MCFG-NOT: digraph "Machine CFG for 'func1' function"
|
|
name: func1
|
|
body: |
|
|
bb.0:
|
|
$sgpr0 = S_LOAD_DWORD_IMM $sgpr10_sgpr11, 0, 0
|
|
$sgpr1 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
|
|
S_ENDPGM 0
|
|
...
|
|
|
|
# MCFG: digraph "Machine CFG for 'func2' function"
|
|
# MCFG-NEXT: label="Machine CFG for 'func2' function"
|
|
# MCFG: Node{{[0-9A-Za-z]*}} [shape=record,label="{bb.0:\l| $sgpr0 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0\l $sgpr1 = S_LOAD_DWORD_IMM $sgpr6_sgpr7, 0, 0\l $sgpr2 = S_LOAD_DWORD_IMM $sgpr14_sgpr15, 0, 0\l S_ENDPGM 0\l}"];
|
|
---
|
|
name: func2
|
|
body: |
|
|
bb.0:
|
|
$sgpr0 = S_LOAD_DWORD_IMM $sgpr12_sgpr13, 0, 0
|
|
$sgpr1 = S_LOAD_DWORD_IMM $sgpr6_sgpr7, 0, 0
|
|
$sgpr2 = S_LOAD_DWORD_IMM $sgpr14_sgpr15, 0, 0
|
|
S_ENDPGM 0
|
|
...
|