[PATCH] D53986: [LTO] Fix a crash caused by accessing an empty ValueInfo
Tom Roeder via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 2 16:08:28 PDT 2018
tmroeder added a comment.
I can confirm that this version of the revision also fixes the bug I observed. I patched it in and built and re-ran the build step that failed.
However, the test case fails, at least for me:
FAIL: LLVM :: ThinLTO/X86/alias_internal.ll (22171 of 28416)
******************** TEST 'LLVM :: ThinLTO/X86/alias_internal.ll' FAILED ********************
Script:
--
: 'RUN: at line 4'; /usr/local/google/home/tmroeder/src/llvm/svn-build/release/bin/opt -module-summary /usr/local/google/home/tmroeder/src/llvm/svn/test/ThinLTO/X86/alias_internal.ll -o /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp1.bc
: 'RUN: at line 5'; /usr/local/google/home/tmroeder/src/llvm/svn-build/release/bin/opt -module-summary /usr/local/google/home/tmroeder/src/llvm/svn/test/ThinLTO/X86/Inputs/alias_internal.ll -o /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp2.bc
: 'RUN: at line 6'; /usr/local/google/home/tmroeder/src/llvm/svn-build/release/bin/llvm-lto2 run /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp1.bc /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp2.bc -o /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp.out -save-temps -r /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp1.bc,a1,plx -r /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp2.bc,a2,plx
: 'RUN: at line 10'; cat /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp.out.index.dot | /usr/local/google/home/tmroeder/src/llvm/svn-build/release/bin/FileCheck /usr/local/google/home/tmroeder/src/llvm/svn/test/ThinLTO/X86/alias_internal.ll
--
Exit Code: 1
Command Output (stderr):
--
/usr/local/google/home/tmroeder/src/llvm/svn/test/ThinLTO/X86/alias_internal.ll:11:14: error: CHECK-DAG: expected string not found in input
; CHECK-DAG: M0_12511626713252727690 -> M0_1505494552724110632 [style=dotted]; // alias
^
<stdin>:1:1: note: scanning from here
digraph Summary {
^
<stdin>:22:2: note: possible intended match here
M0_12511626713252727690 -> M0_12714169483090670833 [style=dotted]; // alias
^
--
I reran the steps by hand without the FileCheck part of the pipe, and I get the following graph:
$ cat /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp.out.index.dot
digraph Summary {
// Module: /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp2.bc
subgraph cluster_1 {
style = filled;
color = lightgrey;
label = "alias_internal.ll.tmp2.bc";
node [style=filled,fillcolor=lightblue];
M1_5602470142352873009 [shape="record",label="f|internal (inst: 1, ffl: 0000)}"]; // function
M1_8129049334585965161 [style="dotted,filled",shape="box",label="a2"]; // alias
// Edges:
M1_8129049334585965161 -> M1_5602470142352873009 [style=dotted]; // alias
}
// Module: /usr/local/google/home/tmroeder/src/llvm/svn-build/release/test/ThinLTO/X86/Output/alias_internal.ll.tmp1.bc
subgraph cluster_0 {
style = filled;
color = lightgrey;
label = "alias_internal.ll.tmp1.bc";
node [style=filled,fillcolor=lightblue];
M0_12714169483090670833 [shape="record",label="f|internal (inst: 1, ffl: 0000)}"]; // function
M0_12511626713252727690 [style="dotted,filled",shape="box",label="a1"]; // alias
// Edges:
M0_12511626713252727690 -> M0_12714169483090670833 [style=dotted]; // alias
}
// Cross-module edges:
}
It looks like the sources match in both CHECK-DAG cases but that the destinations don't.
Repository:
rL LLVM
https://reviews.llvm.org/D53986
More information about the llvm-commits
mailing list