Rainer Orth [Wed, 26 Nov 2014 13:25:46 +0000 (13:25 +0000)]
ChangeLog for last commit.
From-SVN: r218082
Jonathan Wakely [Wed, 26 Nov 2014 13:22:27 +0000 (13:22 +0000)]
XFAIL 27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc on Solaris (PR libstd++/64054)
PR libstdc++/64054
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
XFAIL execution on *-*-solaris*.
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r218081
Rainer Orth [Wed, 26 Nov 2014 13:22:16 +0000 (13:22 +0000)]
Skip gcc.target/i386/mcount_pic.c on Solaris
From-SVN: r218080
Mark Wielaard [Wed, 26 Nov 2014 11:05:20 +0000 (11:05 +0000)]
PR debug/38757 continued. Handle C11, C++11 and C++14.
Add experimental (minimal) DWARFv5 support.
This change depends on the new DWARFv5 constants mentioned in the
following draft: http://dwarfstd.org/doc/dwarf5.
20141029.pdf
gcc/ChangeLog
* doc/invoke.texi (-gdwarf-@{version}): Mention experimental DWARFv5.
* opts.c (common_handle_option): Accept -gdwarf-5.
* dwarf2out.c (is_cxx): Add DW_LANG_C_plus_plus_11 and
DW_LANG_C_plus_plus_14.
(lower_bound_default): Likewise. Plus DW_LANG_C11.
(gen_compile_unit_die): Output DW_LANG_C_plus_plus_11,
DW_LANG_C_plus_plus_14 or DW_LANG_C11.
(output_compilation_unit_header): Output at most a DWARFv4 header.
(output_skeleton_debug_sections): Likewise.
(output_line_info): Likewise.
(output_aranges): Document header version number.
gcc/testsuite/ChangeLog
* gcc.dg/debug/dwarf2/lang-c11.c: New test.
* gcc.dg/debug/dwarf2/lang-c11-d4-strict.c: Likewise.
* g++.dg/debug/dwarf2/lang-cpp11.C: Likewise.
* g++.dg/debug/dwarf2/lang-cpp14.C: Likewise.
* g++.dg/debug/dwarf2/lang-cpp98.C: Likewise.
include/ChangeLog
* dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
DW_LANG_C_plus_plus_14.
From-SVN: r218077
Richard Biener [Wed, 26 Nov 2014 10:15:25 +0000 (10:15 +0000)]
gimple-fold.c (get_symbol_constant_value): Allow all GIMPLE register type zero-constants.
2014-11-26 Richard Biener <rguenther@suse.de>
* gimple-fold.c (get_symbol_constant_value): Allow all
GIMPLE register type zero-constants.
From-SVN: r218076
Mark Wielaard [Wed, 26 Nov 2014 10:10:27 +0000 (10:10 +0000)]
DWARF add DW_AT_noreturn on noreturn function subprogram.
This implements the DWARFv5 noreturn proposal:
http://dwarfstd.org/ShowIssue.php?issue=140331.1
TREE_THIS_VOLATILE on a FUNCTION_DECL node means the function does not
return normally. This catches the traditional noreturn GNU attribute,
the C11 _Noreturn keyword and the C++11 [[noreturn]] attribute.
This relies on the DW_AT_noreturn constant defined in the DWARFv5 DRAFT:
http://www.dwarfstd.org/doc/dwarf5.
20141029.pdf
gcc/ChangeLog
* dwarf2out.c (gen_subprogram_die): Add DW_AT_noreturn when the
function decl has TREE_THIS_VOLATILE.
gcc/testsuite/ChangeLog
* g++.dg/debug/dwarf2/noreturn-function.C: New test.
* gcc.dg/debug/dwarf2/noreturn-function-attribute.c: Likewise.
* gcc.dg/debug/dwarf2/noreturn-function-keyword.c: Likewise.
include/ChangeLog
* dwarf2.def (DW_AT_noreturn): New DWARF5 attribute.
From-SVN: r218075
Richard Biener [Wed, 26 Nov 2014 09:43:39 +0000 (09:43 +0000)]
re PR tree-optimization/62238 (ICE with LTO on valid code on x86_64-linux-gnu in verify_ssa (in 64-bit mode))
2014-11-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/62238
* tree-predcom.c (ref_at_iteration): Unshare the expression
before gimplifying it.
(prepare_initializers_chain): Discard unused seq.
* gcc.dg/torture/pr62238.c: New testcase.
From-SVN: r218074
Andrew Pinski [Wed, 26 Nov 2014 08:42:18 +0000 (08:42 +0000)]
20141125-1.c: New testcase.
2014-11-25 Andrew Pinski <apinski@cavium.com>
* gcc.c-torture/execute/
20141125-1.c: New testcase.
From-SVN: r218073
Prachi Godbole [Wed, 26 Nov 2014 03:52:23 +0000 (03:52 +0000)]
mips.c (mips_rtx_cost_data): Fix memory_latency cost for p5600.
* config/mips/mips.c (mips_rtx_cost_data): Fix memory_latency cost
for p5600.
From-SVN: r218072
GCC Administrator [Wed, 26 Nov 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218071
Tobias Burnus [Tue, 25 Nov 2014 22:37:54 +0000 (23:37 +0100)]
error.c (gfc_internal_error): Convert to common diagnostics.
2014-11-25 Tobias Burnus <burnus@net-b.de>
* error.c (gfc_internal_error): Convert to common diagnostics.
* interface.c (gfc_find_sym_in_symtree): Use %qs.
* intrinsic.c (make_generic, gfc_check_intrinsic_standard,
gfc_convert_type_warn): Ditto.
* module.c (write_symbol): Ditto.
* symbol.c (gfc_get_default_type): Ditto; use fatal instead
of internal error.
* trans-array.c (gfc_walk_subexpr): Replace internal_error by
gfc_internal_error.
* trans-decl.c (gfc_get_symbol_decl,
(gfc_create_module_variable): Ditto. Use %qs.
* trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Ditto.
* trans-io.c (transfer_expr): Ditto.
* trans-openmp.c (gfc_trans_omp_workshare): Ditto.
* trans.c (trans_code): Ditto.
From-SVN: r218068
Tobias Burnus [Tue, 25 Nov 2014 22:33:32 +0000 (23:33 +0100)]
gfortran.h (gfc_option_t): Remove flags moved as Var to .opt.
2014-11-25 Tobias Burnus <burnus@net-b.de>
gcc/fortran/
* gfortran.h (gfc_option_t): Remove flags moved as Var to .opt.
(gfc_error_now_1): Renamed from gfc_error_now.
(gfc_error_now): Renamed from gfc_error_now_2.
(gfc_warning_now_1): Renamed from gfc_warning_now.
(gfc_warning_now): Renamed from gfc_warning_now_2.
* error.c (gfc_error_now_1): Renamed from gfc_error_now.
(gfc_error_now): Renamed from gfc_error_now_2.
(gfc_warning_now_1): Renamed from gfc_warning_now.
(gfc_warning_now): Renamed from gfc_warning_now_2.
(gfc_get_errors): Include common diagnostic in count.
* lang.opt (Wc-binding-type, Wconversion, Wconversion-extra,
Wintrinsics-std): Create a Var for those warnings.
* check.c (gfc_check_cmplx): Pass warning flag to
diagnostic function.
* decl.c (get_proc_name, gfc_verify_c_interop_param, build_sym
gfc_set_constant_character_len, verify_bind_c_sym): Ditto; use
_1 for old diagnostic, remove _2 for new diagnostic.
* expr.c (gfc_check_assign, gfc_check_vardef_context): Ditto.
* frontend-passes.c (doloop_code, do_function): Ditto.
* intrinsic.c (gfc_is_intrinsic, gfc_convert_type_warn): Ditto.
* match.c (gfc_match_common): Ditto.
* module.c (use_iso_fortran_env_module, gfc_use_module): Ditto.
* parse.c (decode_statement, decode_gcc_attribute, next_free,
next_fixed, gfc_check_do_variable): Ditto.
* resolve.c (resolve_common_vars, resolve_ordinary_assign):
Ditto.
* scanner.c (add_path_to_list, skip_free_comments,
gfc_next_char_literal, gfc_gobble_whitespace, load_line,
preprocessor_line, load_file): Ditto.
* symbol.c (gfc_set_default_type, verify_bind_c_derived_type):
Ditto.
* options.c (gfc_post_options): Ditto.
(gfc_init_options, set_Wall, gfc_handle_option): Ditto; remove
flags which now have a Var.
* invoke.texi (Wconversion-extra): Make clear that the flag
does not imply -Wconversion.
gcc/testsuite/
* gfortran.dg/empty_label.f: Change test to continue testing
for -fmax-errors=1.
* gfortran.dg/empty_label.f90: Ditto.
* gfortran.dg/warnings_are_errors_1.f90: Update dg-*.
From-SVN: r218067
Andreas Tobler [Tue, 25 Nov 2014 22:30:58 +0000 (23:30 +0100)]
enum6.C: Use arm_eabi for dg-options.
2014-11-26 Andreas Tobler <andreast@gcc.gnu.org>
* g++.old-deja/g++.jason/enum6.C: Use arm_eabi for dg-options.
Update comment.
* g++.old-deja/g++.law/enum9.C: Likewise.
* g++.old-deja/g++.other/enum4.C: Likewise.
From-SVN: r218065
Vladimir Makarov [Tue, 25 Nov 2014 21:27:17 +0000 (21:27 +0000)]
ira-lives.c (process_bb_node_lives): Make code with conditional REAL_PIC_OFFSET_TABLE_REGNUM.
2014-11-25 Vladimir Makarov <vmakarov@redhat.com>
* ira-lives.c (process_bb_node_lives): Make code with conditional
REAL_PIC_OFFSET_TABLE_REGNUM.
From-SVN: r218063
H.J. Lu [Tue, 25 Nov 2014 21:07:43 +0000 (21:07 +0000)]
Add a testcase for PR target/63534
PR target/63534
* gcc.target/i386/pr63534.c: New test.
From-SVN: r218062
H.J. Lu [Tue, 25 Nov 2014 20:54:16 +0000 (20:54 +0000)]
Add a test for PR target/63527
PR target/63527
* gcc.target/i386/pr63527.c: New test.
From-SVN: r218061
Tom de Vries [Tue, 25 Nov 2014 20:30:20 +0000 (20:30 +0000)]
Ensure single 'UNSUPPORTED: prettyprinters.exp' message
2014-11-25 Tom de Vries <tom@codesourcery.com>
* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Add missing
dg-finish. Only print unsupported message once.
From-SVN: r218060
Vladimir Makarov [Tue, 25 Nov 2014 20:20:10 +0000 (20:20 +0000)]
re PR target/63527 (-fPIC uses 2 registers for GOT)
2014-11-25 Vladimir Makarov <vmakarov@redhat.com>
PR target/63527
* ira-lives.c (process_bb_node_lives): Check and remove conflict
of pic pseudo with pic hard reg.
From-SVN: r218059
Rohit Arul Raj [Tue, 25 Nov 2014 19:01:08 +0000 (19:01 +0000)]
re PR bootstrap/63703 (Bootstrap broken on powerpc-apple-darwin, cc1: internal compiler error: in init_reg_sets)
PR bootstrap/63703
* config/rs6000/darwin.h (REGISTER_NAMES): Update based on 32 newly
added GCC hard register numbers for SPE high registers.
From-SVN: r218058
Uros Bizjak [Tue, 25 Nov 2014 18:29:42 +0000 (19:29 +0100)]
env.c (getenv): Remove unused variable res_len.
* intrinsics/env.c (getenv): Remove unused variable res_len.
From-SVN: r218057
Segher Boessenkool [Tue, 25 Nov 2014 17:52:21 +0000 (18:52 +0100)]
bt-load.c (migrate_btr_defs): Get the key of a heap entry before removing it, not after.
* bt-load.c (migrate_btr_defs): Get the key of a heap entry
before removing it, not after.
From-SVN: r218056
Segher Boessenkool [Tue, 25 Nov 2014 17:50:29 +0000 (18:50 +0100)]
crtstuff.c (__do_glbal_ctors_1): Add missing semicolon.
libgcc/
* crtstuff.c (__do_glbal_ctors_1): Add missing semicolon.
From-SVN: r218055
Segher Boessenkool [Tue, 25 Nov 2014 17:47:35 +0000 (18:47 +0100)]
mn10300.c (mn10300_insert_setlb_lcc): Remove PATTERN call.
* config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Remove
PATTERN call.
From-SVN: r218054
Segher Boessenkool [Tue, 25 Nov 2014 17:43:18 +0000 (18:43 +0100)]
sysv4.h (ASM_OUTPUT_REG_POP): Use addi instead of addic.
* config/rs6000/sysv4.h (ASM_OUTPUT_REG_POP): Use addi instead
of addic.
From-SVN: r218053
Segher Boessenkool [Tue, 25 Nov 2014 17:41:10 +0000 (18:41 +0100)]
rs6000.md (iorxor, IORXOR): Delete code_attrs.
* config/rs6000/rs6000.md (iorxor, IORXOR): Delete code_attrs.
(rest of file): Replace those with code resp. CODE.
From-SVN: r218052
Tom de Vries [Tue, 25 Nov 2014 17:10:00 +0000 (17:10 +0000)]
Add verify_sese
2014-11-25 Tom de Vries <tom@codesourcery.com>
* tree-cfg.c (verify_sese): New function.
(move_sese_region_to_fn): Call verify_sese.
* tree-cfg.h (verify_sese): Declare.
From-SVN: r218051
Tom de Vries [Tue, 25 Nov 2014 16:45:13 +0000 (16:45 +0000)]
Use .mklog name and email settings, or git settings
2014-11-25 Tom de Vries <tom@codesourcery.com>
Peter Bergner <bergner@vnet.ibm.com>
* mklog: Handle .mklog. Use git setting independent of presence .git
directory.
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
From-SVN: r218050
Richard Biener [Tue, 25 Nov 2014 16:43:24 +0000 (16:43 +0000)]
re PR middle-end/64065 (CP2K miscompilation at -O3 -flto)
2014-11-25 Richard Biener <rguenther@suse.de>
PR lto/64065
* lto-streamer-out.c (output_struct_function_base): Stream
last_clique field.
* lto-streamer-in.c (input_struct_function_base): Likewise.
From-SVN: r218049
Martin Liska [Tue, 25 Nov 2014 15:16:27 +0000 (16:16 +0100)]
re PR bootstrap/64050 (r218009 causes LTO/PGO bootstrap failure: ICE: in inline_small_functions, at ipa-inline.c:1709)
2014-11-25 Martin Liska <mliska@suse.cz>
PR bootstrap/64050
PR ipa/64060
* sreal.c (sreal::operator+): Addition fixed.
(sreal::signedless_plus): Negative numbers are
handled correctly.
(sreal::operator-): Subtraction is fixed.
(sreal::signedless_minus): Negative numbers are
handled correctly.
* sreal.h (sreal::operator<): Equal negative numbers
are compared correctly.
(sreal::shift): New checking asserts are introduced.
Operation is fixed.
* gcc.dg/plugin/plugin.exp: New plugin.
* gcc.dg/plugin/sreal-test-1.c: New test.
* gcc.dg/plugin/sreal_plugin.c: New test.
From-SVN: r218048
Matthew Fortune [Tue, 25 Nov 2014 14:57:33 +0000 (14:57 +0000)]
MIPS: Testsuite fixes for soft-float configurations
gcc/testuite/
* gcc.target/mips/mips.exp: Add support for -msoft-float
and -mhard-float options. Ensure that explicit -mfp*
options imply both -mhard-float and -mdouble-float.
* gcc.target/mips/call-clobbered-1.c: Add -mhard-float to the
compile options.
From-SVN: r218047
Richard Biener [Tue, 25 Nov 2014 14:55:29 +0000 (14:55 +0000)]
re PR middle-end/61927 (Wrong results with loop vectorization of: "var[i] = ABS_EXPR<var2[i]> > 9.9e-7")
2014-11-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/61927
* tree-vect-loop.c (vect_analyze_loop_2): Revert ordering
of group and pattern analysis to the one in GCC 4.8.
From-SVN: r218046
Jason Merrill [Tue, 25 Nov 2014 14:34:43 +0000 (09:34 -0500)]
* pt.c (lookup_template_variable): Always unknown_type_node.
From-SVN: r218045
Ilya Tocar [Tue, 25 Nov 2014 13:56:03 +0000 (13:56 +0000)]
Remove unnecessary calls to strchr.
gcc/
* gcc.c (handle_foffload_option): Remove unnecessary calls to strchr,
strlen, strncpy.
* lto-wrapper.c (append_offload_options): Likewise.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r218044
Paolo Carlini [Tue, 25 Nov 2014 13:48:49 +0000 (13:48 +0000)]
re PR c++/63786 (crash on argument pack in switch case)
/cp
2014-11-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63786
* parser.c (cp_parser_label_for_labeled_statement): Check the case
with check_for_bare_parameter_packs.
/testsuite
2014-11-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63786
* g++.dg/cpp0x/variadic163.C: New.
From-SVN: r218043
Jakub Jelinek [Tue, 25 Nov 2014 11:16:27 +0000 (12:16 +0100)]
re PR preprocessor/60436 (C preprocessor segfaults on assembly file)
PR preprocessor/60436
* line-map.c (linemap_line_start): If highest is above 0x60000000
and we are still tracking columns or highest is above 0x70000000,
force add_map.
From-SVN: r218042
Ilya Enkovich [Tue, 25 Nov 2014 09:48:47 +0000 (09:48 +0000)]
re PR target/64056 (gcc.target/i386/chkp-strlen-4.c etc. FAIL)
PR target/64056
* gcc.target/i386/chkp-strlen-4.c: Add mempcpy target check.
* gcc.target/i386/chkp-stropt-4.c: Likewise.
* gcc.target/i386/chkp-stropt-8.c: Likewise.
* gcc.target/i386/chkp-stropt-12.c: Likewise.
* gcc.target/i386/chkp-stropt-16.c: Likewise.
From-SVN: r218041
Eric Botcazou [Tue, 25 Nov 2014 09:07:25 +0000 (09:07 +0000)]
rs6000.c (rs6000_call_aix): For the AIX ABI, do not load the static chain if the call was originally direct.
* config/rs6000/rs6000.c (rs6000_call_aix): For the AIX ABI, do not
load the static chain if the call was originally direct.
From-SVN: r218040
Marek Polacek [Tue, 25 Nov 2014 08:28:45 +0000 (08:28 +0000)]
re PR c/63877 (- -Wmissing-declarations produces false alarms for C99 inline functions)
PR c/63877
* c-decl.c (start_function): Disable -Wmissing-declarations warning
for inline functions.
* gcc.dg/pr63877.c: New test.
From-SVN: r218039
Markus Trippelsdorf [Tue, 25 Nov 2014 07:41:48 +0000 (07:41 +0000)]
re PR ipa/64059 (ICE: Segmentation fault in ipa-polymorphic-call.c:1593)
Fix PR64059
* ipa-prop.c (ipa_analyze_call_uses): Don't call get_dynamic_type when
devirtualization is disabled.
From-SVN: r218038
Tim Shen [Tue, 25 Nov 2014 05:43:04 +0000 (05:43 +0000)]
re PR libstdc++/63920 (Any regular expression should not match an empty sequence if match_not_null is specified)
PR libstdc++/63920
* include/bits/regex_executor.h: Make _M_begin non const.
* include/bits/regex_executor.tcc (_Executor<>::_M_search): Increase
_M_begin in search algorithm, so that _M_begin is treated as
"current start position" for each search iteration.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New
testcase.
From-SVN: r218037
GCC Administrator [Tue, 25 Nov 2014 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218036
John David Anglin [Mon, 24 Nov 2014 23:39:47 +0000 (23:39 +0000)]
linux-atomic.c (ABORT_INSTRUCTION): Use __builtin_trap() instead.
* config/pa/linux-atomic.c (ABORT_INSTRUCTION): Use __builtin_trap()
instead.
From-SVN: r218033
John David Anglin [Mon, 24 Nov 2014 23:27:36 +0000 (23:27 +0000)]
configure.ac: Guard include of <ieeefp.h>.
* configure.ac: Guard include of <ieeefp.h>.
* configure: Rebuilt.
From-SVN: r218032
Jakub Jelinek [Mon, 24 Nov 2014 23:08:26 +0000 (00:08 +0100)]
re PR fortran/63938 (OpenMP atomic update does not protect access to automatic array)
PR fortran/63938
* trans-openmp.c (gfc_trans_omp_atomic): Make sure lhsaddr is
simple enough for goa_lhs_expr_p.
* libgomp.fortran/pr63938-1.f90: New test.
* libgomp.fortran/pr63938-2.f90: New test.
From-SVN: r218031
Uros Bizjak [Mon, 24 Nov 2014 21:43:59 +0000 (22:43 +0100)]
re PR target/63847 (FAIL: c-c++-common/cilk-plus/AN/builtin_fn_custom.c execution test on i?86 with -fpic)
PR target/63847
* c-c++-common/cilk-plus/AN/builtin_fn_custom.c: Add -ffloat-store
for 32bit x86 targets.
* c-c++-common/cilk-plus/AN/builtin_fn_mutating.c: Ditto.
From-SVN: r218030
Tobias Burnus [Mon, 24 Nov 2014 19:40:10 +0000 (20:40 +0100)]
coarray_collectives_3.f90: Add dg-excess-errors.
2014-11-24 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_collectives_3.f90: Add dg-excess-errors.
* gfortran.dg/dollar_sym_1.f90: Ditto.
* gfortran.dg/dollar_sym_3.f: Ditto.
From-SVN: r218029
Michael Meissner [Mon, 24 Nov 2014 19:27:29 +0000 (19:27 +0000)]
re PR target/63965 (ICE: in extract_constrain_insn, at recog.c:2230 on ppc64)
2014-11-24 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/63965
* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Do not set
Altivec & -16 mask if the type is not valid for Altivec registers.
(rs6000_secondary_reload_memory): Add support for ((reg + const) +
reg) that occurs during push_reload processing.
* config/rs6000/altivec.md (altivec_mov<mode>): Add instruction
alternative for moving constant vectors which are easy altivec
constants to GPRs. Set the length attribute each of the
alternatives.
From-SVN: r218028
Michael Meissner [Mon, 24 Nov 2014 18:58:40 +0000 (18:58 +0000)]
re PR target/63965 (ICE: in extract_constrain_insn, at recog.c:2230 on ppc64)
2014-11-24 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/63965
* config/rs6000/rs6000-cpus.def: Undo November 21st changes, a
work in progress patch was committed instead of the fixes for
63965.
* config/rs6000/rs6000.c: Likewise.
From-SVN: r218027
Ian Lance Taylor [Mon, 24 Nov 2014 17:10:20 +0000 (17:10 +0000)]
compiler: Do not dereference a named pointer type when looking up a method.
Fixes Issue 9018.
From-SVN: r218026
Bernd Edlinger [Mon, 24 Nov 2014 16:55:01 +0000 (16:55 +0000)]
Makefile.def (module=gmp): Work around in-tree gmp configure bug with missing flex.
2014-11-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
* Makefile.def (module=gmp): Work around in-tree gmp configure bug with
missing flex.
* Makefile.in: Regenerated.
From-SVN: r218025
Jan Hubicka [Mon, 24 Nov 2014 16:15:46 +0000 (17:15 +0100)]
re PR ipa/63671 (21% tramp3d-v4 performance hit due to -fdevirtualize)
PR ipa/63671
* ipa-inline-transform.c (can_remove_node_now_p_1): Handle alises
and -fno-devirtualize more carefully.
(can_remove_node_now_p): Update.
From-SVN: r218024
Andrew Pinski [Mon, 24 Nov 2014 15:40:19 +0000 (15:40 +0000)]
re PR middle-end/63972 (shrink_wrap_symbol_ref_1.c fail with -mabi=ilp32 on aarch64)
2014-11-24 Andrew Pinski <apinski@cavium.com>
PR rtl-opt/63972
* shrink-wrap.c (move_insn_for_shrink_wrap): Allow LO_SUM also.
From-SVN: r218023
Alan Lawrence [Mon, 24 Nov 2014 15:23:28 +0000 (15:23 +0000)]
[AArch64]Add vec_shr pattern for 64-bit vectors using ush{l,r}; enable tests.
gcc/:
* config/aarch64/aarch64-simd.md (vec_shr<mode>): New.
gcc/testsuite/:
* lib/target-supports.exp (check_effective_target_whole_vector_shift):
Add aarch64{,_be}.
From-SVN: r218022
Alan Lawrence [Mon, 24 Nov 2014 15:15:20 +0000 (15:15 +0000)]
[AArch64]Tidy up aarch64_simd_expand_args
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args):
Refactor by combining switch statements and make arrays into scalars.
From-SVN: r218021
David Edelsohn [Mon, 24 Nov 2014 14:59:52 +0000 (14:59 +0000)]
re PR c++/58561 ([c++11] ICE using declaration of function with auto in return type)
PR c++/58561
* dbxout.c: Include stringpool.h
(dbxout_type) [default]: Ignore auto type.
From-SVN: r218020
Richard Biener [Mon, 24 Nov 2014 14:07:18 +0000 (14:07 +0000)]
re PR target/63679 ([AArch64] Failure to constant fold.)
2014-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/63679
* tree-ssa-sccvn.c: Include ipa-ref.h, plugin-api.h and cgraph.h.
(copy_reference_ops_from_ref): Fix non-constant ADDR_EXPR case
to properly leave off at -1.
(fully_constant_vn_reference_p): Generalize folding from
constant initializers.
(vn_reference_lookup_3): When looking through aggregate copies
handle offsetted reads and try simplifying the result to
a constant.
* gimple-fold.h (fold_ctor_reference): Export.
* gimple-fold.c (fold_ctor_reference): Likewise.
* gcc.dg/tree-ssa/ssa-fre-42.c: New testcase.
* gcc.dg/tree-ssa/
20030807-5.c: Avoid folding read from global to zero.
* gcc.target/i386/ssetype-1.c: Likewise.
* gcc.target/i386/ssetype-3.c: Likewise.
* gcc.target/i386/ssetype-5.c: Likewise.
From-SVN: r218019
Richard Biener [Mon, 24 Nov 2014 14:02:36 +0000 (14:02 +0000)]
re PR java/64044 (Java emits bogus .class$ decls)
2014-11-24 Richard Biener <rguenther@suse.de>
PR java/64004
* class.c (build_classdollar_field): Do not set TREE_READONLY.
From-SVN: r218018
Jonathan Wakely [Mon, 24 Nov 2014 13:35:08 +0000 (13:35 +0000)]
re PR c++/63203 (Self-initialization of reference not diagnosed if it occurs within a loop)
/cp
2014-11-24 Jonathan Wakely <jwakely@redhat.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63203
* decl.c (initialize_local_var): Add -Winit-self warning for
references initialized with themselves.
/testsuite
2014-11-24 Jonathan Wakely <jwakely@redhat.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63203
* g++.dg/warn/Winit-self-2.C: New.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r218017
Jason Merrill [Mon, 24 Nov 2014 12:49:08 +0000 (07:49 -0500)]
re PR c++/63942 (constexpr conflicts with previous declaration)
PR c++/63942
* mangle.c (mangle_decl): If we aren't going to create a symbol
alias, don't build the alias DECL either.
From-SVN: r218016
Petr Murzin [Mon, 24 Nov 2014 12:00:54 +0000 (12:00 +0000)]
simplify-rtx.c (simplify_ternary_operation): Simplify vec_merge (vec_duplicate (vec_select)).
2014-11-24 Petr Murzin <petr.murzin@intel.com>
gcc/
* simplify-rtx.c (simplify_ternary_operation): Simplify
vec_merge (vec_duplicate (vec_select)).
gcc/testsuite/
* gcc.target/i386/extract-insert-combining.c: New test.
From-SVN: r218015
Kyrylo Tkachov [Mon, 24 Nov 2014 11:37:34 +0000 (11:37 +0000)]
[AArch64][4/5] Implement fusion of ARDP+LDR
* config/aarch64/aarch64.c (AARCH64_FUSE_ADRP_LDR): Define.
(cortexa53_tunings): Specify AARCH64_FUSE_ADRP_LDR in fuseable_ops.
(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_ADRP_LDR.
From-SVN: r218014
Kyrylo Tkachov [Mon, 24 Nov 2014 11:26:04 +0000 (11:26 +0000)]
[AArch64][3/5] Implement fusion of MOVK+MOVK
* config/aarch64/aarch64.c (AARCH64_FUSE_MOVK_MOVK): Define.
(cortexa53_tunings): Specify AARCH64_FUSE_MOVK_MOVK in fuseable_ops.
(cortexa57_tunings): Likewise.
(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_MOVK_MOVK.
From-SVN: r218013
Kyrylo Tkachov [Mon, 24 Nov 2014 11:09:59 +0000 (11:09 +0000)]
[sched-deps] Remove needless check for modified_in_p when trying to fuse two non-conditional jump insns
* sched-deps.c (sched_macro_fuse_insns): Do not check modified_in_p
in the not conditional jump case.
* doc/tm.texi (TARGET_SCHED_MACRO_FUSION_PAIR_P): Update description.
* target.def (TARGET_SCHED_MACRO_FUSION_PAIR_P): Update description.
* gcc.target/aarch64/fuse_adrp_add_1.c: New test.
From-SVN: r218012
Richard Biener [Mon, 24 Nov 2014 11:07:23 +0000 (11:07 +0000)]
re PR testsuite/64039 (FAIL: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized "return 28;")
2014-11-24 Richard Biener <rguenther@suse.de>
PR testsuite/64039
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL for hppa*-*-*.
From-SVN: r218011
Kyrylo Tkachov [Mon, 24 Nov 2014 10:50:45 +0000 (10:50 +0000)]
[AArch64][2/5] Implement adrp+add fusion
* config/aarch64/aarch64.c: Include tm-constrs.h
(AARCH64_FUSE_ADRP_ADD): Define.
(cortexa57_tunings): Add AARCH64_FUSE_ADRP_ADD to fuseable_ops.
(cortexa53_tunings): Likewise.
(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_ADRP_ADD.
From-SVN: r218010
Martin Liska [Mon, 24 Nov 2014 10:43:55 +0000 (11:43 +0100)]
[PATCH 2/2] ipa-inline uses sreal for as fibonacci_heap template
* ipa-inline.c (edge_badness): long is replaced by sreal
as fibonacci_heap template type.
(update_edge_key): Likewise.
(inline_small_functions): Likewise.
From-SVN: r218009
Martin Liska [Mon, 24 Nov 2014 10:41:18 +0000 (11:41 +0100)]
[PATCH 1/2] Negative numbers added for sreal class.
* predict.c (propagate_freq): More elegant sreal API is used.
(estimate_bb_frequencies): Precomputed constants replaced by integer
constants.
* sreal.c (sreal::normalize): New function.
(sreal::to_int): Likewise.
(sreal::operator+): Likewise.
(sreal::operator-): Likewise.
(sreal::signedless_plus): Likewise.
(sreal::signedless_minus): Likewise.
(sreal::operator/): Negative number support is added.
* sreal.h: Definition of new functions added.
(inline sreal operator<<): New function.
(inline sreal operator>>): Likewise.
From-SVN: r218008
Kyrylo Tkachov [Mon, 24 Nov 2014 10:37:30 +0000 (10:37 +0000)]
[AArch64][1/5] Implement TARGET_SCHED_MACRO_FUSION_PAIR_P
* config/aarch64/aarch64-protos.h (struct tune_params): Add
fuseable_ops field.
* config/aarch64/aarch64.c (generic_tunings): Specify fuseable_ops.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(aarch64_macro_fusion_p): New function.
(aarch_macro_fusion_pair_p): Likewise.
(TARGET_SCHED_MACRO_FUSION_P): Define.
(TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
(AARCH64_FUSE_MOV_MOVK): Likewise.
(AARCH64_FUSE_NOTHING): Likewise.
From-SVN: r218007
Martin Liska [Mon, 24 Nov 2014 10:25:06 +0000 (11:25 +0100)]
re PR lto/63968 (175.vpr from cpu2000 fails to build with LTO)
PR lto/63968
* bb-reorder.c (find_traces_1_round): decreate_key is replaced
with replace_key method.
* fibonacci_heap.h (fibonacci_heap::insert): New argument.
(fibonacci_heap::replace_key_data): Likewise.
(fibonacci_heap::replace_key): New method that can even increment key,
this operation costs O(log N).
(fibonacci_heap::extract_min): New argument.
(fibonacci_heap::delete_node): Likewise.
From-SVN: r218006
Richard Biener [Mon, 24 Nov 2014 09:24:50 +0000 (09:24 +0000)]
re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization))
2014-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/55334
* function.h (struct function): Add last_clique member.
* tree-inline.c (remap_dependence_clique): New function.
(remap_gimple_op_r): Remap dependence cliques in MEM_REFs.
(copy_tree_body_r): Likewise.
(copy_cfg_body): Free dependence map.
(copy_gimple_seq_and_replace_locals): Likewise.
* tree-pretty-print.c (dump_generic_node): Dump
dependence info.
* tree-ssa-alias.c (refs_may_alias_p_1): Use dependence info
to answer alias query.
* tree-ssa-structalias.c: Include tree-phinodes.h, ssa-iterators.h,
tree-pretty-print.h and gimple-walk.h.
(struct variable_info): Add is_restrict_var flag and ruid
member.
(new_var_info): Initialize is_restrict_var.
(make_constraint_from_restrict): Likewise.
(create_variable_info_for): Exclude restricts from global vars
from new handling.
(intra_create_variable_infos): But not those from parameters.
(visit_loadstore): New function.
(maybe_set_dependence_info): Likewise.
(compute_dependence_clique): Likewise.
(compute_may_aliases): Call compute_dependence_clique.
* tree-data-ref.c (dr_analyze_indices): Copy dependence info
to fake MEM_REF.
(dr_may_alias_p): Use recorded dependence info to answer
alias query.
* tree-core.h (struct tree_base): Add clique, base struct in
union.
* tree.h (MR_DEPENDENCE_CLIQUE): New macro.
(MR_DEPENDENCE_BASE): Likewise.
* tree-inline.h (dependence_hasher): New hash-map kind.
(struct copy_body_data): Add dependence_map pointer.
* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Avoid
throwing away dependence info.
* tree-streamer-in.c (unpack_value_fields): Stream dependence info.
* tree-streamer-out.c (streamer_pack_tree_bitfields): Likewise.
* gcc.dg/tree-ssa/restrict-5.c: New testcase.
From-SVN: r218005
Richard Biener [Mon, 24 Nov 2014 09:24:26 +0000 (09:24 +0000)]
re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization))
2014-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/55334
* function.h (struct function): Add last_clique member.
* tree-inline.c (remap_dependence_clique): New function.
(remap_gimple_op_r): Remap dependence cliques in MEM_REFs.
(copy_tree_body_r): Likewise.
(copy_cfg_body): Free dependence map.
(copy_gimple_seq_and_replace_locals): Likewise.
* tree-pretty-print.c (dump_generic_node): Dump
dependence info.
* tree-ssa-alias.c (refs_may_alias_p_1): Use dependence info
to answer alias query.
* tree-ssa-structalias.c: Include tree-phinodes.h, ssa-iterators.h,
tree-pretty-print.h and gimple-walk.h.
(struct variable_info): Add is_restrict_var flag and ruid
member.
(new_var_info): Initialize is_restrict_var.
(make_constraint_from_restrict): Likewise.
(create_variable_info_for): Exclude restricts from global vars
from new handling.
(intra_create_variable_infos): But not those from parameters.
(visit_loadstore): New function.
(maybe_set_dependence_info): Likewise.
(compute_dependence_clique): Likewise.
(compute_may_aliases): Call compute_dependence_clique.
* tree-data-ref.c (dr_analyze_indices): Copy dependence info
to fake MEM_REF.
(dr_may_alias_p): Use recorded dependence info to answer
alias query.
* tree-core.h (struct tree_base): Add clique, base struct in
union.
* tree.h (MR_DEPENDENCE_CLIQUE): New macro.
(MR_DEPENDENCE_BASE): Likewise.
* tree-inline.h (dependence_hasher): New hash-map kind.
(struct copy_body_data): Add dependence_map pointer.
* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Avoid
throwing away dependence info.
* tree-streamer-in.c (unpack_value_fields): Stream dependence info.
* tree-streamer-out.c (streamer_pack_tree_bitfields): Likewise.
* gcc.dg/tree-ssa/restrict-5.c: New testcase.
From-SVN: r218004
Eric Botcazou [Mon, 24 Nov 2014 09:18:38 +0000 (09:18 +0000)]
* gcc-interface/Makefile.in (Cygwin/Mingw): Fix previous change.
From-SVN: r218003
Trevor Saunders [Mon, 24 Nov 2014 08:47:41 +0000 (08:47 +0000)]
Add missing entry
From-SVN: r218002
Paolo Carlini [Mon, 24 Nov 2014 08:36:32 +0000 (08:36 +0000)]
re PR c++/63905 (redundant fields left in gcc/cp/cp-tree.h:lang_decl_fn)
2014-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63905
* cp-tree.h (lang_decl_fn): Remove constructor_attr, destructor_attr.
From-SVN: r218001
Eric Botcazou [Mon, 24 Nov 2014 08:34:01 +0000 (08:34 +0000)]
trans.c (build_return_expr): Use INIT_EXPR instead of MODIFY_EXPR to assign to the return object.
* gcc-interface/trans.c (build_return_expr): Use INIT_EXPR instead of
MODIFY_EXPR to assign to the return object.
(finalize_nrv_r): Adjust to above change.
(finalize_nrv_unc_r): Likewise.
From-SVN: r218000
Eric Botcazou [Mon, 24 Nov 2014 08:18:40 +0000 (08:18 +0000)]
trans.c (push_range_check_info): Replace early test with assertion.
* gcc-interface/trans.c (push_range_check_info): Replace early test
with assertion.
(Raise_Error_to_gnu): Do not call push_range_check_info if the loop
stack is empty.
* gcc-interface/utils.c (convert_to_fat_pointer): Fix formatting.
* gcc-interface/utils2.c (gnat_invariant_expr): Deal with padded types
and revert latest change.
From-SVN: r217998
Tobias Burnus [Mon, 24 Nov 2014 07:47:46 +0000 (08:47 +0100)]
error.c (gfc_fatal_error_1): Remove.
2014-11-24 Tobias Burnus <burnus@net-b.de>
* error.c (gfc_fatal_error_1): Remove.
* gfortran.h (gfc_fatal_error_1): Remove.
* check.c (check_co_collective): Change gfc_fatal_error_1 to
gfc_fatal_error.
* match.c (gfc_match_name): Ditto.
* trans-array.c (gfc_conv_array_initializer): Ditto.
* trans-stmt.c (gfc_trans_sync): Ditto.
2014-11-24 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/dollar_sym_3.f: Update dg-error.
* gfortran.dg/dollar_sym_3.f: Ditto.
From-SVN: r217997
David Edelsohn [Mon, 24 Nov 2014 01:59:38 +0000 (01:59 +0000)]
pr46799.c: XFAIL on AIX.
* gcc.dg/autopar/pr46799.c: XFAIL on AIX.
* gcc.dg/torture/pr59166.c: XFAIL on AIX.
* gcc.dg/pr63914.c: Ignore non-standard ABI warning.
* gcc.dg/pr63594-[12].c: Ignore non-standard ABI warning.
From-SVN: r217996
GCC Administrator [Mon, 24 Nov 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r217995
Manuel López-Ibáñez [Sun, 23 Nov 2014 23:47:42 +0000 (23:47 +0000)]
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
gcc/fortran/ChangeLog:
2014-11-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
* decl.c (gfc_verify_c_interop_param): Use gfc_error_now_2.
(gfc_set_constant_character_len): Use gfc_warning_now_2.
* resolve.c (resolve_ordinary_assign): Likewise.
* gfortran.h (warn_character_truncation): Do not declare here.
* error.c (gfc_format_decoder): Handle %L.
* lang.opt (Wcharacter-truncation): Add Var and LangEnabledBy.
* options.c (gfc_init_options): Do not handle
warn_character_truncation explicitly.
(set_Wall): Likewise.
(gfc_handle_option): Likewise.
From-SVN: r217992
Trevor Saunders [Sun, 23 Nov 2014 22:24:59 +0000 (22:24 +0000)]
pr63856 - test case
From-SVN: r217991
Tobias Burnus [Sun, 23 Nov 2014 22:02:38 +0000 (23:02 +0100)]
invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that -Wtabs enables the warning.
2014-11-23 Tobias Burnus <burnus@net-b.de>
* invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that
-Wtabs enables the warning.
From-SVN: r217990
Oleg Endo [Sun, 23 Nov 2014 21:20:13 +0000 (21:20 +0000)]
Fix ChangeLog formatting.
From-SVN: r217988
Oleg Endo [Sun, 23 Nov 2014 21:16:26 +0000 (21:16 +0000)]
re PR target/53976 ([SH] Unnecessary clrt/sett after bt/bf)
gcc/
PR target/53976
* config/sh/sh_optimize_sett_clrt.cc
(sh_optimize_sett_clrt::find_last_ccreg_values): Return bool instead
of void. Abort at complex edges.
(sh_optimize_sett_clrt::execute): Do nothing if find_last_ccreg_values
returned false.
From-SVN: r217987
Tobias Burnus [Sun, 23 Nov 2014 20:35:14 +0000 (21:35 +0100)]
error.c (gfc_diagnostic_build_prefix): Correct coloring of the colon of the prefix.
2014-11-23 Tobias Burnus <burnus@net-b.de>
* error.c (gfc_diagnostic_build_prefix): Correct coloring
of the colon of the prefix.
From-SVN: r217986
Tobias Burnus [Sun, 23 Nov 2014 17:14:10 +0000 (18:14 +0100)]
gfortran.h (gfc_option_t): Remove warn_tabs.
2014-11-23 Tobias Burnus <burnus@net-b.de>
Manuel López-Ibáñez <manu@gcc.gnu.org>
gcc/fortran/
* gfortran.h (gfc_option_t): Remove warn_tabs.
* lang.opt (Wpedantic): Add.
(Wtabs): Use Var and LangEnabledBy.
* options.c (gfc_init_options, gfc_post_options,
set_Wall): Remove -Wtabs handling.
(gfc_handle_option): Update -std=, remove OPT_Wtabs.
* scanner.c (gfc_gobble_whitespace): Update for
flag-variable renaming.
(load_line): Ditto. Pass warn flag to diagnostic.
gcc/testsuite/
* gfortran.dg/tab_continuation.f: Update dg-*.
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r217985
Andrew Pinski [Sun, 23 Nov 2014 12:30:24 +0000 (12:30 +0000)]
20120927-1.c: New testcase.
2014-11-23 Andrew Pinski <apinski@cavium.com>
* gcc.c-torture/compile/
20120927-1.c: New testcase.
* gcc.c-torture/compile/
20120830-1.c: New testcase.
From-SVN: r217982
Andrew Pinski [Sun, 23 Nov 2014 05:30:26 +0000 (05:30 +0000)]
initlist-lifetime1.C: Fix testcase where argc is always greater than 1 (octeon simulator).
2014-11-22 Andrew Pinski <apinski@cavium.com>
* g++.dg/cpp0x/initlist-lifetime1.C: Fix testcase where
argc is always greater than 1 (octeon simulator).
* g++.dg/cpp0x/initlist-lifetime2.C: Likewise.
From-SVN: r217979
GCC Administrator [Sun, 23 Nov 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r217978
Andrew Pinski [Sat, 22 Nov 2014 23:41:26 +0000 (23:41 +0000)]
\1a2014-11-22 Andrew Pinski <apinski@cavium.com>
PR target/63971
* gcc.target/aarch64/test_frame_1.c: Expect only two loads of
x30 (in the epilogue).
* gcc.target/aarch64/test_frame_6.c: Likewise.
* gcc.target/aarch64/test_frame_2.c: Expect only one pair load of
x30 and x19 (in the epilogue).
* gcc.target/aarch64/test_frame_4.c: Likewise.
* gcc.target/aarch64/test_frame_7.c: Likewise.
From-SVN: r217975
John David Anglin [Sat, 22 Nov 2014 21:12:47 +0000 (21:12 +0000)]
Commit missing change log entries.
From-SVN: r217974
Jan Hubicka [Sat, 22 Nov 2014 21:08:07 +0000 (22:08 +0100)]
ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones as having abstract origin used.
* ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones
as having abstract origin used.
* ipa-inline-transform.c (can_remove_node_now_p_1): Drop abstract origin check.
(clone_inlined_nodes): Copy abstract originflag.
* lto-cgraph.c (compute_ltrans_boundary): Use get_create to get abstract origin node.
From-SVN: r217973
John David Anglin [Sat, 22 Nov 2014 20:53:36 +0000 (20:53 +0000)]
re PR other/63694 (Build error compiling asan.c: strtoull undeclared)
PR other/63694
* libiberty/configure.ac: Check for strtol, strtoul, strtoll and strtoull
declarations.
* libiberty/configure: Regenerated.
* gcc/configure.ac: Check for strtol, strtoul, strtoll and strtoull
declarations.
* gcc/configure: Regenerated.
* gcc/config.in: Regenerated.
From-SVN: r217972
Uros Bizjak [Sat, 22 Nov 2014 19:02:12 +0000 (20:02 +0100)]
params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.
* params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.
* config/i386/i386.c (ix86_option_override_internal): Do not increase
PARAM_MAX_COMPLETELY_PEELED_INSNS.
From-SVN: r217971
Oleg Endo [Sat, 22 Nov 2014 15:50:10 +0000 (15:50 +0000)]
re PR target/63783 ([SH] Miscompilation of boolean negation on SH4 using -O2)
gcc/
PR target/63783
PR target/51244
* config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn):
Do not emit bitwise not insn. Emit logical not insn sequence instead.
Adjust related comments throughout the file.
gcc/testsuite/
PR target/63783
PR target/51244
* gcc.target/sh/torture/pr63783-1.c: New.
* gcc.target/sh/torture/pr63783-2.c: New.
* gcc.target/sh/pr51244-20.c: Adjust.
* gcc.target/sh/pr51244-20-sh2a.c: Adjust.
From-SVN: r217969
Oleg Endo [Sat, 22 Nov 2014 15:06:34 +0000 (15:06 +0000)]
re PR target/63986 ([SH] gcc.target/sh/pr51244-15.c failures)
gcc/
PR target/63986
PR target/51244
* config/sh/sh.c (sh_is_logical_t_store_expr,
sh_try_omit_signzero_extend): Use rtx_insn* for insn argument.
(sh_split_movrt_negc_to_movt_xor): New function.
(sh_find_set_of_reg): Move to ...
* config/sh/sh-protos.h (sh_find_set_of_reg): ... here and convert
to template function.
(set_of_reg): Use rtx_insn* for insn member.
(sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): Use
rtx_insn* for insn argument.
* config/sh/sh.md (movrt_negc, *movrt_negc): Split into movt-xor
sequence using new sh_split_movrt_negc_to_movt_xor function.
(movrt_xor): Allow also for SH2A.
(*movt_movrt): Delete insns and splits.
From-SVN: r217968
Marc Glisse [Sat, 22 Nov 2014 14:28:19 +0000 (15:28 +0100)]
re PR tree-optimization/60770 (disappearing clobbers)
2014-11-22 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/60770
* tree-sra.c (clobber_subtree): New function.
(sra_modify_constructor_assign): Call it.
From-SVN: r217967
Tobias Burnus [Sat, 22 Nov 2014 14:14:35 +0000 (15:14 +0100)]
trans-expr.c (gfc_caf_get_image_index): Fix image calculation.
gcc/fortran/
2014-11-22 Tobias Burnus <burnus@net-b.de>
* trans-expr.c (gfc_caf_get_image_index): Fix image calculation.
gcc/testsuite/
2014-11-22 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray/cosubscript_1.f90: New.
From-SVN: r217966
Eric Botcazou [Sat, 22 Nov 2014 12:23:47 +0000 (12:23 +0000)]
trans.c (Call_to_gnu): Strip unchecked conversions on actuals of In parameters if...
* gcc-interface/trans.c (Call_to_gnu): Strip unchecked conversions on
actuals of In parameters if the destination type is an unconstrained
composite type.
From-SVN: r217965
Eric Botcazou [Sat, 22 Nov 2014 12:15:53 +0000 (12:15 +0000)]
trans.c (gnat_gimplify_expr): Add 'type' variable.
* gcc-interface/trans.c (gnat_gimplify_expr): Add 'type' variable.
<case NULL_EXPR>: Deal with unconstrained array types and use 'type'.
<case ADDR_EXPR>: Use 'type'.
<case DECL_EXPR>: Likewise.
From-SVN: r217964