[Bug rtl-optimization/67000] [6 Regression] ICE in split_complex_args, at function.c:2325 on ppc64le
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67000 Bug 67000 depends on bug 67227, which changed state. Bug 67227 Summary: [6 regression] comparison failure in ada/par.o https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67227 What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED
[Bug rtl-optimization/67000] [6 Regression] ICE in split_complex_args, at function.c:2325 on ppc64le
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67000 Alexandre Oliva changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Alexandre Oliva --- Fixed
[Bug rtl-optimization/67000] [6 Regression] ICE in split_complex_args, at function.c:2325 on ppc64le
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67000 --- Comment #5 from Alexandre Oliva --- Author: aoliva Date: Fri Aug 14 18:51:50 2015 New Revision: 226901 URL: https://gcc.gnu.org/viewcvs?rev=226901&root=gcc&view=rev Log: [PR64164] Drop copyrename, use coalescible partition as base when optimizing. for gcc/ChangeLog PR rtl-optimization/64164 PR bootstrap/66978 PR middle-end/66983 PR rtl-optimization/67000 PR middle-end/67034 PR middle-end/67035 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. * tree-ssa-copyrename.c: Removed. * opts.c (default_options_table): Drop -ftree-copyrename. Add -ftree-coalesce-vars. * passes.def: Drop all occurrences of pass_rename_ssa_copies. * common.opt (ftree-copyrename): Ignore. (ftree-coalesce-inlined-vars): Likewise. * doc/invoke.texi: Remove the ignored options above. * gimple-expr.h (gimple_can_coalesce_p): Move declaration * tree-ssa-coalesce.h: ... here. * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other headers required by it. * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing across variables when flag_tree_coalesce_vars. Check register use and promoted modes to allow coalescing. Do not coalesce maybe-byref parms with SSA_NAMEs of other variables, or anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c. * tree-ssa-live.c (struct tree_int_map_hasher): Move along with its member functions to tree-ssa-coalesce.c. (var_map_base_init): Likewise. Renamed to compute_samebase_partition_bases. (partition_view_normal): Drop want_bases parameter. (partition_view_bitmap): Likewise. * tree-ssa-live.h: Adjust declarations. * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h. (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's default defs at the entry point. (dump_part_var_map): New. (compute_optimized_partition_bases): New, called by... (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead of compute_samebase_partition_bases. Adjust. * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. * cfgexpand.c (leader_merge, parm_maybe_byref_p): New. (ssa_default_def_partition): New. (get_rtl_for_parm_ssa_default_def): New. (align_local_variable, add_stack_var): Support anonymous SSA names. (defer_stack_allocation): Likewise. Declare earlier. (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. Do no record deferred-allocation marker in SA.partition_to_pseudo. (expand_stack_vars): Adjust check for the marker in it. (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop redundant MEM attr setting. (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed from... (expand_one_stack_var): ... this. New wrapper to check and skip already expanded SSA partitions. (record_alignment_for_reg_var): New, factored out of... (expand_one_var): ... this. (expand_one_ssa_partition): New. (adjust_one_expanded_partition_var): New. (expand_one_register_var): Check and skip already expanded SSA partitions. (expand_used_vars): Don't create DECLs for anonymous SSA names. Expand all SSA partitions, then adjust all SSA names. (pass::execute): Replace the loops that set SA.partition_to_pseudo from partition leaders and cleared DECL_RTL for multi-location variables, and that which used to rename vars and set attrs, with one that clears DECL_RTL and checks that PARMs and RESULTs default_defs match DECL_RTL. * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. * emit-rtl.c: Include stor-layout.h. (set_reg_attrs_for_parm): Handle NULL decl. (set_reg_attrs_for_decl_rtl): Take mode from expression if it's not a DECL. * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME rather than its possibly-NULL DECL. * explow.c (promote_ssa_mode): New. * explow.h (promote_ssa_mode): Declare. * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. (read_complex_part): Export. * expr.h (read_complex_part): Declare. * cfgexpand.h (parm_maybe_byref_p): Declare. * function.c: Include cfgexpand.h. (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. (use_register_for_parm_decl): Wrapper for the above to special-case the result_ptr. (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. (split_complex_args): Take assign_parm_data_all argument. Pass it to rtl_for_parm. Set up rtl and conte
[Bug rtl-optimization/67000] [6 Regression] ICE in split_complex_args, at function.c:2325 on ppc64le
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67000 --- Comment #4 from Gary Funck --- (In reply to Alexandre Oliva from comment #3) > The problem initially reported in this bug is now fixed in the git branch > aoliva/pr64164. I'm not sure how to go about duplicating the one in comment > 1, but, having fixed a number of additional split_complex issues since the > patch that caused the problems was put in, I hope it's fixed too. Gary, > would you please detail the toplevel configure and build command lines to > trigger it, or perhaps give the branch a try and confirm that it fixes the > problem? Thanks, Alexandre, The configuration command was along these lines: configure CFLAGS='-g3 -O0' CXXFLAGS='-g3 -O0' TARGET_CFLAGS='-g3 -O0' TARGET_CXXFLAGS='-g3 -O0' --enable-bootstrap=no --enable-checking=yes --enable-languages=c,c++ --disable-build-format-warnings PS: the issue did go away when merged with a later svn trunk version, consistent with Richard's comment #2.
[Bug rtl-optimization/67000] [6 Regression] ICE in split_complex_args, at function.c:2325 on ppc64le
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67000 Alexandre Oliva changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2015-07-30 Assignee|unassigned at gcc dot gnu.org |aoliva at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Alexandre Oliva --- The problem initially reported in this bug is now fixed in the git branch aoliva/pr64164. I'm not sure how to go about duplicating the one in comment 1, but, having fixed a number of additional split_complex issues since the patch that caused the problems was put in, I hope it's fixed too. Gary, would you please detail the toplevel configure and build command lines to trigger it, or perhaps give the branch a try and confirm that it fixes the problem? Thanks,
[Bug rtl-optimization/67000] [6 Regression] ICE in split_complex_args, at function.c:2325 on ppc64le
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67000 Richard Biener changed: What|Removed |Added Target Milestone|--- |6.0 --- Comment #2 from Richard Biener --- I believe the patch was reverted again.
[Bug rtl-optimization/67000] [6 Regression] ICE in split_complex_args, at function.c:2325 on ppc64le
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67000 --- Comment #1 from Gary Funck --- We're seeing this as a bootstrap failure in libitm, built with checks enabled and both host and target compilation flags set to -O0. We do not see the ICE when compiled at -O3 and --enable-checking=release. This is based on GCC trunk version 226170. make[2]: Entering directory `/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libitm' /bin/sh ./libtool --tag=CXX --mode=compile /home/gfunck/gupc-dev/bld/packed-dbg/./gcc/xg++ -B/home/gfunck/gupc-dev/bld/packed-dbg/./gcc/ -nostdinc++ -nostdinc++ -I/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/include/powerpc64-unknown-linux-gnu -I/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/include -I/home/gfunck/gupc-dev/src/gupc/libstdc++-v3/libsupc++ -I/home/gfunck/gupc-dev/src/gupc/libstdc++-v3/include/backward -I/home/gfunck/gupc-dev/src/gupc/libstdc++-v3/testsuite/util -L/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/src -L/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/src/.libs -L/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/home/gfunck/gupc-dev/rls/packed-dbg/powerpc64-unknown-linux-gnu/bin/ -B/home/gfunck/gupc-dev/rls/packed-dbg/powerpc64-unknown-linux-gnu/lib/ -isystem /home/gfunck/gupc-dev/rls/packed-dbg/powerpc64-unknown-linux-gnu/include -isystem /home/gfunck/gupc-dev/rls/packed-dbg/powerpc64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I/home/gfunck/gupc-dev/src/gupc/libitm -I/home/gfunck/gupc-dev/src/gupc/libitm/config/linux/powerpc -I/home/gfunck/gupc-dev/src/gupc/libitm/config/linux -I/home/gfunck/gupc-dev/src/gupc/libitm/config/powerpc -I/home/gfunck/gupc-dev/src/gupc/libitm/config/posix -I/home/gfunck/gupc-dev/src/gupc/libitm/config/generic -I/home/gfunck/gupc-dev/src/gupc/libitm -ftls-model=initial-exec -mhtm -Wall -Werror -Wc,-pthread -std=gnu++0x -funwind-tables -fno-exceptions -fno-rtti -fabi-version=4 -O2 -g3 -O0 -D_GNU_SOURCE -MT barrier.lo -MD -MP -MF .deps/barrier.Tpo -c -o barrier.lo /home/gfunck/gupc-dev/src/gupc/libitm/barrier.cc libtool: compile: /home/gfunck/gupc-dev/bld/packed-dbg/./gcc/xg++ -B/home/gfunck/gupc-dev/bld/packed-dbg/./gcc/ -nostdinc++ -nostdinc++ -I/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/include/powerpc64-unknown-linux-gnu -I/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/include -I/home/gfunck/gupc-dev/src/gupc/libstdc++-v3/libsupc++ -I/home/gfunck/gupc-dev/src/gupc/libstdc++-v3/include/backward -I/home/gfunck/gupc-dev/src/gupc/libstdc++-v3/testsuite/util -L/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/src -L/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/src/.libs -L/home/gfunck/gupc-dev/bld/packed-dbg/powerpc64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/home/gfunck/gupc-dev/rls/packed-dbg/powerpc64-unknown-linux-gnu/bin/ -B/home/gfunck/gupc-dev/rls/packed-dbg/powerpc64-unknown-linux-gnu/lib/ -isystem /home/gfunck/gupc-dev/rls/packed-dbg/powerpc64-unknown-linux-gnu/include -isystem /home/gfunck/gupc-dev/rls/packed-dbg/powerpc64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I/home/gfunck/gupc-dev/src/gupc/libitm -I/home/gfunck/gupc-dev/src/gupc/libitm/config/linux/powerpc -I/home/gfunck/gupc-dev/src/gupc/libitm/config/linux -I/home/gfunck/gupc-dev/src/gupc/libitm/config/powerpc -I/home/gfunck/gupc-dev/src/gupc/libitm/config/posix -I/home/gfunck/gupc-dev/src/gupc/libitm/config/generic -I/home/gfunck/gupc-dev/src/gupc/libitm -ftls-model=initial-exec -mhtm -Wall -pthread -Werror -std=gnu++0x -funwind-tables -fno-exceptions -fno-rtti -fabi-version=4 -O2 -g3 -O0 -D_GNU_SOURCE -MT barrier.lo -MD -MP -MF .deps/barrier.Tpo -c /home/gfunck/gupc-dev/src/gupc/libitm/barrier.cc -fPIC -DPIC -o .libs/barrier.o In file included from /home/gfunck/gupc-dev/src/gupc/libitm/libitm_i.h:87:0, from /home/gfunck/gupc-dev/src/gupc/libitm/barrier.cc:25: /home/gfunck/gupc-dev/src/gupc/libitm/barrier.cc: In function ‘void _ITM_WCF(_ITM_TYPE_CF*, _ITM_TYPE_CF)’: /home/gfunck/gupc-dev/src/gupc/libitm/dispatch.h:129:20: internal compiler error: in split_complex_args, at function.c:2336 void ITM_REGPARM _ITM_##LSMOD##T (_ITM_TYPE_##T *ptr, _ITM_TYPE_##T val) \ ^ /home/gfunck/gupc-dev/src/gupc/libitm/dispatch.h:141:3: note: in expansion of macro ‘ITM_WRITE’ ITM_WRITE(T, W, TARGET, M2) \ ^ /home/gfunck/gupc-dev/src/gupc/libitm/dispatch.h:187:3: note: in expansion of macro ‘CREATE_DISPATCH_FUNCTIONS_T’ CREATE_DISPATCH_FUNCTIONS_T (CF, TARGET, M2) \ ^ /home/gfunck/gupc-dev/src/gupc/libitm/barrier.cc:43:1: note: in expansion of macro ‘CREATE_DISPATCH_FUNCTIONS’ CREATE_DISPATCH_FUNCTIONS(GTM::abi_disp()->, ) ^ 0x10a2e723 split_complex_args /home/gfunck/gupc