https://bugs.llvm.org/show_bug.cgi?id=34052

            Bug ID: 34052
           Summary: [NewGVN/PredicateInfo] Assertion `isa<X>(Val) &&
                    "cast<Ty>() argument of incompatible type!"' failed.
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Scalar Optimizations
          Assignee: unassignedb...@nondot.org
          Reporter: dav...@freebsd.org
                CC: dber...@dberlin.org, jo...@netbsd.org,
                    llvm-bugs@lists.llvm.org

Joerg ran a full package run on NetBSD (with NewGVN) and that resulted in a
series of crashes. This one is the first, in the objective-c runtime.

I reduced it to the following:

$ ./opt -newgvn tinky.ll
opt: ../include/llvm/Support/Casting.h:255: typename llvm::cast_retty<X,
Y*>::ret_type llvm::cast(Y*) [with X = llvm::Function; Y = llvm::Constant;
typename llvm::cast_retty<X, Y*>::ret_type = llvm::Function*]: Assertion
`isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed.

$ cat tinky.ll
%0 = type opaque
%2 = type opaque

define void @patatino() {
entry:
  %call10 = call %0* bitcast (i8* (i8*, ...)* @objc_msgSend to %0* (i8*)*)(i8*
null)
  %cmp11 = icmp eq %0* %call10, null
  br i1 %cmp11, label %if.end14, label %if.end14.thread

if.end14.thread:
  %tmp = bitcast %0* %call10 to i8*
  ret void

if.end14:
  ret void
}

declare i8* @objc_msgSend(i8*, ...)
declare %2* @llvm.ssa.copy.p0s_s(%2* returned)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to