gcc.git
10 years agoFix line number data for PIC register setup code.
Tom de Vries [Sun, 27 Oct 2013 23:36:51 +0000 (23:36 +0000)]
Fix line number data for PIC register setup code.

2013-10-27  Tom de Vries  <tom@codesourcery.com>

* cfgexpand.c (gimple_expand_cfg): Remove test for parm_birth_insn.
Don't commit insertions after NOTE_INSN_FUNCTION_BEG.

* gcc.target/arm/require-pic-register-loc.c: New test.

From-SVN: r204112

10 years agoFix change log entry.
Oleg Endo [Sun, 27 Oct 2013 22:43:01 +0000 (22:43 +0000)]
Fix change log entry.

From-SVN: r204111

10 years agosh.c (MSW, LSW): Move and rename macros to...
Oleg Endo [Sun, 27 Oct 2013 22:40:25 +0000 (22:40 +0000)]
sh.c (MSW, LSW): Move and rename macros to...

* config/sh/sh.c (MSW, LSW): Move and rename macros to...
* config/sh/sh.h (SH_REG_MSW_OFFSET, SH_REG_LSW_OFFSET): ... here.
(TARGET_BIG_ENDIAN): New macro.
* config/sh/sh.md: Use it instead of !TARGET_LITTLE_ENDIAN.
Use SH_REG_MSW_OFFSET and SH_REG_LSW_OFFSET.
* config/sh/sh.c: Likewise.
* config/sh/sh.h: Likewise.

From-SVN: r204110

