config/mmix/mmix.h (NO_FUNCTION_CSE): Define to 1.
authorHans-Peter Nilsson <hp@bitrange.com>
Wed, 29 Jul 2020 00:46:09 +0000 (02:46 +0200)
committerHans-Peter Nilsson <hp@bitrange.com>
Wed, 29 Jul 2020 00:46:09 +0000 (02:46 +0200)
The tests gcc.dg/tree-ssa/loop-1.c and gcc.dg/weak/typeof-2.c
assume this setting and are as a consequence riddled with
exceptions for targets that actually do yield better code when
calling through a register rather than repeatedly the same
symbol.  Nonetheless, defining it makes sense for MMIX.

(Even better IMHO, this macro shouldn't exist and instead rtx
costs be used or perhaps just a target-specific default of
flag_no_function_cse.)

gcc:
* config/mmix/mmix.h (NO_FUNCTION_CSE): Define to 1.

gcc/config/mmix/mmix.h

index 9317c20..ac0be10 100644 (file)
@@ -577,6 +577,9 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 
 #define SLOW_BYTE_ACCESS 0
 
+/* A PUSHJ doesn't cost more than a PUSHGO, so don't needlessly create
+   the latter.  */
+#define NO_FUNCTION_CSE 1
 
 /* Node: Sections */