[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2018-04-25 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

--- Comment #12 from Ramana Radhakrishnan  ---
(In reply to Steve Ellcey from comment #11)
> FYI: This caused a regression on aarch64.
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84923


I have marked 84923 as an 8 regression as it wasn't done earlier and probably
slipped in the cracks. 

The regression was noticed and a patch was posted but it appears that this
wasn't reviewed.

Ramana

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2018-04-24 Thread sje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

Steve Ellcey  changed:

   What|Removed |Added

 CC||sje at gcc dot gnu.org

--- Comment #11 from Steve Ellcey  ---
FYI: This caused a regression on aarch64.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84923

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2018-03-15 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

Ramana Radhakrishnan  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|7.4 |8.0

--- Comment #10 from Ramana Radhakrishnan  ---
Fixed for gcc-8

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2018-03-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

--- Comment #9 from Richard Biener  ---
Author: rguenth
Date: Thu Mar 15 08:55:04 2018
New Revision: 258553

URL: https://gcc.gnu.org/viewcvs?rev=258553=gcc=rev
Log:
2018-03-15  Vladimir Mezentsev  

PR target/68256
* varasm.c (hash_section): Return an unchangeble hash value
* config/aarch64/aarch64.c (aarch64_use_blocks_for_constant_p):
Return !aarch64_can_use_per_function_literal_pools_p ().

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.c
trunk/gcc/varasm.c

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2018-01-25 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|7.3 |7.4

--- Comment #8 from Richard Biener  ---
GCC 7.3 is being released, adjusting target milestone.

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2017-10-06 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

Wilco  changed:

   What|Removed |Added

 CC||wilco at gcc dot gnu.org

--- Comment #7 from Wilco  ---
(In reply to Vladimir Mezentsev from comment #6)
> I restored fixes in gcc/config/aarch64/aarch64.c:
> % git diff
> 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
> 
> 
> I cannot reproduce the problem.
> I use the gcc116.fsffrance.org machine:
> % uname -a
> Linux gcc116 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:45:34 UTC 2016
> aarch64 aarch64 aarch64 GNU/Linux
> 
> I run
> % ../gcc/configure --enable-languages=c,c++,go --enable-bootstrap
> --enable-multilib
> % make -j8 bootstrap
>  
>  There is no bootstrap comparison failure.

That looks fine. However either the underlying problem is fixed or has gone
latent, so it would be useful to try reproducing it on an older GCC so we can
be sure the actual problem is fixed.

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2017-09-20 Thread vladimir.mezentsev at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

Vladimir Mezentsev  changed:

   What|Removed |Added

 CC||vladimir.mezentsev at oracle 
dot c
   ||om

--- Comment #6 from Vladimir Mezentsev  
---
I restored fixes in gcc/config/aarch64/aarch64.c:
% git diff
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


I cannot reproduce the problem.
I use the gcc116.fsffrance.org machine:
% uname -a
Linux gcc116 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:45:34 UTC 2016
aarch64 aarch64 aarch64 GNU/Linux

I run
% ../gcc/configure --enable-languages=c,c++,go --enable-bootstrap
--enable-multilib
% make -j8 bootstrap

 There is no bootstrap comparison failure.

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2017-08-16 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|7.2 |7.3

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2017-08-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|7.2 |7.3

--- Comment #6 from Richard Biener  ---
GCC 7.2 is being released, adjusting target milestone.

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2017-05-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

Jakub Jelinek  changed:

   What|Removed |Added

   Target Milestone|7.0 |7.2

--- Comment #5 from Jakub Jelinek  ---
GCC 7.1 has been released.

[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.

2015-12-16 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256

Ramana Radhakrishnan  changed:

   What|Removed |Added

   Target Milestone|6.0 |7.0
Summary|[6 regression] switching|Defining
   |constant pools to rodata|TARGET_USE_CONSTANT_BLOCKS_
   |sections causes go  |P causes go bootstrap
   |bootstrap failure.  |failure on aarch64.

--- Comment #4 from Ramana Radhakrishnan  ---
The issue of the bootstrap failure with the change in
aarch64_use_constant_blocks_p remains but this is no longer a 6 regression.
That can now get pushed out to 7.0 as I would neither have the time nor do I
feel comfortable about getting that fixed for 6.0.