Message ID | 5645D1B9.3060706@suse.cz |
---|---|
State | New |
Headers | show |
On Fri, Nov 13, 2015 at 1:04 PM, Martin Liška <mliska@suse.cz> wrote: > Hello. > > Following patch fixes PR68311, can regbootstrap on x86_64-linux-gnu. > > Ready for trunk? Please use auto_vec <congruence_class *, 2> newclasses; as it gets you a stack allocation. Also use quick_push as you know the vector is large enough. Ok with that changes. Richard. > Thanks, > Martin
On 13 November 2015 at 13:17, Richard Biener <richard.guenther@gmail.com> wrote: > On Fri, Nov 13, 2015 at 1:04 PM, Martin Liška <mliska@suse.cz> wrote: >> Hello. >> >> Following patch fixes PR68311, can regbootstrap on x86_64-linux-gnu. >> >> Ready for trunk? > > Please use > > auto_vec <congruence_class *, 2> newclasses; > > as it gets you a stack allocation. Also use quick_push as you know the vector > is large enough. > > Ok with that changes. > > Richard. > Hi, This patch broke the GCC build for armeb in libgfortran: /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libgfortran/generated/matmul_i4.c: In function 'matmul_i4': /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libgfortran/generated/matmul_i4.c:79:1: internal compiler error: in vectorizable_load, at tree-vect-s tmts.c:6711 matmul_i4 (gfc_array_i4 * const restrict retarray, ^ 0xcff5d2 vectorizable_load /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vect-stmts.c:6711 0xd06955 vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*, _slp_tree*, _slp_instance*) /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vect-stmts.c:8002 0xd0ec21 vect_transform_loop(_loop_vec_info*) /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vect-loop.c:6793 0xd317c9 vectorize_loops() /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vectorizer.c:533 Please submit a full bug report, >> Thanks, >> Martin
On 11/14/2015 09:33 AM, Christophe Lyon wrote: > On 13 November 2015 at 13:17, Richard Biener <richard.guenther@gmail.com> wrote: >> On Fri, Nov 13, 2015 at 1:04 PM, Martin Liška <mliska@suse.cz> wrote: >>> Hello. >>> >>> Following patch fixes PR68311, can regbootstrap on x86_64-linux-gnu. >>> >>> Ready for trunk? >> >> Please use >> >> auto_vec <congruence_class *, 2> newclasses; >> >> as it gets you a stack allocation. Also use quick_push as you know the vector >> is large enough. >> >> Ok with that changes. >> >> Richard. >> > Hi, > > This patch broke the GCC build for armeb in libgfortran: > /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libgfortran/generated/matmul_i4.c: > In function 'matmul_i4': > /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libgfortran/generated/matmul_i4.c:79:1: > internal compiler error: in vectorizable_load, at tree-vect-s > tmts.c:6711 > matmul_i4 (gfc_array_i4 * const restrict retarray, > ^ > > 0xcff5d2 vectorizable_load > /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vect-stmts.c:6711 > 0xd06955 vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*, > _slp_tree*, _slp_instance*) > /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vect-stmts.c:8002 > 0xd0ec21 vect_transform_loop(_loop_vec_info*) > /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vect-loop.c:6793 > 0xd317c9 vectorize_loops() > /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vectorizer.c:533 > Please submit a full bug report, Hi Christophe. It looks really strange that the ICE is caused by the patch. May I ask you for creating a PR and attaching pre-processed source file, so that I can reproduce it with cross-compiler? Thank you, Martin > > > >>> Thanks, >>> Martin
On 15 November 2015 at 10:01, Martin Liška <mliska@suse.cz> wrote: > On 11/14/2015 09:33 AM, Christophe Lyon wrote: >> On 13 November 2015 at 13:17, Richard Biener <richard.guenther@gmail.com> wrote: >>> On Fri, Nov 13, 2015 at 1:04 PM, Martin Liška <mliska@suse.cz> wrote: >>>> Hello. >>>> >>>> Following patch fixes PR68311, can regbootstrap on x86_64-linux-gnu. >>>> >>>> Ready for trunk? >>> >>> Please use >>> >>> auto_vec <congruence_class *, 2> newclasses; >>> >>> as it gets you a stack allocation. Also use quick_push as you know the vector >>> is large enough. >>> >>> Ok with that changes. >>> >>> Richard. >>> >> Hi, >> >> This patch broke the GCC build for armeb in libgfortran: >> /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libgfortran/generated/matmul_i4.c: >> In function 'matmul_i4': >> /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libgfortran/generated/matmul_i4.c:79:1: >> internal compiler error: in vectorizable_load, at tree-vect-s >> tmts.c:6711 >> matmul_i4 (gfc_array_i4 * const restrict retarray, >> ^ >> >> 0xcff5d2 vectorizable_load >> /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vect-stmts.c:6711 >> 0xd06955 vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*, >> _slp_tree*, _slp_instance*) >> /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vect-stmts.c:8002 >> 0xd0ec21 vect_transform_loop(_loop_vec_info*) >> /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vect-loop.c:6793 >> 0xd317c9 vectorize_loops() >> /tmp/9046893_7.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vectorizer.c:533 >> Please submit a full bug report, > > Hi Christophe. > > It looks really strange that the ICE is caused by the patch. May I ask you for creating a PR > and attaching pre-processed source file, so that I can reproduce it with cross-compiler? > Well, the build succeded before this commit and started to fail at r230311 (this commit). I've created https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68367 Thanks > Thank you, > Martin > >> >> >> >>>> Thanks, >>>> Martin >
From bc07c0709f0601e18b7ea7dfad867a5296378640 Mon Sep 17 00:00:00 2001 From: marxin <mliska@suse.cz> Date: Thu, 12 Nov 2015 16:17:52 +0100 Subject: [PATCH] Fix PR ipa/68311 gcc/ChangeLog: 2015-11-12 Martin Liska <mliska@suse.cz> PR ipa/68311 * ipa-icf.c (sem_item_optimizer::traverse_congruence_split): Replace ctor with auto_vec and initialization in a loop. --- gcc/ipa-icf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c index 7bb3af5..97702c9 100644 --- a/gcc/ipa-icf.c +++ b/gcc/ipa-icf.c @@ -3038,7 +3038,9 @@ sem_item_optimizer::traverse_congruence_split (congruence_class * const &cls, if (popcount > 0 && popcount < cls->members.length ()) { - congruence_class* newclasses[2] = { new congruence_class (class_id++), new congruence_class (class_id++) }; + auto_vec <congruence_class *> newclasses (2); + newclasses.safe_push (new congruence_class (class_id++)); + newclasses.safe_push (new congruence_class (class_id++)); for (unsigned int i = 0; i < cls->members.length (); i++) { -- 2.6.2