[llvm-bugs] [Bug 37800] New: Instnamer pass produces broken ir?
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Jun 14 03:45:06 PDT 2018
https://bugs.llvm.org/show_bug.cgi?id=37800
Bug ID: 37800
Summary: Instnamer pass produces broken ir?
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Transformation Utilities
Assignee: unassignedbugs at nondot.org
Reporter: lebedev.ri at gmail.com
CC: llvm-bugs at lists.llvm.org
https://godbolt.org/g/Vj3jnC
Given:
define dso_local void @_Z4testi(i32) local_unnamed_addr #0 {
%2 = icmp sgt i32 %0, 0
br i1 %2, label %4, label %3
ret void
%5 = phi i32 [ %6, %4 ], [ 0, %1 ]
tail call void @_Z4calli(i32 %5) #2
%6 = add nuw nsw i32 %5, 1
%7 = icmp eq i32 %6, %0
br i1 %7, label %3, label %4
}
declare dso_local void @_Z4calli(i32) local_unnamed_addr #1
After running instnamer:
define dso_local void @_Z4testi(i32 %arg) local_unnamed_addr {
%tmp = icmp sgt i32 %arg, 0
br i1 %tmp, label %.preheader, label %.loopexit
.loopexit: ; preds = %.preheader, %bb
ret void
.preheader: ; preds = %bb, %.preheader
%tmp1 = phi i32 [ %tmp2, %.preheader ], [ 0, %bb ]
tail call void @_Z4calli(i32 %tmp1)
%tmp2 = add nuw nsw i32 %tmp1, 1
%tmp3 = icmp eq i32 %tmp2, %arg
br i1 %tmp3, label %.loopexit, label %.preheader
}
declare dso_local void @_Z4calli(i32) local_unnamed_addr
After invoking opt on that new ir:
/opt/compiler-explorer/clang-trunk/bin/opt: <source>:10:48: error: use of
undefined value '%bb'
%tmp1 = phi i32 [ %tmp2, %.preheader ], [ 0, %bb ]
^
Compiler returned: 1
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180614/d84b71f0/attachment.html>
More information about the llvm-bugs
mailing list