Commit dd5e7837 by Uros Bizjak

re PR target/61586 (ICE on alpha in alpha_handle_trap_shadows, at config/alpha/alpha.c:8724)

	PR target/61586
	* config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.

testsuite/ChangeLog:

2014-06-26  Uros Bizjak  <ubizjak@gmail.com>

	PR target/61586
	* gcc.target/alpha/pr61586.c: New test.

From-SVN: r212053
parent efa77d22
2014-06-26 Uros Bizjak <ubizjak@gmail.com>
PR target/61586
* config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
2014-06-26 Jan Hubicka <hubicka@ucw.cz> 2014-06-26 Jan Hubicka <hubicka@ucw.cz>
* doc/invoke.texi (-fsemantic-interposition): Document. * doc/invoke.texi (-fsemantic-interposition): Document.
...@@ -36,8 +41,7 @@ ...@@ -36,8 +41,7 @@
* opts.c (default_options_optimization): Set * opts.c (default_options_optimization): Set
PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast. PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
* doc/invoke.texi (allow-load-data-races) * doc/invoke.texi (allow-load-data-races)
(allow-packed-load-data-races, allow-packed-store-data-races): (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
Removed.
(allow-store-data-races): Document the new default. (allow-store-data-races): Document the new default.
2014-06-26 Martin Jambor <mjambor@suse.cz> 2014-06-26 Martin Jambor <mjambor@suse.cz>
...@@ -59,59 +63,59 @@ ...@@ -59,59 +63,59 @@
2014-06-26 Bernd Schmidt <bernds@codesourcery.com> 2014-06-26 Bernd Schmidt <bernds@codesourcery.com>
* Makefile.in (COLLECT2_OBJS): Add collect-utils.o. * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
(LTO_WRAPPER_OBJS): New variable. (LTO_WRAPPER_OBJS): New variable.
(lto-wrapper$(exeext)): Use it. (lto-wrapper$(exeext)): Use it.
* collect2.c: Include "collect-utils.h". * collect2.c: Include "collect-utils.h".
(verbose, debug): Remove variables. (verbose, debug): Remove variables.
(at_file_supplied): No longer static. (at_file_supplied): No longer static.
(tool_name): New variable. (tool_name): New variable.
(do_wait, fork_execute, maybe_unlink): Don't declare. (do_wait, fork_execute, maybe_unlink): Don't declare.
(tool_cleanup): No longer static. (tool_cleanup): No longer static.
(notice): Remove function. (notice): Remove function.
(maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
fork_execute calls. fork_execute calls.
(collect_wait, do_wait, collect_execute): Remove functions. (collect_wait, do_wait, collect_execute): Remove functions.
(maybe_unlink): No longer static. (maybe_unlink): No longer static.
* collect2.h (verbose, debug): Don't declare. * collect2.h (verbose, debug): Don't declare.
(at_file_supplied): Declare. (at_file_supplied): Declare.
* collect-utils.c (utils_cleanup): New arg from_signal. All callers * collect-utils.c (utils_cleanup): New arg from_signal. All callers
changed. changed.
(collect_execute): Replace with implementation from collect2, plus a (collect_execute): Replace with implementation from collect2, plus a
new arg use_atfile. All callers changed. new arg use_atfile. All callers changed.
(collect_wait): Replace with implementation from collect2. (collect_wait): Replace with implementation from collect2.
(maybe_unlink_file): Remove function. (maybe_unlink_file): Remove function.
(fork_execute): Replace with implementation from collect2, plus a (fork_execute): Replace with implementation from collect2, plus a
new arg use_atfile. All callers changed. new arg use_atfile. All callers changed.
(do_wait): Add call to utils_cleanup to the error path. (do_wait): Add call to utils_cleanup to the error path.
* collect-utils.h (collect_execute, fork_execute, utils_cleanup) * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
(tool_cleanup): Adjust declarations. (tool_cleanup): Adjust declarations.
* lto-wrapper.c (tool_cleanup): Add unused bool argument. * lto-wrapper.c (tool_cleanup): Add unused bool argument.
* tlink.c: Include "collect-utils.h". * tlink.c: Include "collect-utils.h".
(tlink_execute): New arg use_atfile. All callers changed. (tlink_execute): New arg use_atfile. All callers changed.
(tlink_init, tlink_execute): Remove declarations. (tlink_init, tlink_execute): Remove declarations.
* collect-utils.c (save_temps): New variable. * collect-utils.c (save_temps): New variable.
(do_wait): Use it instead of debug. Use fatal_error. (do_wait): Use it instead of debug. Use fatal_error.
* collect-utils.h (save_temps): Declare. * collect-utils.h (save_temps): Declare.
* collect2.c (verbose): Rename from vflag. All uses changed. * collect2.c (verbose): Rename from vflag. All uses changed.
(tool_cleanup): New function, copied from collect_atexit. (tool_cleanup): New function, copied from collect_atexit.
(collect_atexit, handler): Just call it. (collect_atexit, handler): Just call it.
* collect2.h (verbose): Declaration renamed from vflag. * collect2.h (verbose): Declaration renamed from vflag.
* lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
debug. debug.
* Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o. * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
(lto-wrapper$(exeext)): Link with collect-utils.o. (lto-wrapper$(exeext)): Link with collect-utils.o.
* collect-utils.c: New file. * collect-utils.c: New file.
* collect-utils.h: New file. * collect-utils.h: New file.
* lto-wrapper.c: Include "collect-utils.h". * lto-wrapper.c: Include "collect-utils.h".
(args_name): Delete variable. (args_name): Delete variable.
(tool_name): New variable. (tool_name): New variable.
(tool_cleanup): New function. (tool_cleanup): New function.
(maybe_unlink): Renamed from maybe_unlink_file. All callers changed. (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
(lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait, (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
fork_execute): Remove functions. (fork_execute): Remove functions.
2014-06-26 Nick Clifton <nickc@redhat.com> 2014-06-26 Nick Clifton <nickc@redhat.com>
...@@ -139,12 +143,16 @@ ...@@ -139,12 +143,16 @@
2014-06-25 Jan Hubicka <hubicka@ucw.cz> 2014-06-25 Jan Hubicka <hubicka@ucw.cz>
* toplev.c (backend_init_target): Move init_emit_regs and init_regs to... * toplev.c (backend_init_target): Move init_emit_regs and
init_regs to...
(backend_init) ... here; skip ira_init_once and backend_init_target. (backend_init) ... here; skip ira_init_once and backend_init_target.
(target_reinit) ... and here; clear this_target_rtl->lang_dependent_initialized. (target_reinit) ... and here; clear
(lang_dependent_init_target): Clear this_target_rtl->lang_dependent_initialized; this_target_rtl->lang_dependent_initialized.
(lang_dependent_init_target): Clear
this_target_rtl->lang_dependent_initialized;
break out rtl initialization to ... break out rtl initialization to ...
(initialize_rtl): ... here; call also backend_init_target and ira_init_once. (initialize_rtl): ... here; call also backend_init_target
and ira_init_once.
* toplev.h (initialize_rtl): New function. * toplev.h (initialize_rtl): New function.
* function.c: Include toplev.h * function.c: Include toplev.h
(init_function_start): Call initialize_rtl. (init_function_start): Call initialize_rtl.
...@@ -241,7 +249,8 @@ ...@@ -241,7 +249,8 @@
(set_writeonly_bit): Likewise. (set_writeonly_bit): Likewise.
* lto-cgraph.c: Implementation of new symtab_node member functions * lto-cgraph.c: Implementation of new symtab_node member functions
that uses new IPA REF functions. that uses new IPA REF functions.
* lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF function used. * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF
function used.
* lto-streamer-out.c (output_symbol_p): Likewise. * lto-streamer-out.c (output_symbol_p): Likewise.
* lto-streamer.h (referenced_from_this_partition_p): Argument type * lto-streamer.h (referenced_from_this_partition_p): Argument type
changed. changed.
...@@ -447,9 +456,9 @@ ...@@ -447,9 +456,9 @@
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-ssa-uncprop.c, tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c, tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c, tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
vtable-verify.c, vtable-verify.h: Adjust. vtable-verify.c, vtable-verify.h: Adjust.
2014-06-24 Richard Biener <rguenther@suse.de> 2014-06-24 Richard Biener <rguenther@suse.de>
...@@ -503,8 +512,8 @@ vtable-verify.c, vtable-verify.h: Adjust. ...@@ -503,8 +512,8 @@ vtable-verify.c, vtable-verify.h: Adjust.
* varpool.c (dump_varpool_node): Dump used_by_single_function. * varpool.c (dump_varpool_node): Dump used_by_single_function.
* tree-pass.h (make_pass_ipa_single_use): New pass. * tree-pass.h (make_pass_ipa_single_use): New pass.
* cgraph.h (used_by_single_function): New flag. * cgraph.h (used_by_single_function): New flag.
* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
it. Stream it.
* passes.def (pass_ipa_single_use): Scedule. * passes.def (pass_ipa_single_use): Scedule.
* ipa.c (BOTTOM): New macro. * ipa.c (BOTTOM): New macro.
(meet): New function (meet): New function
...@@ -518,10 +527,8 @@ vtable-verify.c, vtable-verify.h: Adjust. ...@@ -518,10 +527,8 @@ vtable-verify.c, vtable-verify.h: Adjust.
2014-06-23 Kai Tietz <ktietz@redhat.com> 2014-06-23 Kai Tietz <ktietz@redhat.com>
PR target/39284 PR target/39284
* passes.def (peephole2): Move peephole2 pass before * passes.def (peephole2): Move peephole2 pass before sched2 pass.
before sched2 pass. * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
* config/i386/i386.md (peehole2): Combine memories
and indirect jumps.
2014-06-23 Richard Biener <rguenther@suse.de> 2014-06-23 Richard Biener <rguenther@suse.de>
...@@ -628,8 +635,8 @@ vtable-verify.c, vtable-verify.h: Adjust. ...@@ -628,8 +635,8 @@ vtable-verify.c, vtable-verify.h: Adjust.
variant but not df. variant but not df.
(vreinterpretv1df*, vreinterpret*v1df): New. (vreinterpretv1df*, vreinterpret*v1df): New.
(vreinterpretdf*, vreinterpret*df): Remove. (vreinterpretdf*, vreinterpret*df): Remove.
* config/aarch64/aarch64-simd.md (aarch64_create, aarch64_reinterpret*): * config/aarch64/aarch64-simd.md (aarch64_create,
Generate V1DFmode pattern not DFmode. aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
* config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF. * config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
(VD1): New. (VD1): New.
* config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions. * config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
...@@ -660,8 +667,8 @@ vtable-verify.c, vtable-verify.h: Adjust. ...@@ -660,8 +667,8 @@ vtable-verify.c, vtable-verify.h: Adjust.
2014-06-23 Jan Hubicka <hubicka@ucw.cz> 2014-06-23 Jan Hubicka <hubicka@ucw.cz>
* lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
directly. priority directly.
2014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org> 2014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
...@@ -1044,7 +1051,7 @@ vtable-verify.c, vtable-verify.h: Adjust. ...@@ -1044,7 +1051,7 @@ vtable-verify.c, vtable-verify.h: Adjust.
expand variant and aarch64_emit_call_insn. expand variant and aarch64_emit_call_insn.
2014-06-18 Radovan Obradovic <robradovic@mips.com> 2014-06-18 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com> Tom de Vries <tom@codesourcery.com>
* config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter. * config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
* config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): * config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
......
...@@ -8717,6 +8717,11 @@ alpha_handle_trap_shadows (void) ...@@ -8717,6 +8717,11 @@ alpha_handle_trap_shadows (void)
} }
break; break;
case BARRIER:
/* __builtin_unreachable can expand to no code at all,
leaving (barrier) RTXes in the instruction stream. */
goto close_shadow_notrapb;
case JUMP_INSN: case JUMP_INSN:
case CALL_INSN: case CALL_INSN:
case CODE_LABEL: case CODE_LABEL:
...@@ -8732,6 +8737,7 @@ alpha_handle_trap_shadows (void) ...@@ -8732,6 +8737,7 @@ alpha_handle_trap_shadows (void)
n = emit_insn_before (gen_trapb (), i); n = emit_insn_before (gen_trapb (), i);
PUT_MODE (n, TImode); PUT_MODE (n, TImode);
PUT_MODE (i, TImode); PUT_MODE (i, TImode);
close_shadow_notrapb:
trap_pending = 0; trap_pending = 0;
shadow.used.i = 0; shadow.used.i = 0;
shadow.used.fp = 0; shadow.used.fp = 0;
......
2014-06-26 Uros Bizjak <ubizjak@gmail.com>
PR target/61586
* gcc.target/alpha/pr61586.c: New test.
2014-06-26 Paolo Carlini <paolo.carlini@oracle.com> 2014-06-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57573 PR c++/57573
...@@ -252,7 +257,7 @@ ...@@ -252,7 +257,7 @@
* gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Likewise. * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Likewise.
* gcc.dg/vect/pr26359.c: Likewise. * gcc.dg/vect/pr26359.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Likewise. * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Likewise.
2014-06-23 Marek Polacek <polacek@redhat.com> 2014-06-23 Marek Polacek <polacek@redhat.com>
* c-c++-common/pr49706-2.c: New test. * c-c++-common/pr49706-2.c: New test.
...@@ -316,10 +321,11 @@ ...@@ -316,10 +321,11 @@
* gcc.target/aarch64/aapcs/test_64x1_1.c: New test. * gcc.target/aarch64/aapcs/test_64x1_1.c: New test.
* gcc.target/aarch64/aapcs/func-ret-64x1_1.c: New test. * gcc.target/aarch64/aapcs/func-ret-64x1_1.c: New test.
* gcc.target/aarch64/simd/ext_f64_1.c (main): Compare vector elements. * gcc.target/aarch64/simd/ext_f64_1.c (main): Compare vector elements.
* gcc.target/aarch64/vadd_f64.c: Rewrite with macro to use vector types. * gcc.target/aarch64/vadd_f64.c: Rewrite with macro to use
vector types.
* gcc.target/aarch64/vsub_f64.c: Likewise. * gcc.target/aarch64/vsub_f64.c: Likewise.
* gcc.target/aarch64/vdiv_f.c (INDEX*, RUN_TEST): Remove indexing scheme * gcc.target/aarch64/vdiv_f.c (INDEX*, RUN_TEST): Remove indexing
as now the same for all variants. scheme as now the same for all variants.
* gcc.target/aarch64/vrnd_f64_1.c (compare_f64): Return float64_t not * gcc.target/aarch64/vrnd_f64_1.c (compare_f64): Return float64_t not
float64x1_t. float64x1_t.
...@@ -375,7 +381,7 @@ ...@@ -375,7 +381,7 @@
2014-06-20 Martin Jambor <mjambor@suse.cz> 2014-06-20 Martin Jambor <mjambor@suse.cz>
PR ipa/61540 PR ipa/61540
* g++.dg/ipa/pr61540.C: New test. * g++.dg/ipa/pr61540.C: New test.
2014-06-20 Yury Gribov <y.gribov@samsung.com> 2014-06-20 Yury Gribov <y.gribov@samsung.com>
Max Ostapenko <m.ostapenko@partner.samsung.com> Max Ostapenko <m.ostapenko@partner.samsung.com>
......
/* { dg-do compile } */
/* { dg-options "-O2 -mieee" } */
void foo (int *dimensions, double **params, int hh)
{
if (params[hh])
;
else if (dimensions[hh] > 0)
params[hh][0] = 1.0f;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment