diff options
author | Martin Liska <mliska@suse.cz> | 2020-10-13 16:44:47 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2020-10-15 09:56:55 +0200 |
commit | 508e2d88a4c512e8b8685cf5ba201ad48e6bb58d (patch) | |
tree | 418eecfd7b1df7cb9ccd6d12f794a03733c7971a /gcc/regs.h | |
parent | a0504b3d7c39d78cd9f50a52c49edb0113eadea5 (diff) | |
download | gcc-508e2d88a4c512e8b8685cf5ba201ad48e6bb58d.zip gcc-508e2d88a4c512e8b8685cf5ba201ad48e6bb58d.tar.gz gcc-508e2d88a4c512e8b8685cf5ba201ad48e6bb58d.tar.bz2 |
IPA: fix profile handling in IRA
gcc/ChangeLog:
PR ipa/97295
* profile-count.c (profile_count::to_frequency): Move part of
gcc_assert to STATIC_ASSERT.
* regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for
a function that does not have count_max initialized.
Diffstat (limited to 'gcc/regs.h')
-rw-r--r-- | gcc/regs.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -128,7 +128,8 @@ extern size_t reg_info_p_size; or profile driven feedback is available and the function is never executed, frequency is always equivalent. Otherwise rescale the basic block frequency. */ -#define REG_FREQ_FROM_BB(bb) (optimize_function_for_size_p (cfun) \ +#define REG_FREQ_FROM_BB(bb) ((optimize_function_for_size_p (cfun) \ + || !cfun->cfg->count_max.initialized_p ()) \ ? REG_FREQ_MAX \ : ((bb)->count.to_frequency (cfun) \ * REG_FREQ_MAX / BB_FREQ_MAX) \ |