re PR rtl-optimization/64616 (Redundant ldr when accessing var inside and outside...
authorThomas Preud'homme <thomas.preudhomme@arm.com>
Wed, 13 May 2015 05:39:14 +0000 (05:39 +0000)
committerThomas Preud'homme <thopre01@gcc.gnu.org>
Wed, 13 May 2015 05:39:14 +0000 (05:39 +0000)
commitaa953e2fc52e2196d62b9669a69c9e82de43dc3c
tree0763b13038e3d6e66aad049afe6d0efe654fe586
parente66fc62389b36c6f544d9960dc0acf08f9c55b37
re PR rtl-optimization/64616 (Redundant ldr when accessing var inside and outside a loop)

2015-05-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR rtl-optimization/64616
    * loop-invariant.c (can_move_invariant_reg): New.
    (move_invariant_reg): Call above new function to decide whether
    instruction can just be moved, skipping creation of temporary
    register.

    gcc/testsuite/
    PR rtl-optimization/64616
    * gcc.dg/loop-8.c: New test.
    * gcc.dg/loop-9.c: New test.

From-SVN: r223113
gcc/ChangeLog
gcc/loop-invariant.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/loop-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/loop-9.c [new file with mode: 0644]