[prev in list] [next in list] [prev in thread] [next in thread] 

List:       llvm-bugs
Subject:    [LLVMbugs] [Bug 2723] New: Invalid type of 'ret' instruction
From:       bugzilla-daemon () cs ! uiuc ! edu
Date:       2008-08-26 17:37:29
Message-ID: bug-2723-206 () http ! llvm ! org/bugs/
[Download RAW message or body]

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

           Summary: Invalid type of 'ret' instruction
           Product: tools
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: llvm-g++
        AssignedTo: unassignedbugs@nondot.org
        ReportedBy: asl@math.spbu.ru
                CC: gohman@apple.com, llvmbugs@cs.uiuc.edu


Consider the attached preprocessed source. Here (x86-64/linux) I'm getting the
following via 'llvm-g++ -O2':

define { double } @_ZN7WebCore10FloatPoint15narrowPrecisionEdd(double %x,
double %y) nounwind {
entry:
        fptrunc double %y to float              ; <float>:0 [#uses=1]
        fptrunc double %x to float              ; <float>:1 [#uses=1]
        bitcast float %1 to i32         ; <i32>:2 [#uses=1]
        zext i32 %2 to i64              ; <i64>:3 [#uses=1]
        bitcast float %0 to i32         ; <i32>:4 [#uses=1]
        zext i32 %4 to i64              ; <i64>:5 [#uses=1]
        shl i64 %5, 32          ; <i64>:6 [#uses=1]
        %.ins = or i64 %6, %3           ; <i64> [#uses=1]
        %mrv8 = bitcast i64 %.ins to double             ; <double> [#uses=1]
        ret double %mrv8
}


Note the type of function and type of 'ret'.

This makes inliner unhappy, due to assertion in RAUW. Verifier does not catch
this case, btw.

This breaks webkit here.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
LLVMbugs@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic