[LLVMbugs] [Bug 2723] New: Invalid type of 'ret' instruction
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Tue Aug 26 10:37:29 PDT 2008
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 at nondot.org
ReportedBy: asl at math.spbu.ru
CC: gohman at apple.com, llvmbugs at 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.
More information about the llvm-bugs
mailing list