https://bugs.llvm.org/show_bug.cgi?id=50923
Bug ID: 50923
Summary: linking results in crash in remangleIntrinsicFunction
Product: libraries
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: Bitcode Reader
Assignee: unassignedb...@nondot.org
Reporter: jeroen.dobbela...@synopsys.com
CC: llvm-bugs@lists.llvm.org
The problem was triggered in a thinlto build of llvm with the full restrict
patches.
The description here shows the same problem with llvm.ssa.copy:
remangle1.ll: contains a struct type:
%fum
remangle2.ll contains two versions of that type: (maybe because of template
instantiation ?)
%fum
%fum.1
and three declarations using those structs:
declare void @foo(%fum*)
declare %fum.1** @"llvm.ssa.copy.p0p0s_fum.1s"(%fum.1**)
declare %fum** @"llvm.ssa.copy.p0p0s_fums"(%fum**)
File 1 and 2 also contain some other clashing type %aab. Because of that, when
file2 is read,
%fum is mapped onto %fum.1 (the unique id happens to be '1'
!!!)
But, somewhat later, %fum.1 also clashes and is now mapped onto:
%fum.1.2
So, the original declarations become:
declare %fum.1.2** @"llvm.ssa.copy.p0p0s_fum.1s"(%fum.1.2**)
declare %fum.1** @"llvm.ssa.copy.p0p0s_fums"(%fum.1**)
After remangling, these will become:
declare %fum.1.2** @"llvm.ssa.copy.p0p0s_fum.1.2s"(%fum.1.2**)
declare %fum.1** @"llvm.ssa.copy.p0p0s_fum.1s"(%fum.1**)
But, as the bitcodereader keeps all declarations alive, there now is a
conflicting type for '@"llvm.ssa.copy.p0p0s_fum.1s"'
which triggers the crash.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs