diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2017-01-16 09:48:45 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2017-01-16 09:48:45 +0000 |
commit | 1bcd0192bf2b9adbdf0fab7ab8f245d6f68aea71 (patch) | |
tree | e9c7c025366911ab8a6c40d6d1f858fa20878934 /gcc/config/avr/avr.h | |
parent | a99ce94c8acf996340013b836f45f81dc64a3f44 (diff) | |
download | gcc-1bcd0192bf2b9adbdf0fab7ab8f245d6f68aea71.zip gcc-1bcd0192bf2b9adbdf0fab7ab8f245d6f68aea71.tar.gz gcc-1bcd0192bf2b9adbdf0fab7ab8f245d6f68aea71.tar.bz2 |
avr.h (BRANCH_COST): Increase by 4.
gcc/
* config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4.
From-SVN: r244488
Diffstat (limited to 'gcc/config/avr/avr.h')
-rw-r--r-- | gcc/config/avr/avr.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index c78d4e7..3dfa8c3 100644 --- a/gcc/config/avr/avr.h +++ b/gcc/config/avr/avr.h @@ -360,7 +360,12 @@ typedef struct avr_args } \ } while (0) -#define BRANCH_COST(speed_p, predictable_p) avr_branch_cost +/* We increase branch costs after reload in order to keep basic-block + reordering from introducing out-of-line jumps and to prefer fall-through + edges instead. The default branch costs are 0, mainly because otherwise + do_store_flag might come up with bloated code. */ +#define BRANCH_COST(speed_p, predictable_p) \ + (avr_branch_cost + (reload_completed ? 4 : 0)) #define SLOW_BYTE_ACCESS 0 |