http://llvm.org/bugs/show_bug.cgi?id=21374

            Bug ID: 21374
           Summary: lazy loading causes weaker type merging
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Linker
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

$ cat t1.ll
%foo = type { i8* }
define void @f() {
  bitcast i32* null to %foo*
  ret void
}
$ cat t2.ll
%foo = type { i8* }
define void @g(%foo* %x) {
  ret void
}
$ ./build/bin/llvm-as t1.ll -o t1.bc
$ ./build/bin/llvm-as t2.ll -o t2.bc
$ ./build/bin/llvm-link t2.ll t1.ll -S -o -
; ModuleID = 'llvm-link'

%foo = type { i8* }

define void @g(%foo* %x) {
  ret void
}

define void @f() {
  %1 = bitcast i32* null to %foo*
  ret void
}
$ ./build/bin/llvm-link t2.bc t1.bc -S -o -
; ModuleID = 'llvm-link'

%foo = type { i8* }
%foo.0 = type { i8* }

define void @g(%foo* %x) {
  ret void
}

define void @f() {
  %1 = bitcast i32* null to %foo.0*
  ret void
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to