Ping.
https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00237.html

Thanks,
Kyrill
On 03/03/16 11:38, Kyrill Tkachov wrote:
Hi all,

This patch fixes the ICE that was introduced by my earlier patch to 
aarch64_set_current_function:
FAIL: gcc.dg/torture/pr52429.c -O2 -flto -fno-use-linker-plugin 
-flto-partition=none (internal compiler error)

And it also fixes a bug that I was working on separately relating to popping 
pragmas.
The patch rewrites the aarch64_set_current_function implementation to be the 
same as the one in the arm port
that Christian wrote and which is simpler than the existing implementation and 
has been tested for some time
without problems. I've thought this was the way to go but was hoping to do it 
for GCC 7 instead, but I think
given the ICE we'd rather have consistent implementations of this hook between 
arm and aarch64 (and ideally
this should be moved into the midend for all targets, I don't see much 
target-specific information in the
implementation of this across the targets, but not at this stage).

Similar to that implementation the setting and restoring of the target globals 
is factored into a separate
function that is used in aarch64_set_current_function and the pragma handling 
function to tell the midend
when to reinitialise its structures.

This patch fixes the ICE, the testcase attached, and passes bootstrap and 
regression testing on
aarch64-none-linux-gnu.

Sorry for missing the ICE originally.
Ok for trunk?

Thanks,
Kyrill

P.S. The vector arguments re-layout hack that was in 
aarch64_set_current_function is removed because
it has become unneeded since Christian fixed some midend bugs so that it's done 
automatically there.

2016-03-03  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>

    PR target/70002
    * config/aarch64/aarch64-protos.h
    (aarch64_save_restore_target_globals): New prototype.
    * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
    Call the above when popping pragma.
    * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
    New function.
    (aarch64_set_current_function): Rewrite using the above.

2016-03-03  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>

    PR target/70002
    PR target/69245
    * gcc.target/aarch64/pr69245_2.c: New test.

Reply via email to