[LLVMbugs] [Bug 3054] New: Struct ret promotion doesn't handle first-class aggregates.

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Nov 12 06:46:11 PST 2008


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

           Summary: Struct ret promotion doesn't handle first-class
                    aggregates.
           Product: new-bugs
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: fvbommel at wxs.nl
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=2198)
 --> (http://llvm.org/bugs/attachment.cgi?id=2198)
A sample .ll with an sret parameter being used by a load.

"opt -sretpromotion" doesn't do anything if any of the sret arguments have a
load instruction as one of their uses, even though the IR should be trivial to
update in this case. Either replace all uses of the load with the return value
(if the call dominates the load) or just store the return value to the sret
argument and let -mem2reg/-scalarrepl clean it up...
(Invokes may be trickier to update, but that can be checked for if necessary)

Attaching sample .ll to test with. (The following:
$ llvm-as <first-class-sret.ll | opt -sretpromotion | llvm-dis | grep sret
should show no instances of 'sret')


-- 
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