[LLVMbugs] [Bug 8040] New: ARM codegen generates incorrect code for byval function arguments

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Aug 31 10:02:41 PDT 2010


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

           Summary: ARM codegen generates incorrect code for byval
                    function arguments
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: evzen.muller at arm.com
                CC: llvmbugs at cs.uiuc.edu


When byval attribute is specified for a function argument to pass aggregate
type by value, ARM codegen produces code which is not compliant with AAPCS.
(r0-r3 registers are not used and argument is always passed on stack)

It seems that clang is currently trying to workaround this by passing arguments
as arrays instead of using byval (TargetInfo.cpp
-ARMABIInfo::classifyArgumentType(QualType Ty), but this adds unnecessary
target dependencies to IR. 

Would it be possible to add/fix byval support in ARM backend(s)?

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