aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-08-25re PR libstdc++/54248 (Comment in standard library header talks about boost)Jonathan Wakely2-2/+8
PR libstdc++/54248 * include/bits/concept_check.h: Replace references to boost namespace. From-SVN: r190668
2012-08-25i386.h (FP_REG_P): Remove macro.Uros Bizjak7-19/+33
* config/i386/i386.h (FP_REG_P): Remove macro. (FP_REGNO_P): Ditto. (HARD_REGNO_NREGS): Use STACK_REGNO_P instead of FP_REGNO_P. (HARD_REGNO_NREGS_HAS_PADDING): Ditto. (ANY_FP_REGNO_P): Ditto. (HARD_REGNO_RENAME_OK): Use STACK_REGNO_P. * config/i386/i386.c (output_387_ffreep): Use STACK_REGNO_P instead of FP_REGNO_P. (ix86_hard_regno_mode_ok): Ditto. * config/i386/predicates.md (fp_register_operand): Ditto. (register_and_not_fp_reg_operand): Ditto. * config/i386/sync.md (atomic_loaddi_fpu): Use STACK_REG_P instead of FP_REG_P. * reg-stack.c (get_true_reg): Use STACK_REG_P instead of FP_REG_P. From-SVN: r190667
2012-08-25* ChangeLog: Fix whitespace.Uros Bizjak1-73/+48
From-SVN: r190666
2012-08-25re PR c++/51421 ([c++0x] ICE with invalid use of auto)Paolo Carlini5-7/+45
/cp 2012-08-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51421 * decl2.c (mark_used): Consistently return false after errors about uses before deduction of auto. * semantics.c (finish_id_expression): Check mark_used return value and return error_mark_node in case of failure. /testsuite 2012-08-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51421 * g++.dg/cpp0x/auto34.C: New. From-SVN: r190665
2012-08-24PR c++/51213 (again)Jason Merrill6-154/+185
PR c++/51213 (again) * pt.c (deduction_tsubst_fntype): Remove. (fn_type_unification): Check deduction depth and call instantiate_template here. Handle default argument access checks. (determine_specialization): Suppress access control. (tsubst_decl): Check for excessive deduction depth. (recheck_decl_substitution): Make sure access control is on. (type_unification_real): Don't mess with access deferring here. (get_bindings): Adjust for fn_type_unification return type. * call.c (enum rejection_reason_code): Drop rr_template_instantiation. (template_instantiation_rejection): Remove. (struct rejection_reason): Change targs to num_targs. (template_unification_rejection, print_z_candidate): Adjust. (add_template_candidate_real): Adjust for fn_type_unification change. * class.c (resolve_address_of_overloaded_function): Likewise. * cp-tree.h: Adjust declaration. From-SVN: r190664
2012-08-24print-tree.c (print_node): Don't check TREE_LANG_FLAG_* on TREE_VEC or SSA_NAME.Jason Merrill2-14/+23
* print-tree.c (print_node): Don't check TREE_LANG_FLAG_* on TREE_VEC or SSA_NAME. From-SVN: r190663
2012-08-24pt.c (tsubst_default_argument): Indicate where the default argument is being ↵Jason Merrill18-119/+159
instantiated for. * pt.c (tsubst_default_argument): Indicate where the default argument is being instantiated for. (tsubst_expr): Restore previous location. (tsubst_copy_and_build): Set and restore location. * call.c (build_new_method_call_1): Remember location of call. * semantics.c (finish_call_expr): Here too. * parser.c (cp_parser_omp_for_loop): Remember the location of the increment expression. From-SVN: r190662
2012-08-25Daily bump.GCC Administrator1-1/+1
From-SVN: r190661
2012-08-24re PR c/54363 (ICE when compiling malformed struct initializers)Jakub Jelinek4-1/+23
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
2012-08-24re PR c/54355 (ICE on invalid code in switch statement)Jakub Jelinek4-1/+24
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
2012-08-24tree-ssa-live.c (dump_var_map): Do not dump the partition map of virtual ↵Steven Bosscher2-1/+7
operands. * tree-ssa-live.c (dump_var_map): Do not dump the partition map of virtual operands. From-SVN: r190655
2012-08-24Sync plugin-api.h with gold patch : ↵Sriraman Tallam2-1/+42
http://sourceware.org/ml/binutils/2012-08/msg00447.html * 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
2012-08-24pt.c (resolve_overloaded_unification): Use coerce_template_parms instead of ↵Jason Merrill2-39/+21
get_bindings. * pt.c (resolve_overloaded_unification): Use coerce_template_parms instead of get_bindings. (resolve_nondeduced_context): Likewise. From-SVN: r190653
2012-08-24pt.c (register_specialization): Correct argument to ↵Jason Merrill3-4/+21
check_specialization_namespace. * pt.c (register_specialization): Correct argument to check_specialization_namespace. (determine_specialization): Don't consider members of unspecialized types. From-SVN: r190652
2012-08-24i386.c (ia32_multipass_dfa_lookahead): Add case for Atom processor.Yuri Rumyantsev2-0/+6
* config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add case for Atom processor. From-SVN: r190649
2012-08-24dwarf2out.c (gen_producer_string): Omit command line switch if ↵Simon Baldwin7-1/+22
CL_NO_DWARF_RECORD flag set. 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
2012-08-24Allow arg_pointer_rtx/frame_pointer_rtx for based_loc_descrH.J. Lu5-1/+35
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
2012-08-24re PR target/54222 ([avr] Implement fixed-point support)Georg-Johann Lay2-5/+10
PR target/54222 * config/avr/t-avr (conv_X): Rename to func_X. From-SVN: r190646
2012-08-24predict.c (maybe_hot_frequency_p): New parameter fun.Martin Jambor13-76/+121
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
2012-08-24re PR target/54222 ([avr] Implement fixed-point support)Georg-Johann Lay15-680/+3049
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
2012-08-24re PR fortran/54350 (FAIL: gfortran.dg/realloc_on_assign_*.f90 -O ↵Tobias Burnus7-229/+213
(internal compiler error) at r190586) 2012-08-24 Tobias Burnus <burnus@net-b.de> PR fortran/54350 * trans-array.c (free_ss_info): Free data.array.subscript. (gfc_free_ss): No longer free data.array.subscript. (walk_coarray): New function, moved from trans-intrinsic.c (gfc_conv_expr_descriptor): Walk array descriptor instead of taking passed "ss". (get_array_ctor_all_strlen, gfc_add_loop_ss_code, gfc_conv_array_parameter): Update call and cleanup ss handling. * trans-array.h (gfc_conv_expr_descriptor, gfc_conv_array_parameter): Update prototype. * trans-expr.c (gfc_conv_derived_to_class, conv_isocbinding_procedure, gfc_conv_procedure_call, gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign, gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update call to gfc_conv_expr_descriptor and gfc_conv_array_parameter, and clean up. * trans-intrinsic.c (walk_coarray): Moved to trans-array.c (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_len, gfc_conv_intrinsic_size, gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size, gfc_conv_intrinsic_transfer, gfc_conv_allocated, gfc_conv_associated, gfc_conv_intrinsic_loc, conv_intrinsic_move_alloc): Update calls. * trans-io.c (gfc_convert_array_to_string, set_internal_unit, gfc_trans_transfer): Ditto. * trans-stmt.c (gfc_conv_elemental_dependencies, gfc_trans_sync, trans_associate_var, gfc_trans_pointer_assign_need_temp): Ditto. From-SVN: r190641
2012-08-24Daily bump.GCC Administrator1-1/+1
From-SVN: r190636
2012-08-23code-readable-4.c: New test.Richard Sandiford2-0/+38
gcc/testsuite/ * gcc.target/mips/code-readable-4.c: New test. From-SVN: r190630
2012-08-23alias.c (rtx_equal_for_memref_p): Convert constant cases.Kenneth Zadeck25-226/+121
2012-08-23 Kenneth Zadeck <zadeck@naturalbridge.com> * alias.c (rtx_equal_for_memref_p): Convert constant cases. * combine.c (find_single_use_1, mark_used_regs_combine): Convert to CASE_CONST_ANY. * cse.c (exp_equiv_p, canon_reg, fold_rtx, cse_process_notes_1, count_reg_usage): Convert constant cases. * cselib.c (cselib_expand_value_rtx_1): Convert to CASE_CONST_ANY. (cselib_subst_to_values): Convert constant cases. * df-scan.c (df_uses_record): Ditto. * dse.c (const_or_frame_p): Convert case statements to explicit if-then-else using mode classes. * emit-rtl.c (verify_rtx_sharing, copy_insn_1): Convert constant cases. * explow.c (convert_memory_address_addr_space): Ditto. * gcse.c (want_to_gcse_p, oprs_unchanged_p, compute_transp): Ditto. * genattrtab.c (attr_copy_rtx, clear_struct_flag): Ditto. * ira.c (equiv_init_varies_p, contains_replace_regs, memref_referenced_p, rtx_moveable_p): Ditto. * jump.c (mark_jump_label_1): Remove constant cases. (rtx_renumbered_equal_p): Convert to CASE_CONST_UNIQUE. * loop-invariant.c (check_maybe_invariant, hash_invariant_expr_1, invariant_expr_equal_p): Convert to CASE_CONST_ANY. * postreload-gcse.c (oprs_unchanged_p): Convert constant cases. * reginfo.c (reg_scan_mark_refs): Ditto. * regrename.c (scan_rtx): Ditto. * reload1.c (eliminate_regs_1, elimination_effects, scan_paradoxical_subregs): Ditto. * reload.c (operands_match_p, subst_reg_equivs): Ditto. * resource.c (mark_referenced_resources, mark_set_resources): Ditto. * rtlanal.c (rtx_unstable_p, rtx_varies_p, count_occurrences) (reg_mentioned_p, modified_between_p, modified_in_p) (volatile_insn_p, volatile_refs_p, side_effects_p, may_trap_p_1, inequality_comparisons_p, computed_jump_p_1): Ditto. * rtl.c (copy_rtx, rtx_equal_p_cb, rtx_equal_p): Ditto. * sched-deps.c (sched_analyze_2): Ditto. * valtrack.c (cleanup_auto_inc_dec): Ditto. * rtl.h: (CASE_CONST_SCALAR_INT, CASE_CONST_UNIQUE, CASE_CONST_ANY): New macros. From-SVN: r190627
2012-08-23* decl.c (compute_array_index_type): Use type_dependent_expression_p.Jason Merrill3-9/+12
From-SVN: r190626
2012-08-232012-08-23 Julian Brown <julian@codesourcery.com>Julian Brown6-14/+136
Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/mips/mips.md (UNSPEC_CASESI_DISPATCH): New. (MIPS16_T_REGNUM): New constant. (tablejump): Don't use for MIPS16_SHORT_JUMP_TABLES. (casesi): New. (casesi_internal_mips16_<mode>): New. * config/mips/mips.c (mips16_split_long_branches): Adjust test to ignore casesi jump tables. * config/mips/mips.h (TARGET_MIPS16_SHORT_JUMP_TABLES): Update comment. (CASE_VECTOR_MODE): Use SImode unconditionally. (CASE_VECTOR_SHORTEN_MODE): Define. (ASM_OUTPUT_ADDR_DIFF_ELT): Output word-sized addr_diff_elts when necessary for MIPS16_SHORT_JUMP_TABLES. gcc/testsuite/ * gcc.target/mips/code-readable-1.c: Add -O to options. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r190625
2012-08-23Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE ↵Georg-Johann Lay3-4/+14
before adding them to libgcc-objects, libgcc-s-objects. * Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE before adding them to libgcc-objects, libgcc-s-objects. * fixed-obj.mk: Only expand dependency if $o is not in LIB2FUNCS_EXCLUDE. From-SVN: r190624
2012-08-23c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only for ↵Arnaud Charlet2-8/+32
pointers, and add missing Convention C pragma. * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only for pointers, and add missing Convention C pragma. (print_ada_struct_decl): Add missing aliased keyword. (dump_ads): Add pragma Ada_2005 and Style_Checks (Off). From-SVN: r190623
2012-08-23rs6000.c (rs6000_density_test): Free loop body.Bill Schmidt2-0/+5
2012-08-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_density_test): Free loop body. From-SVN: r190622
2012-08-23Add -da and remove -dm in GCC manualH.J. Lu2-6/+8
PR driver/54335 * doc/invoke.texi: Add -da and remove -dm. From-SVN: r190621
2012-08-23tree-vect-stmts.c (vect_finish_stmt_generation): Update virtual SSA form.Richard Guenther2-0/+31
2012-08-23 Richard Guenther <rguenther@suse.de> * tree-vect-stmts.c (vect_finish_stmt_generation): Update virtual SSA form. From-SVN: r190620
2012-08-23tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION.Jakub Jelinek4-4/+16
* tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION. fortran/ * trans-decl.c (trans_function_start, generate_coarray_init, create_main_function, gfc_generate_constructors): Call allocate_struct_function instead of init_function_start. From-SVN: r190619
2012-08-23re PR c++/20420 (Incorrectly Accepts double declarations)Paolo Carlini4-2/+77
/cp 2012-08-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/20420 * name-lookup.c (supplement_binding_1): Handle specially enums only in class templates. (validate_nonmember_using_decl): Enforce 7.3.3/10 about duplicate using declarations at function scope. /testsuite 2012-08-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/20420 * g++.dg/lookup/using53.C: New. From-SVN: r190618
2012-08-23Fix typo in gty.texi.Mingjie Xing2-1/+5
From-SVN: r190617
2012-08-23re PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and ↵Jonathan Wakely52-235/+256
std::put_time (C++11, section 27.7.5)) PR libstdc++/54354 * doc/xml/manual/status_cxx2011.xml: Note missing manipulators. * doc/html/*: Regenerate. From-SVN: r190616
2012-08-23convert.c: Split into manageable parts:Georg-Johann Lay12-82/+262
* gcc.dg/fixed-point/convert.c: Split into manageable parts: * gcc.dg/fixed-point/convert-1.c: New. * gcc.dg/fixed-point/convert-2.c: New. * gcc.dg/fixed-point/convert-3.c: New. * gcc.dg/fixed-point/convert-4.c: New. * gcc.dg/fixed-point/convert-float-1.c: New. * gcc.dg/fixed-point/convert-float-2.c: New. * gcc.dg/fixed-point/convert-float-3.c: New. * gcc.dg/fixed-point/convert-float-4.c: New. * gcc.dg/fixed-point/convert-accum-neg.c: New. * gcc.dg/fixed-point/convert-sat.c: New. * gcc.dg/fixed-point/convert.h: New. From-SVN: r190615
2012-08-23tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands.Richard Guenther2-10/+14
2012-08-23 Richard Guenther <rguenther@suse.de> * tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands. (find_uses_to_rename_use): Likewise. (find_uses_to_rename_bb): Likewise. (find_uses_to_rename_stmt): Walk over all operands. From-SVN: r190614
2012-08-23compiler: Comparisons return untyped boolean value.Ian Lance Taylor3-18/+35
From-SVN: r190612
2012-08-23compiler: Remove old handling of unsafe.Pointer in type assertions.Ian Lance Taylor2-34/+3
Fixes issue 17. From-SVN: r190608
2012-08-23Daily bump.GCC Administrator1-1/+1
From-SVN: r190607
2012-08-22re PR target/54089 ([SH] Refactor shift patterns)Oleg Endo6-65/+233
PR target/54089 * config/sh/predicates (p27_rshift_count_operand, not_p27_rshift_count_operand): New predicates. * config/sh/sh.c (sh_ashlsi_clobbers_t_reg_p, sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p): Handle special case when shift amount is 31. (gen_ashift): Emit gen_shlr instead of gen_lshrsi3_m. * config/sh/sh.md (ashlsi3_d): Set type to 'dyn_shift' instead of 'arith'. (ashlsi_c): Rename to shll. Adapt calls to gen_ashlsi_c throughout the file. (lshrsi3): Remove clobber from expander. Use shift_count_operand instead of nonmemory_operand predicate for second operand. Add handling of case lshrsi3_n_clobbers_t. (lshrsi3_k): Use p27_rshift_count_operand for second operand. (lshrsi3_d): Make insn_and_split. Split dynamic shift to constant shift sequences if beneficial. (lshrsi3_n): Make insn_and_split. Split constant shift sequence to dynamic shift if beneficial. (lshrsi3_n_clobbers_t): New insn_and_split. (lshrsi3_m): Delete. PR target/54089 * gcc.target/sh/pr54089-2.c: New. From-SVN: r190603
2012-08-22tracer.c (mark_bb_seen): Use SBITMAP_SIZE.Steven Bosscher3-63/+89
* tracer.c (mark_bb_seen): Use SBITMAP_SIZE. * alias.c (MAX_ALIAS_LOOP_PASSES): Update comment with rationale, or rather a lack thereof. (init_alias_analysis): Propagate the latest information across the CFG in topological order to propagate as far as possible in each iteration. Ignore debug insns. From-SVN: r190602
2012-08-22Add -mlong-double-64/-mlong-double-80 to i386H.J. Lu20-3/+196
gcc/ * doc/invoke.texi: Document -mlong-double-64/-mlong-double-80. * config/i386/i386.c (flag_opts): Add -mlong-double-64. (TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic. * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if TARGET_LONG_DOUBLE_64 is true. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro. (WIDEST_HARDWARE_FP_SIZE): Defined to 80. * config/i386/i386.opt (mlong-double-80): New option. (mlong-double-64): Likewise. * config/i386/i386-c.c (ix86_target_macros): Define __LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64. gcc/testsuite/ * gcc.target/i386/long-double-64-1.c: New file. * gcc.target/i386/long-double-64-2.c: Likewise. * gcc.target/i386/long-double-64-3.c: Likewise. * gcc.target/i386/long-double-64-4.c: Likewise. * gcc.target/i386/long-double-80-1.c: Likewise. * gcc.target/i386/long-double-80-2.c: Likewise. * gcc.target/i386/long-double-80-3.c: Likewise. * gcc.target/i386/long-double-80-4.c: Likewise. * gcc.target/i386/long-double-80-5.c: Likewise. * gcc.target/i386/long-double-80-6.c: Likewise. * gcc.target/i386/long-double-80-7.c: Likewise. libgcc/ * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New. From-SVN: r190599
2012-08-22Replace REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_targetH.J. Lu2-1/+9
PR target/54347 * config/i386/i386.c (ix86_split_to_parts): Replace REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target. From-SVN: r190598
2012-08-22tree-vectorizer.c (vectorize_loops): Do not call ↵Richard Guenther3-8/+7
mark_virtual_operands_for_renaming. 2012-08-22 Richard Guenther <rguenther@suse.de> * tree-vectorizer.c (vectorize_loops): Do not call mark_virtual_operands_for_renaming. * tree-vect-slp.c (vect_slp_transform_bb): Likewise. Do not update SSA form here. From-SVN: r190596
2012-08-22Make TREE_NOTHROW use the base.nothrow_flag againDodji Seketeli2-1/+5
While working on something else, I noticed that debug_tree (vec), when vec is a TREE_VEC was crashing because TREE_NOTHROW was asserting that its argument is not a TREE_VEC, so print_node would crash. It turned out that TREE_NOTHROW was accidentally modified by this change set: commit 87d8f7b67c6a36c37e48e298f26e693520099b1e Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue Aug 21 10:03:38 2012 +0000 2012-08-21 Richard Guenther <rguenther@suse.de> cp/ * cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor. (ATTR_IS_DEPENDENT): Likewise. (ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of TREE_LANG_FLAG_0 on TREE_VECs. * tree.h (struct tree_base): Add union to make it possible to re-use the upper 4 bytes for tree codes that do not need as many flags as others. Move visited and default_def_flag to common bits section in exchange for saturating_flag and unsigned_flag. Add SSA name version and tree vec length fields here. (struct tree_vec): Remove length field here. (struct tree_ssa_name): Remove version field here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190558 138bc75d-0d04-0410-961f-82ee72b054a4 Richard Guenther pre-approved the reverting of the TREE_NOTHROW change line. Tested on x86_64-unknown-linux-gnu against master and applied to trunk. gcc/ * tree.h (TREE_NOTHROW): Use the base.nothrow_flag. From-SVN: r190595
2012-08-22re PR tree-optimization/46590 (long compile time with -O2 and many loops)Richard Guenther7-20/+87
2012-08-22 Richard Guenther <rguenther@suse.de> PR tree-optimization/46590 * tree-ssa-alias.h (get_continuation_for_phi): Add alias query counter output argument. (walk_non_aliased_vuses): Add alias query counter argument to the walker callback. * tree-ssa-alias.c (maybe_skip_until): Add alias query counter output argument and count alias queries. (get_continuation_for_phi_1): Likewise. (get_continuation_for_phi): Likewise. (walk_non_aliased_vuses): Add alias query counter argument to the walker callback and allow it to abort the walk by returning -1. * tree-ssa-pre.c (translate_vuse_through_block): Adjust. * tree-ssa-sccvn.c (vn_reference_lookup_2): Add alias query counter parmeter, abort walk if that is bigger than --param sccvn-max-alias-queries-per-access. * params.def (sccvn-max-alias-queries-per-access): New param. * doc/invoke.texi (sccvn-max-alias-queries-per-access): Document. From-SVN: r190594
2012-08-22tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking.Richard Guenther3-30/+43
2012-08-22 Richard Guenther <rguenther@suse.de> * tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking. * tree-into-ssa.c (initialize_flags_in_bb): Use gcc_checking_assert instead of gcc_assert. (mark_block_for_update): Likewise. (add_new_name_mapping): Likewise. (mark_def_sites): Likewise. (insert_phi_nodes_for): Likewise. (rewrite_debug_stmt_uses): Likewise. (rewrite_stmt): Likewise. (maybe_register_def): Likewise. (rewrite_update_phi_arguments): Likewise. (rewrite_update_enter_block): Likewise. (mark_def_interesting): Likewise. (prepare_def_site_for): Likewise. (insert_updated_phi_nodes_for): Likewise. From-SVN: r190593
2012-08-22tree-vect-loop.c (vect_transform_loop): Initialize check_profitability to false.Jakub Jelinek3-1/+11
* tree-vect-loop.c (vect_transform_loop): Initialize check_profitability to false. * tree-predcom.c (try_combine_chains): Free the worklist vector at the end. From-SVN: r190592
2012-08-22re PR tree-optimization/54317 (FAIL: c45532m c45532n c45532o c45532p)Marc Glisse4-3/+41
2012-08-22 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/54317 gcc/ * tree-vrp.c (extract_range_from_binary_expr_1): Test for double_int overflow. Remove dead tests. gcc/testsuite/ * gcc.dg/tree-ssa/vrp79.c: New testcase. From-SVN: r190591