[llvm-bugs] [Bug 35121] New: optimize re-materialization of FP constants

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Oct 29 13:37:24 PDT 2017


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

            Bug ID: 35121
           Summary: optimize re-materialization of FP constants
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: AArch64
          Assignee: unassignedbugs at nondot.org
          Reporter: compnerd at compnerd.org
                CC: llvm-bugs at lists.llvm.org

Consider the following piece of C code:

```
#include <stdarg.h>

void h(va_list);

void g(const char *s, ...) {
  va_list args;
  va_start(args, s);
  h(args);
  va_end(args);
}

void f(void) {
  g("",
    1, 2, 3, 4, 5, 6, 7, 8, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0,
    1, 2, 3, 4, 5, 6, 7, 8, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
}
```

We re-materialize the floating point values twice (once in the GPR and once in
the FPR).  The GPR materialization is instantiated to spill onto the stack. 
However, it would be possible to use the FPR materialization to spill on to the
stack.

-- 
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/20171029/784e6c22/attachment.html>


More information about the llvm-bugs mailing list