From 5c180464b7b0827b3cc07a78e96dfe55352db33f Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Wed, 29 Jul 2020 02:46:09 +0200 Subject: [PATCH] config/mmix/mmix.h (NO_FUNCTION_CSE): Define to 1. 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 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h index 9317c20e3c8..ac0be100aee 100644 --- a/gcc/config/mmix/mmix.h +++ b/gcc/config/mmix/mmix.h @@ -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 */