]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
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)
committerGiuliano Belinassi <giuliano.belinassi@usp.br>
Mon, 17 Aug 2020 16:20:01 +0000 (13:20 -0300)
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 9317c20e3c8f129e44c1432121b89e7c7b4a36df..ac0be100aeed29959ddf7c0b89de813329091bb6 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 */