[LLVMbugs] [Bug 2560] New: Remove multiple return value support
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Thu Jul 17 07:23:46 PDT 2008
http://llvm.org/bugs/show_bug.cgi?id=2560
Summary: Remove multiple return value support
Product: libraries
Version: trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Core LLVM classes
AssignedTo: unassignedbugs at nondot.org
ReportedBy: matthijs at stdin.nl
CC: llvmbugs at cs.uiuc.edu
Blocks: 2559
Now that most of the first class aggregate support is completed, we should be
able te remove the old multiple return value support sometime soon. This mostly
means two things:
* return instructions should no longer be allowed to take more than one
operand.
* The getresult instruction should be removed.
Returning multiple values can now be implemented by creating a struct using
insertvalue, returning it, and accessing the results using extractvalue
(instead of getresult).
This can be done as soon as all frontends have been changed to no longer use
multiple return values (not sure which currently do so).
Alternatively, we could add a pass that transforms the old multiple return
value instruction into insertvalues and replaces getresult with extractvalue
(or perhaps change the assembly/bitcode readers to do so).
This will allow support for multiple return values to be removed from all other
passes, while retaining backward compatibility for a while (how long?)
--
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