aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-01-26 20:21:11 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-01-26 20:21:11 +0000
commitd6456562b6801f0147fd10fa00c4fd76709d6b2b (patch)
treefc522414beed0e8a0f60e44e9b52eb9003e9699d
parent6f69173e896f251b47075d29b7d146e6b51fc5ac (diff)
downloadgcc-d6456562b6801f0147fd10fa00c4fd76709d6b2b.zip
gcc-d6456562b6801f0147fd10fa00c4fd76709d6b2b.tar.gz
gcc-d6456562b6801f0147fd10fa00c4fd76709d6b2b.tar.bz2
h8300.c (h8300_tiny_constant_address_p): Use a switch statement instead of a chain of if statements.
* config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a switch statement instead of a chain of if statements. From-SVN: r76663
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/h8300/h8300.c27
2 files changed, 20 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2bdeffe..483a47a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
+ switch statement instead of a chain of if statements.
+
2004-01-26 Jeff Law <law@redhat.com>
* doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 3c503a9..97f7e9f 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -4434,21 +4434,24 @@ h8300_tiny_constant_address_p (rtx x)
unsigned HOST_WIDE_INT addr;
- /* We accept symbols declared with tiny_data. */
- if (GET_CODE (x) == SYMBOL_REF)
- return (SYMBOL_REF_FLAGS (x) & SYMBOL_FLAG_TINY_DATA) != 0;
+ switch (GET_CODE (x))
+ {
+ case SYMBOL_REF:
+ /* We accept symbols declared with tiny_data. */
+ return (SYMBOL_REF_FLAGS (x) & SYMBOL_FLAG_TINY_DATA) != 0;
- if (GET_CODE (x) != CONST_INT)
- return 0;
+ case CONST_INT:
+ addr = INTVAL (x);
+ return (TARGET_NORMAL_MODE
+ || (TARGET_H8300H
+ && (IN_RANGE (addr, h1, h2) || IN_RANGE (addr, h3, h4)))
+ || (TARGET_H8300S
+ && (IN_RANGE (addr, s1, s2) || IN_RANGE (addr, s3, s4))));
- addr = INTVAL (x);
+ default:
+ return 0;
+ }
- return (0
- || TARGET_NORMAL_MODE
- || (TARGET_H8300H
- && (IN_RANGE (addr, h1, h2) || IN_RANGE (addr, h3, h4)))
- || (TARGET_H8300S
- && (IN_RANGE (addr, s1, s2) || IN_RANGE (addr, s3, s4))));
}
int