1. 27 Jun, 2013 6 commits
    • s390.c: Rename UNSPEC_CCU_TO_INT to UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to... · 5a3fe9b6
      2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* config/s390/s390.c: Rename UNSPEC_CCU_TO_INT to
      	UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
      	(struct machine_function): Add tbegin_p.
      	(s390_canonicalize_comparison): Fold CC mode compares to
      	conditional jump if possible.
      	(s390_emit_jump): Return the emitted jump.
      	(s390_branch_condition_mask, s390_branch_condition_mnemonic):
      	Handle CCRAWmode compares.
      	(s390_option_override): Default to -mhtm if available.
      	(s390_reg_clobbered_rtx): Handle floating point regs as well.
      	(s390_regs_ever_clobbered): Use s390_regs_ever_clobbered also for
      	FPRs instead of df_regs_ever_live_p.
      	(s390_optimize_nonescaping_tx): New function.
      	(s390_init_frame_layout): Extend clobbered_regs array to cover
      	FPRs as well.
      	(s390_emit_prologue): Call s390_optimize_nonescaping_tx.
      	(s390_expand_tbegin): New function.
      	(enum s390_builtin): New enum definition.
      	(code_for_builtin): New array definition.
      	(s390_init_builtins): New function.
      	(s390_expand_builtin): New function.
      	(TARGET_INIT_BUILTINS): Define.
      	(TARGET_EXPAND_BUILTIN): Define.
      	* common/config/s390/s390-common.c (processor_flags_table): Add
      	PF_TX.
      	* config/s390/predicates.md (s390_comparison): Handle CCRAWmode.
      	(s390_alc_comparison): Likewise.
      	* config/s390/s390-modes.def: Add CCRAWmode.
      	* config/s390/s390.h (processor_flags): Add PF_TX.
      	(TARGET_CPU_HTM): Define macro.
      	(TARGET_HTM): Define macro.
      	(TARGET_CPU_CPP_BUILTINS): Define __HTM__ for htm.
      	* config/s390/s390.md: Rename UNSPEC_CCU_TO_INT to
      	UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
      	(UNSPECV_TBEGIN, UNSPECV_TBEGINC, UNSPECV_TEND, UNSPECV_TABORT)
      	(UNSPECV_ETND, UNSPECV_NTSTG, UNSPECV_PPA): New unspecv enum
      	values.
      	(TBEGIN_MASK, TBEGINC_MASK): New constants.
      	("*cc_to_int"): Move up.
      	("*mov<mode>cc", "*cjump_64", "*cjump_31"): Accept integer
      	constants other than 0.
      	("*ccraw_to_int"): New insn and splitter definition.
      	("tbegin", "tbegin_nofloat", "tbegin_retry")
      	("tbegin_retry_nofloat", "tbeginc", "tend", "tabort")
      	("tx_assist"): New expander.
      	("tbegin_1", "tbegin_nofloat_1", "*tbeginc_1", "*tend_1")
      	("*tabort_1", "etnd", "ntstg", "*ppa"): New insn definition.
      	* config/s390/s390.opt: Add -mhtm option.
      	* config/s390/s390-protos.h (s390_emit_jump): Add return type.
      	* config/s390/htmxlintrin.h: New file.
      	* config/s390/htmintrin.h: New file.
      	* config/s390/s390intrin.h: New file.
      	* doc/extend.texi: Document htm builtins.
      	* config.gcc: Add the new header files to extra_headers.
      
      2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* gcc.target/s390/htm-1.c: New file.
      	* gcc.target/s390/htm-nofloat-1.c: New file.
      	* gcc.target/s390/htm-xl-intrin-1.c: New file.
      
      2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
      
      	* config/s390/target.h: Include htmintrin.h.
      	(_HTM_ITM_RETRIES): New macro definition.
      	(htm_available, htm_init, htm_begin, htm_begin_success)
      	(htm_commit, htm_abort, htm_abort_should_retry): New functions.
      
      From-SVN: r200454
      Andreas Krebbel committed
    • DR 1589 · b47a3fef
      	DR 1589
      	* g++.dg/cpp0x/initlist72.C: New.
      
      From-SVN: r200451
      Jason Merrill committed
    • typeck2.c (store_init_value): Diagnose a non-constant initializer for in-class static. · 46812ec2
      	* typeck2.c (store_init_value): Diagnose a non-constant
      	initializer for in-class static.
      
      From-SVN: r200450
      Jason Merrill committed
    • re PR c++/57408 (lambda, Variable length arrays, thread, internal compiler… · 447cf554
      re PR c++/57408 (lambda, Variable length arrays, thread, internal compiler error: in expand_expr_real_1, at expr.c:9327)
      
      	PR c++/57408
      	* semantics.c (add_capture): Set type to error_mark_node after
      	error.
      
      From-SVN: r200449
      Jason Merrill committed
    • Daily bump. · 412ec6cf
      From-SVN: r200447
      GCC Administrator committed
    • Revert 200443. · e2c600d2
      From-SVN: r200444
      Michael Eager committed
  2. 26 Jun, 2013 14 commits
  3. 25 Jun, 2013 12 commits
  4. 24 Jun, 2013 8 commits
    • compiler: generate dummy names for blank-named constants. · fe7144f4
      Otherwise such const declarations are not checked.
      
      From-SVN: r200381
      Ian Lance Taylor committed
    • compiler: Add support for method values. · 571d3f91
      From-SVN: r200379
      Ian Lance Taylor committed
    • files.c (_cpp_stack_include): Fix the highest_location when header file is… · 39953c79
      files.c (_cpp_stack_include): Fix the highest_location when header file is guarded by #ifndef and is included...
      
      2013-06-24  Dehao Chen  <dehao@google.com>
      
      	* files.c (_cpp_stack_include): Fix the highest_location when header
      	file is guarded by #ifndef and is included twice.
      
      From-SVN: r200376
      Dehao Chen committed
    • configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement. · b4005c71
      2013-06-24  Steve Ellcey  <sellcey@mips.com>
      
      	* configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement.
      	* configure: Regenerate.
      
      From-SVN: r200374
      Steve Ellcey committed
    • re PR libstdc++/57691 (freestanding libstdc++ has compile error) · a4e28c81
      2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
      	PR libstdc++/57691
      	* include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
      	declare per the letter of the C++ standard in terms of void.
      	* include/c_std/cstdlib: Likewise.
      
      From-SVN: r200371
      Bernd Edlinger committed
    • re PR tree-optimization/57358 (segmentation fault with attribute(optimize(O0))) · 5fe8e757
      2013-06-24  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/57358
      	* ipa-prop.c (ipa_func_spec_opts_forbid_analysis_p): New function.
      	(ipa_compute_jump_functions_for_edge): Bail out if it returns true.
      	(ipa_analyze_params_uses): Generate pessimistic info when true.
      
      testsuite
      	* gcc.dg/ipa/pr57358.c: New test.
      
      From-SVN: r200369
      Martin Jambor committed
    • re PR tree-optimization/57539 (ice in ipa_edge_duplication_hook) · 44a60244
      2013-06-24  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/57539
      	* cgraphclones.c (cgraph_clone_node): Add parameter new_inlined_to, set
      	global.inlined_to of the new node to it.  All callers changed.
      	* ipa-inline-transform.c (clone_inlined_nodes): New variable
      	inlining_into, pass it to cgraph_clone_node.
      	* ipa-prop.c (ipa_propagate_indirect_call_infos): Do not call
      	ipa_free_edge_args_substructures.
      	(ipa_edge_duplication_hook): Only add edges from inlined nodes to
      	rdesc linked list.  Do not assert rdesc edges have inlined caller.
      	Assert we have found an rdesc in the rdesc list.
      
      From-SVN: r200368
      Martin Jambor committed
    • pointer-set.h (struct pointer_set_t): Move here from pointer-set.c. · 7c5848b8
      2013-06-24  Richard Biener  <rguenther@suse.de>
      
      	* pointer-set.h (struct pointer_set_t): Move here from
      	pointer-set.c.
      	(pointer_set_lookup): Declare.
      	(class pointer_map): New template class implementing a
      	generic pointer to T map.
      	(pointer_map<T>::pointer_map, pointer_map<T>::~pointer_map,
      	pointer_map<T>::contains, pointer_map<T>::insert,
      	pointer_map<T>::traverse): New functions.
      	* pointer-set.c (struct pointer_set_t): Moved to pointer-set.h.
      	(pointer_set_lookup): New function.
      	(pointer_set_contains): Use pointer_set_lookup.
      	(pointer_set_insert): Likewise.
      	(insert_aux): Remove.
      	(struct pointer_map_t): Embed a pointer_set_t.
      	(pointer_map_create): Adjust.
      	(pointer_map_destroy): Likewise.
      	(pointer_map_contains): Likewise.
      	(pointer_map_insert): Likewise.
      	(pointer_map_traverse): Likewise.
      	* tree-streamer.h (struct streamer_tree_cache_d): Use a
      	pointer_map<unsigned> instead of a pointer_map_t.
      	* tree-streamer.c (streamer_tree_cache_insert_1): Adjust.
      	(streamer_tree_cache_lookup): Likewise.
      	(streamer_tree_cache_create): Likewise.
      	(streamer_tree_cache_delete): Likewise.
      	* lto-streamer.h (struct lto_tree_ref_encoder): Use a
      	pointer_map<unsigned> instead of a pointer_map_t.
      	(lto_init_tree_ref_encoder): Adjust.
      	(lto_destroy_tree_ref_encoder): Likewise.
      	* lto-section-out.c (lto_output_decl_index): Likewise.
      	(lto_record_function_out_decl_state): Likewise.
      	* dominance.c (iterate_fix_dominators): Use pointer_map<int>.
      
      From-SVN: r200367
      Richard Biener committed