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.