Commit Graph

126088 Commits

Author SHA1 Message Date
Oleg Endo
277772f62d 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
2013-10-27 22:40:25 +00:00
Uros Bizjak
1d9b1f94b0 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
2013-10-27 21:32:29 +01:00
Richard Sandiford
d570872da1 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
2013-10-27 18:50:01 +00:00
Gerald Pfeifer
4962e51350 * testsuite/test-demangle.c: Include unistd.h.
From-SVN: r204107
2013-10-27 18:35:20 +00:00
Hans-Peter Nilsson
f02827cdb3 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
2013-10-27 14:42:53 +00:00
Tobias Burnus
d4af74d4e8 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
2013-10-27 08:40:31 +01:00
GCC Administrator
f32311532c Daily bump.
From-SVN: r204101
2013-10-27 00:17:11 +00:00
Oleg Endo
a38b5918ec 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
2013-10-26 23:26:14 +00:00
Oleg Endo
35d1b0838c 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
2013-10-26 22:07:37 +00:00
Vladimir Makarov
a6f623d4fa 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
2013-10-26 17:02:49 +00:00
Tim Shen
9f0d9611e7 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
2013-10-26 16:09:28 +00:00
Jeff Law
5d905bb613 predict.c (PRED_MUDFLAP): Remove.
* predict.c (PRED_MUDFLAP): Remove.
	* targhooks.c (build_va_arg_indirect_ref): Remove mudflap support.

From-SVN: r204091
2013-10-26 04:24:19 -06:00
Jeff Law
98906124e3 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
2013-10-26 04:14:34 -06:00
GCC Administrator
19b632c6dd Daily bump.
From-SVN: r204083
2013-10-26 00:17:13 +00:00
Vladimir Makarov
f6937e32d0 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
2013-10-25 21:34:26 +00:00
Vladimir Makarov
01b1efaa14 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
2013-10-25 21:06:38 +00:00
François Dumont
3ff4317f1c 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
2013-10-25 19:25:06 +00:00
Tobias Burnus
f5d368b68d 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
2013-10-25 21:25:00 +02:00
Yufeng Zhang
42917d01c0 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
2013-10-25 17:25:08 +00:00
Paolo Carlini
b02ef56d8d 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
2013-10-25 16:26:10 +00:00
David Malcolm
3475937054 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
2013-10-25 15:00:35 +00:00
Gary Benson
c24d86bcb2 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
2013-10-25 13:56:51 +00:00
Marc Glisse
bb362135e2 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
2013-10-25 12:35:51 +00:00
Richard Biener
447f322380 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
2013-10-25 11:51:11 +00:00
Paolo Carlini
5970573cc1 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
2013-10-25 10:54:56 +00:00
Eric Botcazou
356610cb47 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
2013-10-25 09:21:11 +00:00
Nick Clifton
2e30c7fbc4 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
2013-10-25 09:04:53 +00:00
Eric Botcazou
e86a8146c7 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
2013-10-25 08:55:19 +00:00
Tobias Burnus
24ebcbc867 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
2013-10-25 10:20:11 +02:00
Uros Bizjak
cb61036706 i386.h (TARGET_MPX): New define.
* config/i386/i386.h (TARGET_MPX): New define.
	(TARGET_MPX_P): Ditto.

From-SVN: r204048
2013-10-25 09:08:14 +02:00
Tobias Burnus
43ae206cf9 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
2013-10-25 07:47:25 +02:00
Ilya Enkovich
66d6cbaa56 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
2013-10-25 05:37:57 +00:00
Ilya Enkovich
65f55baca4 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
2013-10-25 05:36:14 +00:00
Igor Shevlyakov
ca9f377992 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
2013-10-24 23:06:49 -06:00
GCC Administrator
0e855edf09 Daily bump.
From-SVN: r204043
2013-10-25 00:17:02 +00:00
Richard Henderson
464046a62a 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
2013-10-24 15:27:53 -07:00
Sriraman Tallam
bdd833da13 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
2013-10-24 20:26:52 +00:00
Tobias Burnus
d73749df2e Correct the date, which was wrong in commit r204021
From-SVN: r204035
2013-10-24 21:23:36 +02:00
Ian Lance Taylor
26b8f7ebf5 compiler: Implement 3-index slicing.
From-SVN: r204034
2013-10-24 19:16:15 +00:00
Ian Lance Taylor
ccc2311566 go-test.exp (errchk): Combine quoted strings in comments.
* go.test/go-test.exp (errchk): Combine quoted strings in
	comments.

From-SVN: r204033
2013-10-24 19:08:45 +00:00
Andrew MacLeod
4a7cb16f83 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
2013-10-24 19:02:44 +00:00
Igor Shevlyakov
f258df2d19 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
2013-10-24 12:55:12 -06:00
Cong Hou
247dbcf4ab 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
2013-10-24 14:10:38 -04:00
Markus Trippelsdorf
51ce05475c 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
2013-10-24 11:28:11 -06:00
Joern Rennecke
c0f5c38c51 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
2013-10-24 18:16:19 +01:00
Joern Rennecke
53ea364f18 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
2013-10-24 18:11:01 +01:00
Tobias Burnus
2ca4e2c229 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
2013-10-24 18:30:22 +02:00
Dehao Chen
a2ad7995d0 devirt3.C: New test.
2013-10-24  Dehao Chen  <dehao@google.com>

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

From-SVN: r204022
2013-10-24 16:27:57 +00:00
Tobias Burnus
8170608bfc 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
2013-10-24 18:25:44 +02:00
Kyrylo Tkachov
a079f50a72 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
2013-10-24 14:44:00 +00:00