On 2015-02-04 11:16 AM, H.J. Lu wrote:
When hard frame pointer isn't needed, the register for hard frame pointer
may be reused.  This patch clears alignment on hard frame pointer if hard
frame pointer isn't needed.  OK for trunk after bootstrap and test on
Linux/x86-64?
LRA can set up frame_pointer_needed in some complicated cases (in lra-eliminations.c::setup_can_eliminate). So I'd reset REGNO_POINTER_ALIGN in setup_can_eleminate for any case even although without the change the patch is safe.

So, H.J., if you add resetting REGNO_POINTER_ALIGN in setup_can_eliminate, the patch is automatically approved.
Thanks.

H.J.
--
gcc/

        PR rtl-optimization/64905
        * ira.c (ira_setup_eliminable_regset): Clear hard frame pointer
        alignment if it isn't needed.

gcc/testsuite/

        PR rtl-optimization/64905
        * gcc.target/i386/pr64905.c: New file.
---
  gcc/ira.c                               |  2 ++
  gcc/testsuite/gcc.target/i386/pr64905.c | 22 ++++++++++++++++++++++
  2 files changed, 24 insertions(+)
  create mode 100644 gcc/testsuite/gcc.target/i386/pr64905.c



Reply via email to