10 years agore PR rtl-optimization/58679 (ICE in create_pre_exit, at mode-switching.c:421 with...
Uros Bizjak [Sun, 27 Oct 2013 20:32:29 +0000 (21:32 +0100)]
re PR rtl-optimization/58679 (ICE in create_pre_exit, at mode-switching.c:421 with -mavx after r202915)

PR target/58679
* gcc.target/i386/pr58679-1.c: New test.
* gcc.target/i386/pr58679-2.c: Ditto.

From-SVN: r204109

10 years agoc-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
Richard Sandiford [Sun, 27 Oct 2013 18:50:01 +0000 (18:50 +0000)]
c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.

gcc/c-family/
* c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.

From-SVN: r204108

10 years ago* testsuite/test-demangle.c: Include unistd.h.
Gerald Pfeifer [Sun, 27 Oct 2013 18:35:20 +0000 (18:35 +0000)]
* testsuite/test-demangle.c: Include unistd.h.

From-SVN: r204107

10 years agocris.c (cris_emit_trap_for_misalignment): Replace the removed PRED_MUDFLAP with PRED_...
Hans-Peter Nilsson [Sun, 27 Oct 2013 14:42:53 +0000 (14:42 +0000)]
cris.c (cris_emit_trap_for_misalignment): Replace the removed PRED_MUDFLAP with PRED_NORETURN.

* config/cris/cris.c (cris_emit_trap_for_misalignment): Replace the
removed PRED_MUDFLAP with PRED_NORETURN.  Correct file-path in comment.

From-SVN: r204106

10 years agore PR other/33426 (Support of #pragma ivdep)
Tobias Burnus [Sun, 27 Oct 2013 07:40:31 +0000 (08:40 +0100)]
re PR other/33426 (Support of #pragma ivdep)

2013-10-27  Tobias Burnus  <burnus@net-b.de>

gcc/c/
        PR other/33426
        * c-parser.c (c_parser_while_statement,
        * c_parser_while_statement,
        c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
        (c_parser_statement_after_labels): Update calls.

gcc/testsuite/
        PR other/33426
        * gcc.dg/vect/vect-ivdep-2.c: New.

From-SVN: r204102

10 years agoDaily bump.
GCC Administrator [Sun, 27 Oct 2013 00:17:11 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204101

10 years agosh.md (movmemsi): Remove empty constraints and predicates.
Oleg Endo [Sat, 26 Oct 2013 23:26:14 +0000 (23:26 +0000)]
sh.md (movmemsi): Remove empty constraints and predicates.

* config/sh/sh.md (movmemsi): Remove empty constraints and predicates.
Fix formatting.
(cmpstr_t, cmpstrsi): Fix formatting.

From-SVN: r204098

10 years agore PR target/52483 (SH Target: Loads from volatile memory leave redundant sign/zero...
Oleg Endo [Sat, 26 Oct 2013 22:07:37 +0000 (22:07 +0000)]
re PR target/52483 (SH Target: Loads from volatile memory leave redundant sign/zero extensions)

PR target/52483
* config/sh/predicates.md (general_movdst_operand): Allow reg+reg
addressing, do not use general_operand for memory operands.

PR target/52483
* gcc.target/sh/pr52483-1.c: Add tests for memory stores.
* gcc.target/sh/pr52483-2.c: Likewise.
* gcc.target/sh/pr52483-3.c: Likewise.
* gcc.target/sh/pr52483-4.c: Likewise.

From-SVN: r204097

10 years agorevert: lra-spills.c (lra_final_code_change): Remove useless move insns.
Vladimir Makarov [Sat, 26 Oct 2013 17:02:49 +0000 (17:02 +0000)]
revert: lra-spills.c (lra_final_code_change): Remove useless move insns.

2013-10-26  Vladimir Makarov  <vmakarov@redhat.com>

Revert:
2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>
* lra-spills.c (lra_final_code_change): Remove useless move insns.

From-SVN: r204094

10 years agoregex.h: Remove unnecessary friends.
Tim Shen [Sat, 26 Oct 2013 16:09:28 +0000 (16:09 +0000)]
regex.h: Remove unnecessary friends.

2013-10-26  Tim Shen  <timshen91@gmail.com>

* include/bits/regex.h: Remove unnecessary friends.
* include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
to here.
* include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
they are merged into _Executor. Eliminate quantifier tracking part, so
it's faster.
* include/bits/regex_executor.tcc: Implement _Executor.
* testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
duplicate testcases.
* testsuite/performance/28_regex/split.h: New.
* testsuite/performance/28_regex/split_bfs.cc: New.
* testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
agreement judger: do not compare match_results when executor return
false.

From-SVN: r204093

10 years agopredict.c (PRED_MUDFLAP): Remove.
Jeff Law [Sat, 26 Oct 2013 10:24:19 +0000 (04:24 -0600)]
predict.c (PRED_MUDFLAP): Remove.

* predict.c (PRED_MUDFLAP): Remove.
* targhooks.c (build_va_arg_indirect_ref): Remove mudflap support.

From-SVN: r204091

10 years agoMakefile.def (target_modules): Remove libmudflap
Jeff Law [Sat, 26 Oct 2013 10:14:34 +0000 (04:14 -0600)]
Makefile.def (target_modules): Remove libmudflap

* Makefile.def (target_modules): Remove libmudflap
(languages): Remove check-target-libmudflap).
* Makefile.in: Rebuilt.
* Makefile.tpl (check-target-libmudflap-c++): Remove.
* configure.ac (target_libraries): Remove target-libmudflap.
Remove checks which disabled libmudflap on some systems.
* configure: Rebuilt.
* libmudflap: Directory removed.

* Makefile.in (C_COMMON_OBJS): Remove tree-mudflap.
(OBJS): Remove tree-nomudflap.o
(GTFILES): Remove tree-mudflap.c
* builtins.c (expand_builtin_alloc): Remove mudflap support.
* gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
(mfwrap_spec, mflib_spec): Likewise.
(cpp_unique_options, cc1_options, static_specs): Likewise.
* gimplify (gimplify_vla_decl, build_va_arg_indirect_ref): Likewise.
* passes.def: Likewise.
* toplev.c (compile_file, process_options): Likewise.
* tree-inline.c (copy_tree_r): Likewise.
* tree-pass.,h (make_pass_mudflap_1, make_pass_mudflap_2): Likewise.
* varasm.c (make_decl_rtl, make_decl_rtl_for_debug): Likewise.
(build_constant_desc, output_constant_def_contents): Likewise.
(categorize_decl_for_section): Likewise.
* tree-mudflap.c: Removed.
* tree-mudflap.h: Removed.
* tree-nomudflap.c: Removed.
* bfin/uclinux.h (MFWRAP_SPEC): Remove.
* moxie/uclinux.h (MFWRAP_SPEC): Likewise.
* rs6000/aix.h (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
* config/sol2.h (MFLIB_SPEC): Likewise.
* doc/install.texi: Remove mudflap references.
* doc/passes.texi: Similarly.
* doc/sourcebuild.texi: Similarly.
* doc/invoke.texi: Remove mudlfap related options.

* c-family/c-common.c (c_define_builtins): Remove mudflap support.
* c-family/c.opt: Ignore and warn for mudflap options.

* g++.dg/torture/pr49309.C: Removed.
* gcc.dg/dfp/pr35739.c: Removed.

From-SVN: r204090

10 years agoDaily bump.
GCC Administrator [Sat, 26 Oct 2013 00:17:13 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204083

10 years agore PR rtl-optimization/58759 (wrong code (segfaults) at -O2 on x86_64-linux-gnu in...
Vladimir Makarov [Fri, 25 Oct 2013 21:34:26 +0000 (21:34 +0000)]
re PR rtl-optimization/58759 (wrong code (segfaults) at -O2 on x86_64-linux-gnu in 32-bit mode)

2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58759
* lra-constraints.c (lra_constraints): Remove wrong condition to
remove insn setting up an equivalent pseudo.

2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58759
* gcc.target/i386/pr58759.c: New.

From-SVN: r204080

10 years ago2013-10-25 Vladimir Makarov <vmakarov@redhat.com>
Vladimir Makarov [Fri, 25 Oct 2013 21:06:38 +0000 (21:06 +0000)]
2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>

* config/rs6000/rs6000-protos.h
(rs6000_secondary_memory_needed_mode): New prototype.
* config/rs6000/rs6000.c: Include ira.h.
(TARGET_LRA_P): Redefine.
(rs6000_legitimate_offset_address_p): Call
legitimate_constant_pool_address_p in strict mode for LRA.
(rs6000_legitimate_address_p): Ditto.
(legitimate_lo_sum_address_p): Add code for LRA.
Use lra_in_progress.
(rs6000_emit_move): Add LRA version of code to generate load/store
of SDmode values.
(rs6000_secondary_memory_needed_mode): New.
(rs6000_alloc_sdmode_stack_slot): Do nothing for LRA.
(rs6000_secondary_reload_class): Return NO_REGS for LRA for
constants, memory, and FP registers.
(rs6000_lra_p): New.
* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_MODE): New
macro.
* config/rs6000/rs6000.opt (mlra): New option.
* lra-spills.c (lra_final_code_change): Remove useless move insns.

From-SVN: r204079

10 years agoformatter.h (__check_singular): Add const on iterator reference.
François Dumont [Fri, 25 Oct 2013 19:25:06 +0000 (19:25 +0000)]
formatter.h (__check_singular): Add const on iterator reference.

2013-10-25  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/formatter.h (__check_singular): Add const on
iterator reference.
* include/debug/functions.h (__check_singular): Likewise.
(__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete.
(__check_dereferenceable(const _Ite&)): Add const on iterator
reference.
(__check_dereferenceable(const _Safe_local_iterator<>&)): New.
* include/debug/safe_iterator.h (__check_singular_aux): Review
comment.
* testsuite/23_containers/vector/debug/debug_functions.cc: New.
* testsuite/23_containers/unordered_set/debug/debug_functions.cc:
New.

From-SVN: r204075

10 years agopr33426-ivdep.cc: Use dg-options.
Tobias Burnus [Fri, 25 Oct 2013 19:25:00 +0000 (21:25 +0200)]
pr33426-ivdep.cc: Use dg-options.

2013-10-25  Tobias Burnus  <burnus@net-b.de>

        * g++.dg/vect/pr33426-ivdep.cc: Use dg-options.
        * gfortran.dg/vect/vect-do-concurrent-1.f90: Ditto.
        * testsuite/gcc.dg/vect/vect-ivdep-1.c: Ditto.

From-SVN: r204074

10 years agotree-ssa-math-opts.c (convert_plusminus_to_widen): Call has_single_use () and not...
Yufeng Zhang [Fri, 25 Oct 2013 17:25:08 +0000 (17:25 +0000)]
tree-ssa-math-opts.c (convert_plusminus_to_widen): Call has_single_use () and not do the conversion if...

gcc/

* tree-ssa-math-opts.c (convert_plusminus_to_widen): Call
has_single_use () and not do the conversion if has_single_use ()
returns false for the multiplication result.

gcc/testsuite/

* gcc.dg/wmul-1.c: New test.

From-SVN: r204072

10 years agore PR c++/58878 (Template parameter name can be hidden in a template member function...
Paolo Carlini [Fri, 25 Oct 2013 16:26:10 +0000 (16:26 +0000)]
re PR c++/58878 (Template parameter name can be hidden in a template member function defined inside the class specifier)

/cp
2013-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58878
* pt.c (check_template_shadow): Don't skip declarations in inline
member templates.

/testsuite
2013-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58878
* g++.dg/template/pr58878.C: New.

From-SVN: r204071

10 years agoFix names of various macro parameters in tree.h
David Malcolm [Fri, 25 Oct 2013 15:00:35 +0000 (15:00 +0000)]
Fix names of various macro parameters in tree.h

* tree.h (EXCEPTIONAL_CLASS_P): Rename parameter from "CODE"
to "NODE", since this works on a "tree", not an
"enum tree_code".
(CONSTANT_CLASS_P): Likewise.
(TYPE_P): Likewise.
(DECL_P): Likewise.
(INDIRECT_REF_P): Likewise.
(REFERENCE_CLASS_P): Likewise.
(COMPARISON_CLASS_P): Likewise.
(UNARY_CLASS_P): Likewise.
(BINARY_CLASS_P): Likewise.
(STATEMENT_CLASS_P): Likewise.
(VL_EXP_CLASS_P): Likewise.
(EXPRESSION_CLASS_P): Likewise.
(IS_TYPE_OR_DECL_P): Likewise.

From-SVN: r204070

10 years agocp-demangle.c (struct d_saved_scope): New structure.
Gary Benson [Fri, 25 Oct 2013 13:56:51 +0000 (13:56 +0000)]
cp-demangle.c (struct d_saved_scope): New structure.

libiberty/
2013-10-25  Gary Benson  <gbenson@redhat.com>

* cp-demangle.c (struct d_saved_scope): New structure.
(struct d_print_info): New fields saved_scopes and
num_saved_scopes.
(d_print_init): Initialize the above.
(d_print_free): New function.
(cplus_demangle_print_callback): Call the above.
(d_copy_templates): New function.
(d_print_comp): New variables saved_templates and
need_template_restore.
[DEMANGLE_COMPONENT_REFERENCE,
DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
time the component is traversed, and use the captured scope for
subsequent traversals.
* testsuite/demangle-expected: Add regression test.

From-SVN: r204068

10 years agotree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for an ADDR_EXPR in the defini...
Marc Glisse [Fri, 25 Oct 2013 12:35:51 +0000 (14:35 +0200)]
tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for an ADDR_EXPR in the defining statement.

2013-10-25  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for an
ADDR_EXPR in the defining statement.

gcc/testsuite/
* gcc.dg/tree-ssa/alias-23.c: New file.

From-SVN: r204065

10 years agore PR tree-optimization/58626 (possible array wrong code bug)
Richard Biener [Fri, 25 Oct 2013 11:51:11 +0000 (11:51 +0000)]
re PR tree-optimization/58626 (possible array wrong code bug)

2013-10-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58626
* tree-loop-distribution.c (enum rdg_dep_type): Remove
anti_dd, output_dd and input_dd.
(struct rdg_edge): Remove level and relation members.
(RDGE_LEVEL, RDGE_RELATION): Remove.
(dot_rdg_1): Adjust.
(create_rdg_edge_for_ddr): Remove.
(create_rdg_edges_for_scalar): Adjust.
(create_edge_for_control_dependence): Likewise.
(create_rdg_edges): Split into ...
(create_rdg_flow_edges): ... this
(create_rdg_cd_edges): ... and this.
(free_rdg): Adjust.
(build_rdg): Likewise, do not compute data dependences or
add edges for them.
(pg_add_dependence_edges): New function.
(pgcmp): Likewise.
(distribute_loop): First apply all non-dependence based
partition mergings.  Then compute dependences between partitions
and merge and order partitions according to them.

* gcc.dg/torture/pr58626.c: New testcase.

From-SVN: r204062

10 years agore PR c++/54812 ([C++11] Delete expression doesn't respect access of defaulted destru...
Paolo Carlini [Fri, 25 Oct 2013 10:54:56 +0000 (10:54 +0000)]
re PR c++/54812 ([C++11] Delete expression doesn't respect access of defaulted destructor)

2013-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54812
* g++.dg/cpp0x/defaulted47.C: New.

From-SVN: r204057

10 years agore PR rtl-optimization/58831 (wrong code at -O2 and -O3 on x86_64-linux-gnu in 64...
Eric Botcazou [Fri, 25 Oct 2013 09:21:11 +0000 (09:21 +0000)]
re PR rtl-optimization/58831 (wrong code at -O2 and -O3 on x86_64-linux-gnu in 64-bit mode)

PR rtl-optimization/58831
* alias.c (init_alias_analysis): At the beginning of each iteration, set
the reg_seen[N] bit if static_reg_base_value[N] is non-null.

From-SVN: r204055

10 years agopr57793.c: Add expected error messages for targets with small integers.
Nick Clifton [Fri, 25 Oct 2013 09:04:53 +0000 (09:04 +0000)]
pr57793.c: Add expected error messages for targets with small integers.

* c-c++-common/pr57793.c: Add expected error messages for
targets with small integers.
* gcc.dg/c99-stdint-1.c: Only run on 32-bit plus targets.
* gcc.dg/c99-stdint-2.c: Likewise.
* gcc.dg/cdce1.c: Likewise.
* gcc.dg/fold-overflow-1.c: Likewise.
* gcc.dg/utf-cvt.c: Likewise.
* gcc.dg/ftrapv-1.c: Only run on targets that support trapping
arithmetic.
* gcc.dg/ftrapv-2.c: Likewise.
* gcc.dg/pr30286.c: Likewise.
* gcc.dg/pr19340.c: Only run on targets that support
scheduling.
* lib/target-supports.exp (check_effective_target_trapping): New
proc.  Returns true if the target supports trapping arithmetic.

From-SVN: r204053

10 years agorecog.c (search_ofs): New static variable moved from...
Eric Botcazou [Fri, 25 Oct 2013 08:55:19 +0000 (08:55 +0000)]
recog.c (search_ofs): New static variable moved from...

* recog.c (search_ofs): New static variable moved from...
(peep2_find_free_register): ...here.
(peephole2_optimize): Initialize it.

From-SVN: r204050

10 years agoinvoke.texi (fopenmp): Change supported OpenMP version to 4.0.
Tobias Burnus [Fri, 25 Oct 2013 08:20:11 +0000 (10:20 +0200)]
invoke.texi (fopenmp): Change supported OpenMP version to 4.0.

2013-10-25  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (fopenmp): Change supported OpenMP version
        to 4.0.

From-SVN: r204049

10 years agoi386.h (TARGET_MPX): New define.
Uros Bizjak [Fri, 25 Oct 2013 07:08:14 +0000 (09:08 +0200)]
i386.h (TARGET_MPX): New define.

* config/i386/i386.h (TARGET_MPX): New define.
(TARGET_MPX_P): Ditto.

From-SVN: r204048

10 years agore PR other/33426 (Support of #pragma ivdep)
Tobias Burnus [Fri, 25 Oct 2013 05:47:25 +0000 (07:47 +0200)]
re PR other/33426 (Support of #pragma ivdep)

2013-10-25  Tobias Burnus  <burnus@net-b.de>

        PR other/33426
        * parser.c (cp_parser_iteration_statement,
        cp_parser_for, cp_parser_c_for, cp_parser_pragma): Handle
        IVDEP pragma.

        * g++.dg/parse/ivdep.C: New.
        * g++.dg/vect/pr33426-ivdep.cc: New.

From-SVN: r204047

10 years agoconstraints.md (B): New.
Ilya Enkovich [Fri, 25 Oct 2013 05:37:57 +0000 (05:37 +0000)]
constraints.md (B): New.

* config/i386/constraints.md (B): New.
(Ti): New.
(Tb): New.
* config/i386/i386-c.c (ix86_target_macros_internal): Add __MPX__.
* config/i386/i386-modes.def (BND32): New.
(BND64): New.
* config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): New.
* config/i386/i386.c (isa_opts): Add mmpx.
(regclass_map): Add bound registers.
(dbx_register_map): Likewise.
(dbx64_register_map): Likewise.
(svr4_dbx_register_map): Likewise.
(PTA_MPX): New.
(ix86_option_override_internal): Support MPX ISA.
(ix86_conditional_register_usage): Support bound registers.
(print_reg): Likewise.
(ix86_code_end): Add MPX bnd prefix.
(output_set_got): Likewise.
(ix86_output_call_insn): Likewise.
(ix86_print_operand): Add '!' (MPX bnd) print prefix support.
(ix86_print_operand_punct_valid_p): Likewise.
(ix86_print_operand_address): Support UNSPEC_BNDMK_ADDR and
UNSPEC_BNDMK_ADDR.
(ix86_class_likely_spilled_p): Add bound regs support.
(ix86_hard_regno_mode_ok): Likewise.
(x86_order_regs_for_local_alloc): Likewise.
(ix86_bnd_prefixed_insn_p): New.
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Fix to new value.
(FIXED_REGISTERS): Add bound registers.
(CALL_USED_REGISTERS): Likewise.
(REG_ALLOC_ORDER): Likewise.
(HARD_REGNO_NREGS): Likewise.
(TARGET_MPX): New.
(VALID_BND_REG_MODE): New.
(FIRST_BND_REG): New.
(LAST_BND_REG): New.
(reg_class): Add BND_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(BND_REGNO_P): New.
(ANY_BND_REG_P): New.
(BNDmode): New.
(HI_REGISTER_NAMES): Add bound registers.
* config/i386/i386.md (UNSPEC_BNDMK): New.
(UNSPEC_BNDMK_ADDR): New.
(UNSPEC_BNDSTX): New.
(UNSPEC_BNDLDX): New.
(UNSPEC_BNDLDX_ADDR): New.
(UNSPEC_BNDCL): New.
(UNSPEC_BNDCU): New.
(UNSPEC_BNDCN): New.
(UNSPEC_MPX_FENCE): New.
(BND0_REG): New.
(BND1_REG): New.
(type): Add mpxmov, mpxmk, mpxchk, mpxld, mpxst.
(length_immediate): Likewise.
(prefix_0f): Likewise.
(memory): Likewise.
(prefix_rep): Check for bnd prefix.
(length_nobnd): New.
(length): Use length_nobnd if specified.
(BND): New.
(bnd_ptr): New.
(BNDCHECK): New.
(bndcheck): New.
(*jcc_1): Add bnd prefix and rename length attr to length_nobnd.
(*jcc_2): Likewise.
(jump): Likewise.
(simple_return_internal): Likewise.
(simple_return_pop_internal): Likewise.
(*indirect_jump): Add MPX bnd prefix.
(*tablejump_1): Likewise.
(simple_return_internal_long): Likewise.
(simple_return_indirect_internal): Likewise.
(<mode>_mk): New.
(*<mode>_mk): New.
(mov<mode>): New.
(*mov<mode>_internal_mpx): New.
(<mode>_<bndcheck>): New.
(*<mode>_<bndcheck>): New.
(<mode>_ldx): New.
(*<mode>_ldx): New.
(<mode>_stx): New.
(*<mode>_stx): New.
* config/i386/predicates.md (lea_address_operand): Rename to...
(address_no_seg_operand): ... this.
(address_mpx_no_base_operand): New.
(address_mpx_no_index_operand): New.
(bnd_mem_operator): New.
* config/i386/i386.opt (mmpx): New.
* doc/invoke.texi: Add documentation for the flags -mmpx, -mno-mpx.
* doc/rtl.texi Add documentation for BND32mode and BND64mode.

From-SVN: r204046

10 years agomode-classes.def (MODE_POINTER_BOUNDS): New.
Ilya Enkovich [Fri, 25 Oct 2013 05:36:14 +0000 (05:36 +0000)]
mode-classes.def (MODE_POINTER_BOUNDS): New.

        * mode-classes.def (MODE_POINTER_BOUNDS): New.
        * tree.def (POINTER_BOUNDS_TYPE): New.
        * genmodes.c (complete_mode): Support MODE_POINTER_BOUNDS.
        (POINTER_BOUNDS_MODE): New.
        (make_pointer_bounds_mode): New.
        * machmode.h (POINTER_BOUNDS_MODE_P): New.
        * stor-layout.c (int_mode_for_mode): Support MODE_POINTER_BOUNDS.
        (layout_type): Support POINTER_BOUNDS_TYPE.
        * tree-pretty-print.c (dump_generic_node): Support POINTER_BOUNDS_TYPE.
        * tree.c (build_int_cst_wide): Support POINTER_BOUNDS_TYPE.
        (type_contains_placeholder_1): Likewise.
        * tree.h (POINTER_BOUNDS_TYPE_P): New.
        * varasm.c (output_constant): Support POINTER_BOUNDS_TYPE.
        * doc/rtl.texi (MODE_POINTER_BOUNDS): New.

From-SVN: r204045

10 years agoexpr.c (expand_expr_real_1): Use mode of memory reference rather than mode of address...
Igor Shevlyakov [Fri, 25 Oct 2013 05:06:49 +0000 (05:06 +0000)]
expr.c (expand_expr_real_1): Use mode of memory reference rather than mode of address computation when...

        * expr.c (expand_expr_real_1): Use mode of memory reference rather
        than mode of address computation when calling memory_address_addr_space.

From-SVN: r204044

10 years agoDaily bump.
GCC Administrator [Fri, 25 Oct 2013 00:17:02 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204043

10 years agore PR rtl-optimization/58542 (Arguments of __atomic_* functions are converted in...
Richard Henderson [Thu, 24 Oct 2013 22:27:53 +0000 (15:27 -0700)]
re PR rtl-optimization/58542 (Arguments of __atomic_* functions are converted in unsigned mode)

PR rtl/58542

* optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
instead of create_convert_operand_to.
(maybe_emit_sync_lock_test_and_set): Likewise.
(expand_atomic_compare_and_swap): Likewise.
(maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.

From-SVN: r204040

10 years agocgraph.c (cgraph_fnver_htab): Move GTY((...)) to be before htab_t.
Sriraman Tallam [Thu, 24 Oct 2013 20:26:52 +0000 (20:26 +0000)]
cgraph.c (cgraph_fnver_htab): Move GTY((...)) to be before htab_t.

2013-08-24  Sriraman Tallam  <tmsriram@google.com>

* cgraph.c (cgraph_fnver_htab): Move GTY((...)) to be before htab_t.
Change param_is to use the struct and not the pointer to the struct.

From-SVN: r204039

10 years agoCorrect the date, which was wrong in commit r204021
Tobias Burnus [Thu, 24 Oct 2013 19:23:36 +0000 (21:23 +0200)]
Correct the date, which was wrong in commit r204021

From-SVN: r204035

10 years agocompiler: Implement 3-index slicing.
Ian Lance Taylor [Thu, 24 Oct 2013 19:16:15 +0000 (19:16 +0000)]
compiler: Implement 3-index slicing.

From-SVN: r204034

10 years agogo-test.exp (errchk): Combine quoted strings in comments.
Ian Lance Taylor [Thu, 24 Oct 2013 19:08:45 +0000 (19:08 +0000)]
go-test.exp (errchk): Combine quoted strings in comments.

* go.test/go-test.exp (errchk): Combine quoted strings in
comments.

From-SVN: r204033

10 years agobuiltins.c (dummy_object, [...]): Move to gimplify.c.
Andrew MacLeod [Thu, 24 Oct 2013 19:02:44 +0000 (19:02 +0000)]
builtins.c (dummy_object, [...]): Move to gimplify.c.

* builtins.c (dummy_object, gimplify_va_arg_expr): Move to gimplify.c.
* gimplify.c (build_va_arg_indirect_ref, std_gimplify_va_arg_expr):
Move to targhooks.c.
(dummy_object, gimplify_va_arg_expr): Relocate from builtins.c.
* targhooks.c (build_va_arg_indirect_ref, std_gimplify_va_arg_expr):
Relocate from gimplify.c.
* targhooks.h: Add 2 prototypes.
* tree.h. Delete 2 prototypes.

From-SVN: r204032

10 years agotree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p ): Check both [reg+mult*reg...
Igor Shevlyakov [Thu, 24 Oct 2013 18:55:12 +0000 (18:55 +0000)]
tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p ): Check both [reg+mult*reg] and [mult*reg] to determine if multiplier is allowed.

* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p ): Check both
[reg+mult*reg] and [mult*reg] to determine if multiplier is allowed.

From-SVN: r204031

10 years agoconvert.c (convert_to_real): Guard those unsafe math function convertions with flag_u...
Cong Hou [Thu, 24 Oct 2013 18:10:38 +0000 (14:10 -0400)]
convert.c (convert_to_real): Guard those unsafe math function convertions with flag_unsafe_math_optimizations.

2013-10-24  Cong Hou  <congh@google.com>

    * convert.c (convert_to_real): Guard those unsafe math function
      convertions with flag_unsafe_math_optimizations.  Handle sqrt()
      specially.

2013-10-24  Cong Hou  <congh@google.com>

    * gcc.c-torture/execute/20030125-1.c: Update.

From-SVN: r204028

10 years agore PR other/58712 (issues found by --enable-checking=valgrind)
Markus Trippelsdorf [Thu, 24 Oct 2013 17:28:11 +0000 (17:28 +0000)]
re PR other/58712 (issues found by --enable-checking=valgrind)

        PR ipa/58712
        * cgraph.c (cgraph_create_edge_1): Add indirect_unknown_callee
        as argument.
        (cgraph_create_edge): Use the new argument.
        (cgraph_create_indirect_edge): Likewise.

From-SVN: r204026

10 years agoAdd missing part for last ChangeLog entry:
Joern Rennecke [Thu, 24 Oct 2013 17:16:19 +0000 (18:16 +0100)]
Add missing part for last ChangeLog entry:

(arc_ifcvt) <case 1 and 2>: Check that arc_ccfsm_post_advance
changes statep->state.

From-SVN: r204025

10 years agoarc.c (arc_ccfsm_post_advance): Also handle TYPE_UNCOND_BRANCH.
Joern Rennecke [Thu, 24 Oct 2013 17:11:01 +0000 (17:11 +0000)]
arc.c (arc_ccfsm_post_advance): Also handle TYPE_UNCOND_BRANCH.

        * gcc/config/arc/arc.c (arc_ccfsm_post_advance): Also handle
        TYPE_UNCOND_BRANCH.

From-SVN: r204024

10 years agore PR fortran/44646 ([F08] Implement DO CONCURRENT)
Tobias Burnus [Thu, 24 Oct 2013 16:30:22 +0000 (18:30 +0200)]
re PR fortran/44646 ([F08] Implement DO CONCURRENT)

2013-10-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44646
        * trans-stmt.c (struct forall_info): Add do_concurrent field.
        (gfc_trans_forall_1): Set it for do concurrent.
        (gfc_trans_forall_loop): Mark those as annot_expr_ivdep_kind.

2013-10-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44646
        * gfortran.dg/vect/vect-do-concurrent-1.f90: New.

From-SVN: r204023

10 years agodevirt3.C: New test.
Dehao Chen [Thu, 24 Oct 2013 16:27:57 +0000 (16:27 +0000)]
devirt3.C: New test.

2013-10-24  Dehao Chen  <dehao@google.com>

* g++.dg/opt/devirt3.C: New test.

From-SVN: r204022

10 years agore PR other/33426 (Support of #pragma ivdep)
Tobias Burnus [Thu, 24 Oct 2013 16:25:44 +0000 (18:25 +0200)]
re PR other/33426 (Support of #pragma ivdep)

2013-08-24  Tobias Burnus  <burnus@net-b.de>

        PR other/33426
        * c-pragma.c (init_pragma) Add #pragma ivdep handling.
        * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.

        PR other/33426
        * c-parser.c (c_parser_pragma, c_parser_for_statement):
        Handle PRAGMA_IVDEP.
        (c_parser_statement_after_labels): Update call.

        PR other/33426
        * tree-cfg.c (replace_loop_annotate): New function.
        (execute_build_cfg): Call it.
        * gimplify.c (gimple_boolify, gimplify_expr): Handle
        * ANNOTATE_EXPR.
        * internal-fn.c (expand_ANNOTATE): New function.
        * internal-fn.def (ANNOTATE): Define as new internal function.
        * tree-core.h (tree_node_kind): Add annot_expr_ivdep_kind.
        * tree-pretty-print.c (dump_generic_node): Handle ANNOTATE_EXPR.
        * tree.def (ANNOTATE_EXPR): New DEFTREECODE.
        * doc/extend.texi (Pragmas): Document #pragma ivdep.
        * doc/generic.texi (Expressions): Document ANNOTATE_EXPR.

        PR other/33426
        * testsuite/gcc.dg/ivdep.c: New.
        * testsuite/gcc.dg/vect/vect-ivdep-1.c: New.

From-SVN: r204021

10 years agoc-output-mod-2.c: Fix for -fPIC.
Kyrylo Tkachov [Thu, 24 Oct 2013 14:44:00 +0000 (14:44 +0000)]
c-output-mod-2.c: Fix for -fPIC.

[gcc/testsuite/]
2013-10-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* gcc.target/aarch64/c-output-mod-2.c: Fix for -fPIC.
* gcc.target/aarch64/c-output-mod-3.c: Likewise.

From-SVN: r204019

10 years ago[AArch64,PATCH] Adjust preferred_reload_class of SP+C
Ian Bolton [Thu, 24 Oct 2013 14:31:45 +0000 (14:31 +0000)]
[AArch64,PATCH] Adjust preferred_reload_class of SP+C

Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
From-SVN: r204018

10 years ago* gcc.dg/20020312-2.c: No PIC register for RL78 or MSP430.
Nick Clifton [Thu, 24 Oct 2013 14:22:46 +0000 (14:22 +0000)]
* gcc.dg/20020312-2.c: No PIC register for RL78 or MSP430.

From-SVN: r204017

10 years agogengtype.c (is_file_equal): Check that files will be same length.
Michael Matz [Thu, 24 Oct 2013 13:58:56 +0000 (13:58 +0000)]
gengtype.c (is_file_equal): Check that files will be same length.

* gengtype.c (is_file_equal): Check that files will be same
length.

From-SVN: r204015

10 years agore PR c++/58705 ([c++11] ICE with invalid initializer for _Complex variable)
Marek Polacek [Thu, 24 Oct 2013 13:54:00 +0000 (13:54 +0000)]
re PR c++/58705 ([c++11] ICE with invalid initializer for _Complex variable)

PR c++/58705
cp/
* typeck2.c (check_narrowing): Don't check narrowing when the scalar
initializer is empty.
testsuite/
* g++.dg/parse/pr58705.C: New test.

From-SVN: r204014

10 years agoconfig.gcc (sh-*): Add sh-mem.o to extra_obj.
Christian Bruel [Thu, 24 Oct 2013 13:47:27 +0000 (15:47 +0200)]
config.gcc (sh-*): Add sh-mem.o to extra_obj.

2013-10-25  Christian Bruel  <christian.bruel@st.com>

* config.gcc (sh-*): Add sh-mem.o to extra_obj.
* gcc/config/sh/t-sh (sh-mem.o): New rule.
* gcc/config/sh/sh-mem.cc (expand_block_move): Moved here.
(sh4_expand_cmpstr): New function.
* gcc/config/sh/sh.c (force_into, expand_block_move): Move to sh-mem.cc
* gcc/config/sh/sh-protos.h (sh4_expand_cmpstr): Declare.
* gcc/config/sh/sh.md (cmpstrsi, cmpstr_t): New patterns.
(rotlhi3_8): Rename.

From-SVN: r204013

10 years agoc-parser.c (c_parser_struct_declaration): Add a comment.
Marek Polacek [Thu, 24 Oct 2013 10:42:43 +0000 (10:42 +0000)]
c-parser.c (c_parser_struct_declaration): Add a comment.

c/
* c-parser.c (c_parser_struct_declaration): Add a comment.
(c_parser_declarator): Don't allow _Alignas here.
testsuite/
* gcc.dg/c1x-align-5.c: Add more testing.

From-SVN: r204007

10 years agoconfigure.ac (ZW_PROG_COMPILER_DEPENDENCIES): Use CXX instead of CC.
Jan-Benedict Glaw [Thu, 24 Oct 2013 10:15:52 +0000 (10:15 +0000)]
configure.ac (ZW_PROG_COMPILER_DEPENDENCIES): Use CXX instead of CC.

2013-10-24  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* configure.ac (ZW_PROG_COMPILER_DEPENDENCIES): Use CXX instead of CC.
* Makefile.in (CXXDEPMODE): Assign and change users.
(CCDEPMODE): Delete.
* configure: Regenerate.

From-SVN: r204006

10 years agoFix Ada bootstrap with Solaris /bin/ksh
Rainer Orth [Thu, 24 Oct 2013 08:51:51 +0000 (08:51 +0000)]
Fix Ada bootstrap with Solaris /bin/ksh

* gcc-interface/Make-lang.in (ADA_DEPS): Fix quoting.

From-SVN: r204005

10 years agogengtype: parse base classes for some GTY-marked types
David Malcolm [Thu, 24 Oct 2013 02:10:10 +0000 (02:10 +0000)]
gengtype: parse base classes for some GTY-marked types

2013-10-23  David Malcolm  <dmalcolm@redhat.com>

* gengtype-parse.c (require_without_advance): New.
(type): For GTY-marked types that are not GTY((user)), parse any
base classes, requiring them to be single-inheritance, and not
be templates.  For non-GTY-marked types and GTY((user)),
continue to skip over any C++ inheritance specification.
* gengtype-state.c (state_writer::write_state_struct_type):
Write base class of type (if any).
(read_state_struct_type): Read base class of type (if any).
* gengtype.c (new_structure): Add a "base_class" parameter.
(create_optional_field_): Update for new parameter to
new_structure.
(adjust_field_rtx_def): Likewise.
(adjust_field_tree_exp): Likewise.
* gengtype.h (struct type): Add "base_class" field to the s
union field.
(new_structure): Add "base" parameter.

From-SVN: r204003

10 years agoDaily bump.
GCC Administrator [Thu, 24 Oct 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204000

10 years agocompiler: use builtin runtime calls for integer to string and string to array convers...
Ian Lance Taylor [Wed, 23 Oct 2013 23:57:32 +0000 (23:57 +0000)]
compiler: use builtin runtime calls for integer to string and string to array conversions.

From-SVN: r203996

10 years agotestsuite_containergen.h: New.
Chris Jefferson [Wed, 23 Oct 2013 22:19:30 +0000 (22:19 +0000)]
testsuite_containergen.h: New.

2013-10-23  Chris Jefferson  <chris@bubblescope.net>
    Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/util/testsuite_containergen.h: New.
* testsuite/util/testsuite_iterators.h (test_container<>::val): Add.
* testsuite/25_algorithms/nth_element/random_test.cc: New, use the
above.
* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
* testsuite/25_algorithms/sort/random_test.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r203995

10 years agodirect-move.h: Fix header for executable tests.
Pat Haugen [Wed, 23 Oct 2013 21:40:56 +0000 (21:40 +0000)]
direct-move.h: Fix header for executable tests.

* gcc.target/powerpc/direct-move.h: Fix header for executable tests.

From-SVN: r203994

10 years ago* testsuite/test-expandargv.c: Include unistd.h.
Gerald Pfeifer [Wed, 23 Oct 2013 21:31:45 +0000 (21:31 +0000)]
* testsuite/test-expandargv.c: Include unistd.h.

From-SVN: r203993

10 years agoFix up ChangeLog entries (name, e-mail, formatting, otherwise).
Gerald Pfeifer [Wed, 23 Oct 2013 21:30:54 +0000 (21:30 +0000)]
Fix up ChangeLog entries (name, e-mail, formatting, otherwise).

From-SVN: r203992

10 years agore PR target/57756 (Function target attribute is retaining state of previously seen...
Sriraman Tallam [Wed, 23 Oct 2013 21:13:50 +0000 (21:13 +0000)]
re PR target/57756 (Function target attribute is retaining  state of previously seen function)

PR target/57756

Replace further references to global_options in functions
ix86_option_override_internal and ix86_valid_target_attribute_tree
in config/i386/i386.c.

PR target/57756
* config/i386/i386.c (ix86_option_override_internal):
Change TARGET_SSE2 to TARGET_SSE2_P (opts->...)
(ix86_valid_target_attribute_tree):
Change TARGET_64BIT to TARGET_64BIT_P (opts->...)
Change TARGET_SSE to TARGET_SSE_P (opts->...)

From-SVN: r203991

10 years agoLWG 2165
Jason Merrill [Wed, 23 Oct 2013 19:16:37 +0000 (15:16 -0400)]
LWG 2165

LWG 2165
* method.c (defaulted_late_check): Delete on eh-spec mismatch.
(maybe_explain_implicit_delete): Explain it.

From-SVN: r203989

10 years agoc-format.c (gcc_cxxdiag_char_table): Add %X.
Jason Merrill [Wed, 23 Oct 2013 19:16:15 +0000 (15:16 -0400)]
c-format.c (gcc_cxxdiag_char_table): Add %X.

c-family/
* c-format.c (gcc_cxxdiag_char_table): Add %X.
cp/
* error.c (eh_spec_to_string): New.
(cp_printer): Use it for %X.

From-SVN: r203988

10 years agotree-ssa-loop.h: Remove include files.
Andrew MacLeod [Wed, 23 Oct 2013 18:55:46 +0000 (18:55 +0000)]
tree-ssa-loop.h: Remove include files.

* tree-ssa-loop.h: Remove include files.
* gengtype.c (open_base_files): Adjust include list for gtype-desc.c.
* cfgloopmanip.c: Move required includes from tree-ssa-loop.h.
* graphite-clast-to-gimple.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-pure-const.c: Likewise.
* loop-init.c: Likewise.
* passes.c: Likewise.
* predict.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.

From-SVN: r203987

10 years agoIn C++11 a trivial [cd]tor might not be callable.
Jason Merrill [Wed, 23 Oct 2013 18:08:56 +0000 (14:08 -0400)]
In C++11 a trivial [cd]tor might not be callable.

* class.c (user_provided_p): A function deleted on its declation
in the class is not user-provided.
(type_build_ctor_call): Also force a ctor call if we
might have a deleted or private trivial ctor.
(type_build_dtor_call): New.
(deduce_noexcept_on_destructors): Remove obsolete code.
* cp-tree.h: Declare type_build_dtor_call.
* decl.c (expand_static_init): Make sure trivial dtors are callable.
(cxx_maybe_build_cleanup): Likewise.
* except.c (build_throw): Likewise.
* init.c (build_value_init): Handle trivial but not callable ctors.
(perform_target_ctor): Make sure trivial dtor is callable.
(perform_member_init): Likewise.
(expand_cleanup_for_base): Likewise.
(build_vec_delete_1): Likewise.
(build_delete): Likewise.
(push_base_cleanups): Likewise.
(build_new_1): Avoid redundant error.
* method.c (synthesized_method_walk): Can't ever exit early in C++11.
Always process the subobject destructor.
* semantics.c (finish_compound_literal): Make sure trivial dtor is
callable.
* typeck2.c (split_nonconstant_init): Likewise.

From-SVN: r203985

10 years ago* include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.
Jason Merrill [Wed, 23 Oct 2013 18:08:46 +0000 (14:08 -0400)]
* include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.

From-SVN: r203984

10 years agoaltivec.md (mulv8hi3): Adjust for little endian.
Bill Schmidt [Wed, 23 Oct 2013 16:23:42 +0000 (16:23 +0000)]
altivec.md (mulv8hi3): Adjust for little endian.

2013-10-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (mulv8hi3): Adjust for little endian.

From-SVN: r203980

10 years agore PR tree-optimization/58775 (reassoc1 causes an ICE with some bool arithmetic)
Jakub Jelinek [Wed, 23 Oct 2013 16:19:17 +0000 (18:19 +0200)]
re PR tree-optimization/58775 (reassoc1 causes an ICE with some bool arithmetic)

PR tree-optimization/58775
PR tree-optimization/58791
* tree-ssa-reassoc.c (reassoc_stmt_dominates_stmt_p): New function.
(insert_stmt_after): Rewritten, don't move the stmt, but really
insert it.
(get_stmt_uid_with_default): Remove.
(build_and_add_sum): Use insert_stmt_after and
reassoc_stmt_dominates_stmt_p.  Fix up uid if bb contains only
labels.
(update_range_test): Set uid on stmts added by
force_gimple_operand_gsi.  Don't immediately modify statements
in inter-bb optimization, just update oe->op values.
(optimize_range_tests): Return bool whether any changed have
been made.
(update_ops): New function.
(struct inter_bb_range_test_entry): New type.
(maybe_optimize_range_tests): Perform statement changes here.
(not_dominated_by, appears_later_in_bb, get_def_stmt,
ensure_ops_are_available): Remove.
(find_insert_point): Rewritten.
(rewrite_expr_tree): Remove MOVED argument, add CHANGED argument,
return LHS of the (new resp. old) stmt.  Don't call
ensure_ops_are_available, don't reuse SSA_NAMEs, recurse first
instead of last, move new stmt at the right place.
(linearize_expr, repropagate_negates): Don't reuse SSA_NAMEs.
(negate_value): Likewise.  Set uids.
(break_up_subtract_bb): Initialize uids.
(reassociate_bb): Adjust rewrite_expr_tree caller.
(do_reassoc): Don't call renumber_gimple_stmt_uids.

* gcc.dg/guality/pr58791-1.c: New test.
* gcc.dg/guality/pr58791-2.c: New test.
* gcc.dg/guality/pr58791-3.c: New test.
* gcc.dg/guality/pr58791-4.c: New test.
* gcc.dg/guality/pr58791-5.c: New test.
* gcc.c-torture/compile/pr58775.c: New test.
* gcc.dg/tree-ssa/reassoc-28.c: Don't scan reassoc1 dump.

From-SVN: r203979

10 years agore PR libstdc++/58850 (Conversion error in chrono)
Paolo Carlini [Wed, 23 Oct 2013 15:31:26 +0000 (15:31 +0000)]
re PR libstdc++/58850 (Conversion error in chrono)

2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58850
* include/std/chrono (minutes, hours): Change typedefs to uniformly
use int64_t.
* testsuite/20_util/duration/arithmetic/58850.cc: New.

From-SVN: r203978

10 years agore PR target/58838 (mullw sets condition code incorrectly.)
David Edelsohn [Wed, 23 Oct 2013 14:32:32 +0000 (14:32 +0000)]
re PR target/58838 (mullw sets condition code incorrectly.)

        PR target/58838
        * config/rs6000/rs6000.md (mulsi3_internal1 and splitter): Add
        TARGET_32BIT final condition.
        (mulsi3_internal2 and splitter): Same.

From-SVN: r203977

10 years agotree-ssa-threadedge.c (thread_across_edge): Do not allow threading through joiner...
Jeff Law [Wed, 23 Oct 2013 13:54:48 +0000 (07:54 -0600)]
tree-ssa-threadedge.c (thread_across_edge): Do not allow threading through joiner blocks with abnormal outgoing edges.

* tree-ssa-threadedge.c (thread_across_edge): Do not allow threading
through joiner blocks with abnormal outgoing edges.

* tree-ssa-threadupdate.c (thread_block_1): Renamed from thread_block.
Add parameter JOINERS, to allow/disallow threading through joiner
blocks.
(thread_block): New.  Call thread_block_1.
(mark_threaded_blocks): Remove code to filter out certain cases
of threading through joiner blocks.
(thread_through_all_blocks): Document how we can have a dangling
edge AUX field and clear it.

From-SVN: r203975

10 years agoinvoke.texi (Option Summary): Remove -fno-default-inline.
Ian Lance Taylor [Wed, 23 Oct 2013 13:28:11 +0000 (13:28 +0000)]
invoke.texi (Option Summary): Remove -fno-default-inline.

* doc/invoke.texi (Option Summary): Remove -fno-default-inline.
(C++ Dialect Options): Likewise.
(Optimize Options): Likewise.

From-SVN: r203974

10 years agoAdd missing check in stmt_local_def for tail-merge.
Tom de Vries [Wed, 23 Oct 2013 13:26:45 +0000 (13:26 +0000)]
Add missing check in stmt_local_def for tail-merge.

2013-10-22  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/58805
* tree-ssa-tail-merge.c (stmt_local_def): Add gimple_vdef check.

* gcc.dg/pr58805.c: New test.

From-SVN: r203973

10 years agotree-vect-patterns.c (vect_recog_divmod_pattern): Optimize sequence based on get_rang...
Jakub Jelinek [Wed, 23 Oct 2013 12:45:21 +0000 (14:45 +0200)]
tree-vect-patterns.c (vect_recog_divmod_pattern): Optimize sequence based on get_range_info returned range.

* tree-vect-patterns.c (vect_recog_divmod_pattern): Optimize
sequence based on get_range_info returned range.

* gcc.target/i386/vect-div-1.c: New test.

From-SVN: r203969

10 years ago* gcc.dg/vect/pr58508.c: Remove dg-options.
Jakub Jelinek [Wed, 23 Oct 2013 12:44:06 +0000 (14:44 +0200)]
* gcc.dg/vect/pr58508.c: Remove dg-options.

From-SVN: r203968

10 years agotree-ssa.h: Remove all #include's
Andrew MacLeod [Wed, 23 Oct 2013 12:16:58 +0000 (12:16 +0000)]
tree-ssa.h: Remove all #include's

* tree-ssa.h: Remove all #include's
* gengtype.c (open_base_files): Adjust include list for gtype-desc.c.
* alias.c: Move required includes from tree-ssa.h.
* asan.c: Likewise.
* builtins.c: Likewise.
* calls.c: Likewise.
* cfgexpand.c: Likewise.
* cfghooks.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* dse.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* ggc-page.c: Likewise.
* gimple-builder.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-iterator.c: Likewise.
* gimple-low.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimplify.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* loop-init.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-section-in.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* omp-low.c: Likewise.
* passes.c: Likewise.
* predict.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* sese.c: Likewise.
* targhooks.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-dfa.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-mudflap.c: Likewise.
* tree-nested.c: Likewise.
* tree-nrv.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-operands.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* varpool.c: Likewise.
* vtable-verify.c: Likewise.

From-SVN: r203967

10 years agocontrib.texi ([Fran@,{c}ois Dumont], [...]): New entries.
Paolo Carlini [Wed, 23 Oct 2013 11:59:07 +0000 (11:59 +0000)]
contrib.texi ([Fran@,{c}ois Dumont], [...]): New entries.

2013-10-22  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/contrib.texi ([Fran@,{c}ois Dumont], [Tim Shen],
[Ed Smith-Rowland]): New entries.
([Stephen M. Webb]): Update.

From-SVN: r203959

10 years agopr58830.c: New testcase.
Richard Biener [Wed, 23 Oct 2013 11:57:21 +0000 (11:57 +0000)]
pr58830.c: New testcase.

2013-10-23  Richard Biener  <rguenther@suse.de>

* gcc.dg/torture/pr58830.c: New testcase.

From-SVN: r203957

10 years agore PR libstdc++/58815 (Casting/Conversion operator for std::decimal not supported)
Paolo Carlini [Wed, 23 Oct 2013 11:48:26 +0000 (11:48 +0000)]
re PR libstdc++/58815 (Casting/Conversion operator for std::decimal not supported)

2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58815
* include/decimal/decimal (decimal32::operator long long(),
decimal64::operator long long(), decimal128::operator long long()):
Add in c++11 mode per n3407.
* testsuite/decimal/pr58815.cc: New.

From-SVN: r203956

10 years agoImplement C++14 [[deprecated]] modulo [[gnu::deprecated]] bugs.
Edward Smith-Rowland [Wed, 23 Oct 2013 11:43:25 +0000 (11:43 +0000)]
Implement C++14 [[deprecated]] modulo [[gnu::deprecated]] bugs.

gcc/cp:

2013-10-23  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement C++14 [[deprecated]] modulo [[gnu::deprecated]] bugs.
* parser.c (cp_parser_std_attribute): Interpret [[deprecated]]
as [[gnu::deprecated]].

gcc/testsuite:

2013-10-23  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement C++14 [[deprecated]] modulo [[gnu::deprecated]] bugs.
* g++.dg/cpp1y/attr-deprecated.C: New.
* g++.dg/cpp1y/attr-deprecated-neg.C: New.

From-SVN: r203955

10 years agotilegx.c: Include "tree.h".
Jan-Benedict Glaw [Wed, 23 Oct 2013 10:39:45 +0000 (10:39 +0000)]
tilegx.c: Include "tree.h".

2013-10-23  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/tilegx/tilegx.c: Include "tree.h".

From-SVN: r203952

10 years agogimple-pretty-print.c (dump_ssaname_info): Always print "# " before the info, not...
Jakub Jelinek [Wed, 23 Oct 2013 06:32:23 +0000 (08:32 +0200)]
gimple-pretty-print.c (dump_ssaname_info): Always print "# " before the info, not after it.

* gimple-pretty-print.c (dump_ssaname_info): Always print "# " before
the info, not after it.
(gump_gimple_phi): Add COMMENT argument, if true, print "# " after
dump_ssaname_info call.
(pp_gimple_stmt_1): Adjust caller.
(dump_phi_nodes): Likewise.  Don't print "# " here.

From-SVN: r203947

10 years agore PR fortran/58793 (Wrong value for _vtab for intrinsic types with CLASS(*): storage...
Tobias Burnus [Wed, 23 Oct 2013 05:44:02 +0000 (07:44 +0200)]
re PR fortran/58793 (Wrong value for _vtab for intrinsic types with CLASS(*): storage_size of class(*) gives wrong result)

2013-10-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58793
        * interface.c (compare_parameter): Reject passing TYPE(*)
        to CLASS(*).

2013-10-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58793
        * gfortran.dg/assumed_type_8.f90: New.

From-SVN: r203945

10 years agoDaily bump.
GCC Administrator [Wed, 23 Oct 2013 00:17:19 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r203944

10 years agobasic_string.h (operator""s): Remove space between quotes and literal identifier.
Edward Smith-Rowland [Wed, 23 Oct 2013 00:12:36 +0000 (00:12 +0000)]
basic_string.h (operator""s): Remove space between quotes and literal identifier.

2013-10-22  Edward Smith-Rowland  <3dw4rd@verizon.net>

* include/bits/basic_string.h (operator""s): Remove space between quotes
and literal identifier.
* include/std/chrono (operator""h, operator""min, operator""s,
operator""ms, operator""us, operator""ns): Ditto.

From-SVN: r203941

10 years agoImplement N3779 - User-defined Literals for std::complex, part 2 of UDL for Standard...
Ed Smith-Rowland [Wed, 23 Oct 2013 00:09:19 +0000 (00:09 +0000)]
Implement N3779 - User-defined Literals for std::complex, part 2 of UDL for Standard Library Types

2013-09-27  Ed Smith-Rowland  <3dw4rd@verizon.net>

Implement N3779 - User-defined Literals for std::complex,
part 2 of UDL for Standard Library Types
* include/std/complex: Add complex literal operators.
* testsuite/26_numerics/complex/literals/types.cc: New.
* testsuite/26_numerics/complex/literals/values.cc: New.

From-SVN: r203940

10 years ago++0x -> ++11.
Mike Stump [Tue, 22 Oct 2013 23:23:51 +0000 (23:23 +0000)]
++0x -> ++11.

From-SVN: r203939

10 years agoi386.h (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES): New tuning flag.
Jan Hubicka [Tue, 22 Oct 2013 19:15:02 +0000 (21:15 +0200)]
i386.h (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES): New tuning flag.

* i386.h (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES): New tuning flag.
* x86-tune.def (TARGET_MISALIGNED_MOVE_STRING_PROLOGUES): Define it.
* i386.c (expand_small_movmem_or_setmem): New function.
(expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): New function
(alg_usable_p): Add support for value ranges; cleanup.
(ix86_expand_set_or_movmem): Add support for misaligned moves.

From-SVN: r203937

10 years agoAdd new option -ggnu-pubnames.
Sterling Augustine [Tue, 22 Oct 2013 19:01:26 +0000 (19:01 +0000)]
Add new option -ggnu-pubnames.

2013-10-22  Sterling Augustine  <saugustine@google.com>

* doc/invoke.texi: Document -ggnu-pubnames.
* common.opt: Add new option -ggnu-pubnames and modify -gpubnames
logic.
* dwarf2out.c: Include gdb/gdb-index.h.
(DEBUG_PUBNAMES_SECTION, DEBUG_PUBTYPES_SECTION): Handle
debug_generate_pub_sections.
(is_java, output_pubtables, output_pubname): New functions.
(include_pubname_in_output): Handle debug_generate_pub_sections at
level 2.
(size_of_pubnames): Use new local space_for_flags based on
debug_generate_pub_sections.
(output_pubnames): Unify pubnames and pubtypes output logic.
Genericize comments.  Call output_pubname.
(dwarf2out_finish): Move logic to output_pubnames and call it.

From-SVN: r203936

10 years agore PR target/58779 (wrong code at -O1 on x86_64-linux-gnu)
Uros Bizjak [Tue, 22 Oct 2013 18:35:53 +0000 (20:35 +0200)]
re PR target/58779 (wrong code at -O1 on x86_64-linux-gnu)

PR target/58779
* config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
Remove CCCmode handling.
<case LTU>: Return 'c' suffix for CCCmode.
<case GEU>: Return 'nc' suffix for CCCmode.
(ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
* config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
(*sub<mode>3_cc_overflow): Ditto.
(*subsi3_zext_cc_overflow): Ditto.

testsuite/ChangeLog:

PR target/58779
* gcc.target/i386/pr30315.c: Remove MINUSCC, DECCC, MINUSCCONLY
and MINUSCCZEXT defines. Update scan-assembler dg directive.
* gcc.dg/torture/pr58779.c: New test.

From-SVN: r203935

10 years agonor.c: New.
Steve Ellcey [Tue, 22 Oct 2013 18:25:56 +0000 (18:25 +0000)]
nor.c: New.

2013-10-22  Steve Ellcey  <sellcey@mips.com>

* gcc.target/mips/nor.c: New.

From-SVN: r203934

10 years agomips.c (mips_rtx_costs): Fix cost estimate for nor (AND (NOT OP1) (NOT OP2)).
Steve Ellcey [Tue, 22 Oct 2013 18:24:43 +0000 (18:24 +0000)]
mips.c (mips_rtx_costs): Fix cost estimate for nor (AND (NOT OP1) (NOT OP2)).

2013-10-22  Steve Ellcey  <sellcey@mips.com>

* config/mips/mips.c (mips_rtx_costs):  Fix cost estimate for nor
(AND (NOT OP1) (NOT OP2)).

From-SVN: r203932

10 years agogdb-index.h: Merge from gdb tree.
Sterling Augustine [Tue, 22 Oct 2013 18:12:28 +0000 (18:12 +0000)]
gdb-index.h: Merge from gdb tree.

2013-10-22  Sterling Augustine  <saugustine@google.com>

* gdb/gdb-index.h: Merge from gdb tree.

From-SVN: r203931