<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - musttail does not support vararg function on ARM and PPC32/PPC64"
   href="https://llvm.org/bugs/show_bug.cgi?id=28459">28459</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>musttail does not support vararg function on ARM and PPC32/PPC64
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: ARM
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>yyc1992@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The following IR fails with

```
LLVM ERROR: failed to perform tail call elimination on a call site marked
musttail
```

when compiling for `arm`, `ppc32` and `ppc64` but it passes on `x86`, `x64` or
`aarch64`.

```
declare void @g2(i8*, ...)

define void @f2(i8*, ...) {
top:
  musttail call void (i8*, ...) @g2(i8* %0, ...)
  ret void
}
```

I think this should be possible to support on these archs? If there are any
limitation on what arch can support this, it would be worth mentioning in the
langref, which currently doesn't mention any architecture specific limitations.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>