aboutsummaryrefslogtreecommitdiff
path: root/gcc/regs.h
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2020-10-13 16:44:47 +0200
committerMartin Liska <mliska@suse.cz>2020-10-15 09:56:55 +0200
commit508e2d88a4c512e8b8685cf5ba201ad48e6bb58d (patch)
tree418eecfd7b1df7cb9ccd6d12f794a03733c7971a /gcc/regs.h
parenta0504b3d7c39d78cd9f50a52c49edb0113eadea5 (diff)
downloadgcc-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.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/regs.h b/gcc/regs.h
index 1decd2c2..11416c4 100644
--- a/gcc/regs.h
+++ b/gcc/regs.h
@@ -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) \