1. 26 Aug, 2012 15 commits
  2. 25 Aug, 2012 13 commits
  3. 24 Aug, 2012 12 commits
    • re PR c/54363 (ICE when compiling malformed struct initializers) · 6f8f67e9
      	PR c/54363
      	* gimplify.c (optimize_compound_literals_in_ctor): Only recurse
      	if init is a CONSTRUCTOR.
      
      	* gcc.dg/pr54363.c: New test.
      
      From-SVN: r190657
      Jakub Jelinek committed
    • re PR c/54355 (ICE on invalid code in switch statement) · 6265d07c
      	PR c/54355
      	* c-decl.c (c_parser_label): Pass true as nested and fix up comments
      	for nested and empty_ok arguments in the call to
      	c_parser_declaration_or_fndef.
      
      	* gcc.dg/pr54355.c: New test.
      
      From-SVN: r190656
      Jakub Jelinek committed
    • tree-ssa-live.c (dump_var_map): Do not dump the partition map of virtual operands. · 12fdc099
      	* tree-ssa-live.c (dump_var_map): Do not dump the partition
      	map of virtual operands.
      
      From-SVN: r190655
      Steven Bosscher committed
    • Sync plugin-api.h with gold patch : http://sourceware.org/ml/binutils/2012-08/msg00447.html · 36ec6d1c
      	* plugin-api.h (ld_plugin_allow_unique_segment_for_sections):
      	New interface.
      	(ld_plugin_unique_segment_for_sections): New interface.
      	(LDPT_ALLOW_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
      	(LDPT_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
      	(tv_allow_unique_segment_for_sections): New member.
      	(tv_unique_segment_for_sections): New member.
      
      From-SVN: r190654
      Sriraman Tallam committed
    • pt.c (resolve_overloaded_unification): Use coerce_template_parms instead of get_bindings. · 92849267
      	* pt.c (resolve_overloaded_unification): Use coerce_template_parms
      	instead of get_bindings.
      	(resolve_nondeduced_context): Likewise.
      
      From-SVN: r190653
      Jason Merrill committed
    • pt.c (register_specialization): Correct argument to check_specialization_namespace. · 60b5de49
      	* pt.c (register_specialization): Correct argument to
      	check_specialization_namespace.
      	(determine_specialization): Don't consider members of
      	unspecialized types.
      
      From-SVN: r190652
      Jason Merrill committed
    • i386.c (ia32_multipass_dfa_lookahead): Add case for Atom processor. · 013734b9
              * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
              case for Atom processor.
      
      From-SVN: r190649
      Yuri Rumyantsev committed
    • dwarf2out.c (gen_producer_string): Omit command line switch if CL_NO_DWARF_RECORD flag set. · 77ee7190
      gcc/ChangeLog
      	* dwarf2out.c (gen_producer_string): Omit command line switch if
      	CL_NO_DWARF_RECORD flag set.
      	* opts.h (CL_NO_DWARF_RECORD): New.
      	* opt-functions.awk (switch_flags): Add NoDWARFRecord.
      	* doc/options.texi: Document NoDWARFRecord option flag.
      
      gcc/fortran/ChangeLog
      	* lang.opt (-cpp=): Mark flag NoDWARFRecord.
      
      From-SVN: r190648
      Simon Baldwin committed
    • Allow arg_pointer_rtx/frame_pointer_rtx for based_loc_descr · a9b94d0d
      gcc/
      
      	PR debug/52857
      	* dwarf2out.c (mem_loc_descriptor): Allow arg_pointer_rtx and
      	frame_pointer_rtx for based_loc_descr.
      
      gcc/testsuite/
      
      	PR debug/52857
      	* gcc.target/i386/pr52857-1.c: New.
      	* gcc.target/i386/pr52857-2.c: Likewise.
      
      From-SVN: r190647
      H.J. Lu committed
    • re PR target/54222 ([avr] Implement fixed-point support) · 4aeaaca3
      	PR target/54222
      	* config/avr/t-avr (conv_X): Rename to func_X.
      
      From-SVN: r190646
      Georg-Johann Lay committed
    • predict.c (maybe_hot_frequency_p): New parameter fun. · 2eb712b4
      2012-08-24  Martin Jambor  <mjambor@suse.cz>
      
      	* predict.c (maybe_hot_frequency_p): New parameter fun.  Use its decl
      	instead of current_function_decl, use profile_status_for_function and
      	ENTRY_BLOCK_PTR_FOR_FUNCTION with fun instead of their cfun variants.
      	(maybe_hot_count_p): New parameter fun, use
      	profile_status_for_function instead of its cfun_variant.
      	(maybe_hot_bb_p): New parameter fun, checking-assert it, pass it to
      	all callees.
      	(maybe_hot_edge_p): Pass cfun to maybe_hot_count_p and
      	maybe_hot_frequency_p.
      	(probably_never_executed_bb_p): New parameter fun, use its decl
      	instead of current_function_decl.
      	(optimize_bb_for_size_p): Pass cfun to maybe_hot_bb_p.
      	(rtl_profile_for_bb): Likewise.
      	(compute_function_frequency): Pass cfun to maybe_hot_bb_p and
      	probably_never_executed_bb_p.
      	* tree-ssa-operands.c (ssa_operands_active): New operator fun.  Use it
      	instead of cfun.
      	(update_stmt_operands): Pass cfun as an argument of
      	ssa_operands_active.
      	(swap_tree_operands): Likewise.
      	* gimple-iterator.c (update_modified_stmt): Likewise.
      	(update_modified_stmts): Likewise.
      	* tree-flow-inline.h (delink_stmt_imm_use): Likewise.
      	* tree-ssa.c (delete_tree_ssa): Likewise.
      	* bb-reorder.c (bb_to_key): Pass cfun to probably_never_executed_bb_p.
      	(push_to_next_round_p): Likewise.
      	(find_rarely_executed_basic_blocks_and_crossing_edges ): Likewise.
      	* cfg.c: Inlude tree.h.
      	(check_bb_profile): Use profile_status_for_function,
      	EXIT_BLOCK_PTR_FOR_FUNCTION and ENTRY_BLOCK_PTR_FOR_FUNCTION with
      	DECL_STRUCT_FUNCTION (current_function_decl) instead of their cfun
      	variants.
      	(dump_bb_info): Pass DECL_STRUCT_FUNCTION (current_function_decl) to
      	maybe_hot_bb_p and probably_never_executed_bb_p.
      	* gimple-pretty-print.c (gimple_dump_bb_buff): Checking-assert that
      	DECL_STRUCT_FUNCTION (current_function_decl) is not NULL.  Pass it to
      	dump_histograms_for_stmt.
      	(dump_gimple_mem_ops): Pass DECL_STRUCT_FUNCTION (current_function_decl)
      	as an argument to dump_gimple_mem_ops.
      	* tree-cfg.c (dump_function_to_file): Rename parameter fn to fndecl.
      	Do not change cfun.  Change and restore current_function_decl.
      	* Makefile.in (cfg.o): Include TREE_H in dependencies.
      
      From-SVN: r190645
      Martin Jambor committed
    • re PR target/54222 ([avr] Implement fixed-point support) · e55e4056
      libgcc/
      	PR target/54222
      	* config/avr/lib1funcs-fixed.S: New file.
      	* config/avr/lib1funcs.S: Include it.  Undefine some divmodsi
      	after they are used.
      	(neg2, neg4): New macros.
      	(__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants.
      	(__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants.
      	(__umulhisi3): Speed up MUL variant if there is enough flash.
      	* config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's
      	avr-modes.def.
      	* config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf,
      	_fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf,
      	_fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq,
      	_fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3,
      	_mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3,
      	_udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3.
      	(LIB2FUNCS_EXCLUDE): Add supported functions.
      
      gcc/
      	PR target/54222
      	* avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes.
      	* avr/avr-fixed.md: New file.
      	* avr/avr.md: Include it.
      	(cc): Add: minus.
      	(adjust_len): Add: minus, minus64, ufract, sfract.
      	(ALL1, ALL2, ALL4, ORDERED234): New mode iterators.
      	(MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
      	(MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
      	(pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3,
      	subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi, 
      	cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1.
      	(*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3,
      	ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3,
      	*lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all
      	16-bit modes in ALL2.
      	(subhi3, casesi, strlenhi): Add clobber when expanding minus:HI.
      	(*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const,
      	ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const,
      	*reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all
      	32-bit modes in ALL4.
      	* avr-dimode.md (ALL8): New mode iterator.
      	(adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn,
      	subdi3_const_insn, cbranchdi4, compare_di2,
      	compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn,
      	ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle
      	all 64-bit modes in ALL8.
      	* config/avr/avr-protos.h (avr_to_int_mode): New prototype.
      	(avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes.
      	* config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to...
      	(avr_fixed_point_supported_p): ...this new static function.
      	(TARGET_BUILD_BUILTIN_VA_LIST): Define to...
      	(avr_build_builtin_va_list): ...this new static function.
      	(avr_adjust_type_node): New static function.
      	(avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P.
      	(avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new
      	pseudo instead of gen_rtx_MINUS.
      	(avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED.
      	(notice_update_cc): Handle: CC_MINUS.
      	(output_movqi): Generalize to handle respective fixed-point modes.
      	(output_movhi, output_movsisf, avr_2word_insn_p): Ditto.
      	(avr_out_compare, avr_out_plus_1): Also handle fixed-point modes.
      	(avr_assemble_integer): Ditto.
      	(output_reload_in_const, output_reload_insisf): Ditto.
      	(avr_compare_pattern): Skip all modes > 4 bytes.
      	(avr_2word_insn_p): Skip movuqq_insn, movqq_insn.
      	(avr_out_fract, avr_out_minus, avr_out_minus64): New functions.
      	(avr_to_int_mode): New function.
      	(adjust_insn_length): Handle: ADJUST_LEN_SFRACT,
      	ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64.
      	* config/avr/predicates.md (const0_operand): Allow const_fixed.
      	(const_operand, const_or_immediate_operand): New.
      	(nonmemory_or_const_operand): New.
      	* config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ):
      	New constraints.
      	* config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define.
      
      From-SVN: r190644
      Georg-Johann Lay committed