[LLVMbugs] [Bug 2140] New: missing memcpy simplification: forwarding into a call slot
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Wed Mar 12 00:52:52 PDT 2008
http://llvm.org/bugs/show_bug.cgi?id=2140
Summary: missing memcpy simplification: forwarding into a call
slot
Product: new-bugs
Version: unspecified
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: baldrick at free.fr
CC: llvmbugs at cs.uiuc.edu
The GVN testcase 2008-02-24-MultipleUseofSRet.ll could be further
optimized (this testcase was reduced from some complex arithmetic):
currently it is optimized to:
define fastcc void @badly_optimized() nounwind {
entry:
%z = alloca { x86_fp80, x86_fp80 }
%tmp = alloca { x86_fp80, x86_fp80 }
call fastcc void @initialize( { x86_fp80, x86_fp80 }* noalias sret
%tmp )
%tmp1 = bitcast { x86_fp80, x86_fp80 }* %tmp to i8*
%z3 = bitcast { x86_fp80, x86_fp80 }* %z to i8*
call void @llvm.memcpy.i32( i8* %z3, i8* %tmp1, i32 24, i32 8 )
%tmp5 = call fastcc x86_fp80 @passed_uninitialized( { x86_fp80,
x86_fp80 }* %z )
ret void
}
The memcpy could be avoided by using %tmp in the call to @passed_uninitialized.
--
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