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

Reply via email to