[LLVMbugs] [Bug 1953] New: Improve llvm-gcc complex code generation
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Mon Jan 28 21:16:57 PST 2008
http://llvm.org/bugs/show_bug.cgi?id=1953
Summary: Improve llvm-gcc complex code generation
Product: tools
Version: 2.2
Platform: PC
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: llvm-gcc
AssignedTo: unassignedbugs at nondot.org
ReportedBy: sabre at nondot.org
CC: llvmbugs at cs.uiuc.edu
llvm-gcc currently lowers code like this:
void foo(float f, _Complex float *P) {
_Complex float x = f;
*P += x;
}
into two adds. It really should only do one add for performance and numerical
correctness (as strongly recommended in annex G of C99). One way to do this
would be to run the complex lowering pass which 4.2 already has, but this
apparently requires "gimple ssa form", so this is not trivial.
The other way to handle this is to hack llvm-convert to somehow do this. The
problem is that the temporaries introduced by gimplification that are not in
SSA form prevent doing correct dataflow analysis to propagate this information
through.
-Chris
--
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