aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2014-06-26 22:23:34 +0200
committerUros Bizjak <uros@gcc.gnu.org>2014-06-26 22:23:34 +0200
commitdd5e783701bbab8fd871ef8befbb9557ca205086 (patch)
treeb485c15d867f6ded916f83dc09ce206ed5acf7d1 /gcc
parentefa77d22f915b88ac9895fe34512b9d6e4064032 (diff)
downloadgcc-dd5e783701bbab8fd871ef8befbb9557ca205086.zip
gcc-dd5e783701bbab8fd871ef8befbb9557ca205086.tar.gz
gcc-dd5e783701bbab8fd871ef8befbb9557ca205086.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog155
-rw-r--r--gcc/config/alpha/alpha.c6
-rw-r--r--gcc/testsuite/ChangeLog16
-rw-r--r--gcc/testsuite/gcc.target/alpha/pr61586.c10
4 files changed, 108 insertions, 79 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2fecad4..13eb7f3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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>
* doc/invoke.texi (-fsemantic-interposition): Document.
@@ -36,8 +41,7 @@
* opts.c (default_options_optimization): Set
PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
* doc/invoke.texi (allow-load-data-races)
- (allow-packed-load-data-races, allow-packed-store-data-races):
- Removed.
+ (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
(allow-store-data-races): Document the new default.
2014-06-26 Martin Jambor <mjambor@suse.cz>
@@ -59,59 +63,59 @@
2014-06-26 Bernd Schmidt <bernds@codesourcery.com>
- * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
- (LTO_WRAPPER_OBJS): New variable.
- (lto-wrapper$(exeext)): Use it.
- * collect2.c: Include "collect-utils.h".
- (verbose, debug): Remove variables.
- (at_file_supplied): No longer static.
- (tool_name): New variable.
- (do_wait, fork_execute, maybe_unlink): Don't declare.
- (tool_cleanup): No longer static.
- (notice): Remove function.
- (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
- fork_execute calls.
- (collect_wait, do_wait, collect_execute): Remove functions.
- (maybe_unlink): No longer static.
- * collect2.h (verbose, debug): Don't declare.
- (at_file_supplied): Declare.
- * collect-utils.c (utils_cleanup): New arg from_signal. All callers
- changed.
- (collect_execute): Replace with implementation from collect2, plus a
- new arg use_atfile. All callers changed.
- (collect_wait): Replace with implementation from collect2.
- (maybe_unlink_file): Remove function.
- (fork_execute): Replace with implementation from collect2, plus a
- new arg use_atfile. All callers changed.
- (do_wait): Add call to utils_cleanup to the error path.
- * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
- (tool_cleanup): Adjust declarations.
- * lto-wrapper.c (tool_cleanup): Add unused bool argument.
- * tlink.c: Include "collect-utils.h".
- (tlink_execute): New arg use_atfile. All callers changed.
- (tlink_init, tlink_execute): Remove declarations.
-
- * collect-utils.c (save_temps): New variable.
- (do_wait): Use it instead of debug. Use fatal_error.
- * collect-utils.h (save_temps): Declare.
- * collect2.c (verbose): Rename from vflag. All uses changed.
- (tool_cleanup): New function, copied from collect_atexit.
- (collect_atexit, handler): Just call it.
- * collect2.h (verbose): Declaration renamed from vflag.
- * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
- debug.
-
- * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
- (lto-wrapper$(exeext)): Link with collect-utils.o.
- * collect-utils.c: New file.
- * collect-utils.h: New file.
- * lto-wrapper.c: Include "collect-utils.h".
- (args_name): Delete variable.
- (tool_name): New variable.
- (tool_cleanup): New function.
- (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
- (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait,
- fork_execute): Remove functions.
+ * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
+ (LTO_WRAPPER_OBJS): New variable.
+ (lto-wrapper$(exeext)): Use it.
+ * collect2.c: Include "collect-utils.h".
+ (verbose, debug): Remove variables.
+ (at_file_supplied): No longer static.
+ (tool_name): New variable.
+ (do_wait, fork_execute, maybe_unlink): Don't declare.
+ (tool_cleanup): No longer static.
+ (notice): Remove function.
+ (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
+ fork_execute calls.
+ (collect_wait, do_wait, collect_execute): Remove functions.
+ (maybe_unlink): No longer static.
+ * collect2.h (verbose, debug): Don't declare.
+ (at_file_supplied): Declare.
+ * collect-utils.c (utils_cleanup): New arg from_signal. All callers
+ changed.
+ (collect_execute): Replace with implementation from collect2, plus a
+ new arg use_atfile. All callers changed.
+ (collect_wait): Replace with implementation from collect2.
+ (maybe_unlink_file): Remove function.
+ (fork_execute): Replace with implementation from collect2, plus a
+ new arg use_atfile. All callers changed.
+ (do_wait): Add call to utils_cleanup to the error path.
+ * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
+ (tool_cleanup): Adjust declarations.
+ * lto-wrapper.c (tool_cleanup): Add unused bool argument.
+ * tlink.c: Include "collect-utils.h".
+ (tlink_execute): New arg use_atfile. All callers changed.
+ (tlink_init, tlink_execute): Remove declarations.
+
+ * collect-utils.c (save_temps): New variable.
+ (do_wait): Use it instead of debug. Use fatal_error.
+ * collect-utils.h (save_temps): Declare.
+ * collect2.c (verbose): Rename from vflag. All uses changed.
+ (tool_cleanup): New function, copied from collect_atexit.
+ (collect_atexit, handler): Just call it.
+ * collect2.h (verbose): Declaration renamed from vflag.
+ * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
+ debug.
+
+ * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
+ (lto-wrapper$(exeext)): Link with collect-utils.o.
+ * collect-utils.c: New file.
+ * collect-utils.h: New file.
+ * lto-wrapper.c: Include "collect-utils.h".
+ (args_name): Delete variable.
+ (tool_name): New variable.
+ (tool_cleanup): New function.
+ (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
+ (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
+ (fork_execute): Remove functions.
2014-06-26 Nick Clifton <nickc@redhat.com>
@@ -139,12 +143,16 @@
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.
- (target_reinit) ... and here; clear this_target_rtl->lang_dependent_initialized.
- (lang_dependent_init_target): Clear this_target_rtl->lang_dependent_initialized;
+ (target_reinit) ... and here; clear
+ this_target_rtl->lang_dependent_initialized.
+ (lang_dependent_init_target): Clear
+ this_target_rtl->lang_dependent_initialized;
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.
* function.c: Include toplev.h
(init_function_start): Call initialize_rtl.
@@ -241,7 +249,8 @@
(set_writeonly_bit): Likewise.
* lto-cgraph.c: Implementation of new symtab_node member 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.h (referenced_from_this_partition_p): Argument type
changed.
@@ -447,9 +456,9 @@
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
-tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
-tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
-vtable-verify.c, vtable-verify.h: Adjust.
+ tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
+ tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
+ vtable-verify.c, vtable-verify.h: Adjust.
2014-06-24 Richard Biener <rguenther@suse.de>
@@ -503,8 +512,8 @@ vtable-verify.c, vtable-verify.h: Adjust.
* varpool.c (dump_varpool_node): Dump used_by_single_function.
* tree-pass.h (make_pass_ipa_single_use): New pass.
* cgraph.h (used_by_single_function): New flag.
- * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
- it.
+ * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
+ Stream it.
* passes.def (pass_ipa_single_use): Scedule.
* ipa.c (BOTTOM): New macro.
(meet): New function
@@ -518,10 +527,8 @@ vtable-verify.c, vtable-verify.h: Adjust.
2014-06-23 Kai Tietz <ktietz@redhat.com>
PR target/39284
- * passes.def (peephole2): Move peephole2 pass before
- before sched2 pass.
- * config/i386/i386.md (peehole2): Combine memories
- and indirect jumps.
+ * passes.def (peephole2): Move peephole2 pass before sched2 pass.
+ * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
2014-06-23 Richard Biener <rguenther@suse.de>
@@ -628,8 +635,8 @@ vtable-verify.c, vtable-verify.h: Adjust.
variant but not df.
(vreinterpretv1df*, vreinterpret*v1df): New.
(vreinterpretdf*, vreinterpret*df): Remove.
- * config/aarch64/aarch64-simd.md (aarch64_create, aarch64_reinterpret*):
- Generate V1DFmode pattern not DFmode.
+ * config/aarch64/aarch64-simd.md (aarch64_create,
+ aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
* config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
(VD1): New.
* config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
@@ -660,8 +667,8 @@ vtable-verify.c, vtable-verify.h: Adjust.
2014-06-23 Jan Hubicka <hubicka@ucw.cz>
- * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority
- directly.
+ * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
+ priority directly.
2014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
@@ -1044,7 +1051,7 @@ vtable-verify.c, vtable-verify.h: Adjust.
expand variant and aarch64_emit_call_insn.
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.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index b06a5aa..50b7320 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -8717,6 +8717,11 @@ alpha_handle_trap_shadows (void)
}
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 CALL_INSN:
case CODE_LABEL:
@@ -8732,6 +8737,7 @@ alpha_handle_trap_shadows (void)
n = emit_insn_before (gen_trapb (), i);
PUT_MODE (n, TImode);
PUT_MODE (i, TImode);
+ close_shadow_notrapb:
trap_pending = 0;
shadow.used.i = 0;
shadow.used.fp = 0;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8c00352..9decbd9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+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>
PR c++/57573
@@ -252,7 +257,7 @@
* gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Likewise.
* gcc.dg/vect/pr26359.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Likewise.
-
+
2014-06-23 Marek Polacek <polacek@redhat.com>
* c-c++-common/pr49706-2.c: New test.
@@ -316,10 +321,11 @@
* gcc.target/aarch64/aapcs/test_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/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/vdiv_f.c (INDEX*, RUN_TEST): Remove indexing scheme
- as now the same for all variants.
+ * gcc.target/aarch64/vdiv_f.c (INDEX*, RUN_TEST): Remove indexing
+ scheme as now the same for all variants.
* gcc.target/aarch64/vrnd_f64_1.c (compare_f64): Return float64_t not
float64x1_t.
@@ -375,7 +381,7 @@
2014-06-20 Martin Jambor <mjambor@suse.cz>
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>
Max Ostapenko <m.ostapenko@partner.samsung.com>
diff --git a/gcc/testsuite/gcc.target/alpha/pr61586.c b/gcc/testsuite/gcc.target/alpha/pr61586.c
new file mode 100644
index 0000000..afb1af3
--- /dev/null
+++ b/gcc/testsuite/gcc.target/alpha/pr61586.c
@@ -0,0 +1,10 @@
+/* { 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;
+}