var-tracking.c (var_lowpart): Exit early for matched modes.
authorUros Bizjak <ubizjak@gmail.com>
Tue, 7 Aug 2012 20:57:56 +0000 (22:57 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 7 Aug 2012 20:57:56 +0000 (22:57 +0200)
* var-tracking.c (var_lowpart): Exit early for matched modes.

From-SVN: r190212

gcc/ChangeLog
gcc/var-tracking.c

index bdf47c7..18fa686 100644 (file)
@@ -1,3 +1,7 @@
+2012-08-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       * var-tracking.c (var_lowpart): Exit early for matched modes.
+
 2012-08-07  Richard Henderson  <rth@redhat.com>
 
        * config/s390/s390.c (s390_emit_compare_and_swap): Update for
 
 2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
 
-       * config/i386/i386-protos.c (ix86_lea_outperforms): Remove prototype.
+       * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
        * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
        split_cost argument signed.
        (ix86_avoid_lea_for_add): Cleanup.
index 7aef8ea..a79872f 100644 (file)
@@ -5086,12 +5086,12 @@ var_lowpart (enum machine_mode mode, rtx loc)
 {
   unsigned int offset, reg_offset, regno;
 
-  if (!REG_P (loc) && !MEM_P (loc))
-    return NULL;
-
   if (GET_MODE (loc) == mode)
     return loc;
 
+  if (!REG_P (loc) && !MEM_P (loc))
+    return NULL;
+
   offset = byte_lowpart_offset (mode, GET_MODE (loc));
 
   if (MEM_P (loc))