aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2012-08-07 22:57:56 +0200
committerUros Bizjak <uros@gcc.gnu.org>2012-08-07 22:57:56 +0200
commit1791f36f52dee7b3ef6498825915d09d39a8a973 (patch)
tree309479ef2989d5bd7265c47973b72819770ac7d2
parent78ce265b7148c1b8ef41ab8f3c22a1a8069d2995 (diff)
downloadgcc-1791f36f52dee7b3ef6498825915d09d39a8a973.zip
gcc-1791f36f52dee7b3ef6498825915d09d39a8a973.tar.gz
gcc-1791f36f52dee7b3ef6498825915d09d39a8a973.tar.bz2
var-tracking.c (var_lowpart): Exit early for matched modes.
* var-tracking.c (var_lowpart): Exit early for matched modes. From-SVN: r190212
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/var-tracking.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bdf47c7..18fa686 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
@@ -2251,7 +2255,7 @@
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.
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 7aef8ea..a79872f 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -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))