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

Message ID alpine.BSF.2.20.16.2007282047490.93755@arjuna.pair.com
State New
Headers show
Series
  • config/mmix/mmix.h (NO_FUNCTION_CSE): Define to 1.
Related show

Commit Message

Hans-Peter Nilsson July 29, 2020, 12:48 a.m.
Committed.

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.

Patch

--- gcc/gcc/config/mmix/mmix.h.orig	Tue Jul 28 03:00:11 2020
+++ gcc/gcc/config/mmix/mmix.h	Tue Jul 28 03:06:19 2020
@@ -577,6 +577,9 @@  typedef struct { int regs; int lib; } CU

 #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 */