[llvm-bugs] [Bug 46672] New: X86_INTR calling convention depends on pointee element types

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Jul 10 09:27:06 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=46672

            Bug ID: 46672
           Summary: X86_INTR calling convention depends on pointee element
                    types
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: Matthew.Arsenault at amd.com
                CC: craig.topper at gmail.com, llvm-bugs at lists.llvm.org,
                    llvm-dev at redking.me.uk, spatel+llvm at rotateright.com

The lowering for X86_INTR implicitly depends on the pointee element type, but
it's somewhat hidden in the code, since it's laundered through typed byval
support.

https://github.com/llvm/llvm-project/blob/a474d5bae4773782d50d4a5a62300c0f4a2dff28/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#L9775

Sneakily, the call to getParamByValType below happens to work here since it
tries to fall back to the pointer element type to handle real byval attributes
which are missing the type. It's also an accident this code works for inalloca
and preallocated (although I have a patch which will fix these parts soon)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200710/63a3eb9c/attachment.html>


More information about the llvm-bugs mailing list