From: Vladimir Mezentsev <vladimir.mezent...@oracle.com> Tested on aarch64-linux-gnu. No regression. No bootstrap failure.
gcc/ChangeLog: 2017-09-26 Vladimir Mezentsev <vladimir.mezent...@oracle.com> * gcc/config/aarch64/aarch64.c: restore fix in aarch64_use_blocks_for_constant_p --- gcc/config/aarch64/aarch64.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 1c14008..b377bc7 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -6193,11 +6193,9 @@ aarch64_can_use_per_function_literal_pools_p (void) static bool aarch64_use_blocks_for_constant_p (machine_mode, const_rtx) { - /* Fixme:: In an ideal world this would work similar - to the logic in aarch64_select_rtx_section but this - breaks bootstrap in gcc go. For now we workaround - this by returning false here. */ - return false; + /* We can't use blocks for constants when we're using a per-function + constant pool. */ + return !aarch64_can_use_per_function_literal_pools_p (); } /* Select appropriate section for constants depending -- 1.8.3.1