From: Jozef Lawrynowicz Date: Tue, 21 Jul 2020 16:24:03 +0000 (+0100) Subject: MSP430: Define NO_FUNCTION_CSE X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=111afded7fdf46ce14972aa8a72c26c9a180ab70;p=gcc.git MSP430: Define NO_FUNCTION_CSE Calling a constant function address costs the same number of clock cycles as calling an address stored in a register. However, in terms of instruction length, calling a constant address is more expensive. Set NO_FUNCTION_CSE to true, only when optimizing for speed. gcc/ChangeLog: * config/msp430/msp430.h (NO_FUNCTION_CSE): Set to true at -O2 and above. --- diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h index f198981ad9e..e97e833a10c 100644 --- a/gcc/config/msp430/msp430.h +++ b/gcc/config/msp430/msp430.h @@ -257,6 +257,11 @@ extern const char *msp430_get_linker_devices_include_path (int, const char **); msp430_return_addr_rtx (COUNT) #define SLOW_BYTE_ACCESS 0 + +/* Calling a constant function address costs the same number of clock + cycles as calling an address stored in a register. However, in terms of + instruction length, calling a constant address is more expensive. */ +#define NO_FUNCTION_CSE (optimize >= 2 && !optimize_size) /* Register Usage */