aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-09-11 14:34:57 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-09-11 14:34:57 -0700
commita5e5cf67cc0fc6f5947ac5428ce650c763f4f5f4 (patch)
tree7083c5a8bedda24af777074b24fec54e07bf9629 /gcc
parent655f2eb93e47f4996700fe6dd0524a151504144c (diff)
downloadgcc-a5e5cf67cc0fc6f5947ac5428ce650c763f4f5f4.zip
gcc-a5e5cf67cc0fc6f5947ac5428ce650c763f4f5f4.tar.gz
gcc-a5e5cf67cc0fc6f5947ac5428ce650c763f4f5f4.tar.bz2
* cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
From-SVN: r36331
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/cse.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 31d94b4..1979574 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2000-09-11 Richard Henderson <rth@cygnus.com>
+ * cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
+
+2000-09-11 Richard Henderson <rth@cygnus.com>
+
* config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
* config/ia64/ia64.c (fr_nonimmediate_operand): New.
(ia64_override_options): Prevent optimizing division for both
diff --git a/gcc/cse.c b/gcc/cse.c
index f9348fb..b868435 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -3611,6 +3611,13 @@ fold_rtx (x, insn)
return x;
}
+#ifdef NO_FUNCTION_CSE
+ case CALL:
+ if (CONSTANT_P (XEXP (XEXP (x, 0), 0)))
+ return x;
+ break;
+#endif
+
case ASM_OPERANDS:
for (i = ASM_OPERANDS_INPUT_LENGTH (x) - 1; i >= 0; i--)
validate_change (insn, &ASM_OPERANDS_INPUT (x, i),