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: unassignedb...@nondot.org
          Reporter: compn...@compnerd.org
                CC: llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to