aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-09-07 11:14:32 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-09-07 11:14:32 -0700
commit9b3bd4249d2e0e46d4bec0909e626543bbd14d3b (patch)
treefdd0e020da43b19ca8c6fe9ea8eb332cf71d6eba /gcc/rtlanal.c
parent9978052974a84e9666af3c1f69bdf599c43cd5d0 (diff)
downloadgcc-9b3bd4249d2e0e46d4bec0909e626543bbd14d3b.zip
gcc-9b3bd4249d2e0e46d4bec0909e626543bbd14d3b.tar.gz
gcc-9b3bd4249d2e0e46d4bec0909e626543bbd14d3b.tar.bz2
loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
* loop.c (record_giv): Avoid simplifying MULT to ASHIFT. (express_from_1): Wrap lines. * rtlanal.c (commutative_operand_precedence): Rename from operand_preference; export. * rtl.h: Declare it. * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling. (simplify_binary_operation): Invoke simplify_plus_minus on (CONST (PLUS ...)) as well. (struct simplify_plus_minus_op_data): New. (simplify_plus_minus_op_data_cmp): New. (simplify_plus_minus): Use them. Avoid infinite recursion with simplify_binary_operation wrt CONST. From-SVN: r45473
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r--gcc/rtlanal.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 5ac2c74..9c8830d 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -30,7 +30,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
static void set_of_1 PARAMS ((rtx, rtx, void *));
static void insn_dependent_p_1 PARAMS ((rtx, rtx, void *));
static int computed_jump_p_1 PARAMS ((rtx));
-static int operand_preference PARAMS ((rtx));
static void parms_set PARAMS ((rtx, rtx, void *));
/* Bit flags that specify the machine subtype we are compiling for.
@@ -2558,8 +2557,8 @@ regno_use_in (regno, x)
We use negative values to indicate a preference for the first operand
and positive values for the second operand. */
-static int
-operand_preference (op)
+int
+commutative_operand_precedence (op)
rtx op;
{
/* Constants always come the second operand. Prefer "nice" constants. */
@@ -2597,7 +2596,8 @@ int
swap_commutative_operands_p (x, y)
rtx x, y;
{
- return operand_preference (x) < operand_preference (y);
+ return (commutative_operand_precedence (x)
+ < commutative_operand_precedence (y));
}
/* Return 1 if X is an autoincrement side effect and the register is