diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 497 |
1 files changed, 497 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 729f51f8846..e20c0e437cd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,500 @@ +2012-04-03 Eric Botcazou <ebotcazou@adacore.com> + + * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS. + Change type of BITOFFSET to signed. Make sure the lower bound of + the computed range is non-negative by adjusting OFFSET and BITPOS. + (expand_assignment): Adjust call to get_bit_range. + +2012-04-03 Sandeep Kumar Singh <Sandeep.Singh2@kpitcummins.com> + + * h8300/h8300.c (h8300_current_function_monitor_function_p): + New function. Added to check monitor functions. + (h8300_option_override): Modified to generate error/warning + messages for invalid combinations of different command line + options. + * h8300/h8300.md: Generate 'rte' for monitor functions. Do not + save EXR on stack for monitor function in case of H8S target + when "-mno-exr" is passed. + * h8300/h8300-protos.h + (h8300_current_function_monitor_function_p): Add prototype. + * doc/invoke.texi: Document H8S options. + +2012-04-03 Tristan Gingold <gingold@adacore.com> + + * configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead + of gcc_AC_FUNC_MMAP_BLACKLIST. + * acinclude.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Remove. + * Makefile.in (aclocal_deps): Add mmap.m4. + * configure: Regenerate. + * aclocal.m4: Regenerate. + +2012-04-03 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52808 + * tracer.c (tail_duplicate): Return whether we have duplicated + any block. + (tracer): If we have duplicated any block, cleanup the CFG. + * cfghooks.c (duplicate_block): If we duplicated a loop + header but not its loop, destroy the loop because it now has + multiple entries. + * tree-ssa-threadupdate.c (thread_through_loop_header): Tell + the cfg manipulation routines we are not creating a multiple + entry loop. + +2012-04-03 Tristan Gingold <gingold@adacore.com> + + * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle + 'byte' alignment. + (vms_c_common_override_options): Allow parameterless variadic + functions. + +2012-04-03 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/52835 + * tree-data-ref.c (build_rdg): Return NULL if + compute_data_dependences_for_loop failed. + +2012-04-03 Eric Botcazou <ebotcazou@adacore.com> + + * varasm.c (initializer_constant_valid_for_bitfield_p): Return true + for REAL_CST as well. + (output_constructor): Use RECORD_OR_UNION_TYPE_P predicate. + In the bitfield case, if the value is a REAL_CST, convert it first to + an INTEGER_CST. + +2012-04-02 H.J. Lu <hongjiu.lu@intel.com> + + * config.gcc: Use i386/biarchx32.h instead of i386/biarch64.h + for --with-abi={x32|mx32} or --with-multilib-list=mx32. + (supported_defaults): Add abi for i[34567]86-*-* and x86_64-*-*. + + * config/i386/biarchx32.h: New. + +2012-04-02 Anatoly Sokolov <aesok@post.ru> + + * config/arm/arm.h (PREFERRED_RELOAD_CLASS): Remove. + * config/arm/arm.c (TARGET_PREFERRED_RELOAD_CLASS): Define. + (arm_preferred_reload_class): New function. + +2012-04-02 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52756 + * tree-ssa-threadupdate.c (def_split_header_continue_p): New function. + (thread_through_loop_header): After threading through the loop latch + remove the split part from the loop and clear further threading + opportunities that would create a multiple entry loop. + +2012-04-02 Richard Guenther <rguenther@suse.de> + + PR rtl-optimization/52800 + * cprop.c (execute_rtl_cprop): Call cleanup_cfg with + CLEANUP_CFG_CHANGED. + +2012-04-02 Richard Guenther <rguenther@suse.de> + + PR middle-end/52803 + * loop-init.c (gate_handle_loop2): Destroy loops here if + we don't enter RTL loop optimizers. + +2012-04-02 Uros Bizjak <ubizjak@gmail.com> + + Partially revert: + 2012-03-29 Richard Guenther <rguenther@suse.de> + + * rtl.h (extended_count): Remove. + * combine.c (extended_count): Remove. + +2012-04-02 Dodji Seketeli <dodji@redhat.com> + + PR c++/40942 + * pt.c (more_specialized_fn): Don't apply decay conversion to + types of function parameters. + +2012-04-02 Tristan Gingold <gingold@adacore.com> + + * ggc-page.c (PAGE_L1_SIZE, PAGE_L2_SIZE, LOOKUP_L1, LOOKUP_L2) + (ggc_allocated_p, lookup_page_table_entry, set_page_table_entry) + (alloc_page, init_ggc, clear_marks, struct ggc_pch_data) + (ggc_pch_this_base): Use uintptr_t instead of size_t. + +2012-03-31 H.J. Lu <hongjiu.lu@intel.com> + + PR bootstrap/52784 + * config/i386/i386.c (ix86_option_override_internal): Don't + check TARGET_64BIT if TARGET_64BIT_DEFAULT is false. + +2012-03-31 Eric Botcazou <ebotcazou@adacore.com> + + * tree-cfg.c (call_can_make_abnormal_goto): New predicate. + (stmt_can_make_abnormal_goto): Use it. + (is_ctrl_altering_stmt): Likewise. + +2012-03-30 Naveen H.S <naveen.S@kpitcummins.com> + Kaz Kojima <kkojima@gcc.gnu.org> + + * config/sh/sh.c (push_regs): Skip banked registers when + resbank attribute is specified. + (sh_expand_epilogue): Likewise. + +2012-03-30 Richard Henderson <rth@redhat.com> + + PR debug/52727 + * combine-stack-adj.c (prev_active_insn_bb): New. + (next_active_insn_bb): New. + (force_move_args_size_note): New. + (combine_stack_adjustments_for_block): Use it. + +2012-03-30 Richard Henderson <rth@redhat.com> + + * config/i386/i386.c (struct expand_vec_perm_d): Add one_operand_p. + (ix86_expand_vector_init_duplicate): Initialize it. + (expand_vec_perm_palignr): Likewise. + (ix86_expand_vec_perm_const): Likewise. + (ix86_vectorize_vec_perm_const_ok): Likewise. + (expand_vec_perm_blend): Use it. + (expand_vec_perm_vpermil): Likewise. + (expand_vec_perm_pshufb): Likewise. + (expand_vec_perm_1): Likewise. + (expand_vec_perm_pshuflw_pshufhw): Likewise. + (expand_vec_perm_interleave2): Likewise. + (expand_vec_perm_vpermq_perm_1): Likewise. + (expand_vec_perm_vperm2f128): Likewise. + (expand_vec_perm_interleave3): Likewise. + (expand_vec_perm_vperm2f128_vblend): Likewise. + (expand_vec_perm_vpshufb2_vpermq): Likewise. + (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise,. + (expand_vec_perm_broadcast): Likewise. + (expand_vec_perm_vpshufb4_vpermq2): Likewise. + +2012-03-30 Richard Henderson <rth@redhat.com> + + * dwarf2out.c (gen_variable_die): Initialize off. + +2012-03-30 Tristan Gingold <gingold@adacore.com> + + * config/vms/vms-f.c: New file. + * config/vms/t-vms (vms-f.o): New rule. + * config.gcc (*-*-*vms*): Define fortran_target_objs. + +2012-03-30 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/52754 + * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only + propagate arbitrary addresses into really plain dereferences. + +2012-03-30 Richard Guenther <rguenther@suse.de> + + PR middle-end/52772 + * except.c (emit_to_new_bb_before): Move loop updating ... + (dw2_build_landing_pads): ... here. Use a proper block for + querying the loop father. + +2012-03-30 Tristan Gingold <gingold@adacore.com> + + * config/ia64/ia64.c (ia64_section_type_flags): Remove + common_object attribute handling. + (SECTION_VMS_OVERLAY): Remove + (ia64_vms_common_object_attribute): Replace abort with an assert. + Do not set DECL_SECTION_NAME. + (ia64_vms_output_aligned_decl_common): Handle common_object + attribute. + (ia64_vms_elf_asm_named_section): Remove. + * config/ia64/vms.h (TARGET_ASM_NAMED_SECTION): Remove. + +2012-03-30 Richard Guenther <rguenther@suse.de> + + PR middle-end/52786 + * double-int.c (rshift_double): Remove not needed cast. + +2012-03-30 Richard Guenther <rguenther@suse.de> + + * tree-affine.h (print_aff): Remove. + * tree-affine.c (print_aff): Make static. + * tree-data-ref.h (access_matrix_get_index_for_parameter): Remove. + (get_references_in_stmt): Likewise. + (print_direction_vector): Likewise. + (print_dir_vectors): Likewise. + (print_dist_vectors): Likewise. + (dump_subscript): Likewise. + (dump_ddrs): Likewise. + (dump_dist_dir_vectors): Likewise. + (dump_data_references): Likewise. + (dump_data_dependence_relation): Likewise. + (dump_data_dependence_direction): Likewise. + (dump_rdg_vertex): Likewise. + (dump_rdg_component): Likewise. + (debug_ddrs): Declare. + (struct data_ref_loc_d): Move ... + * tree-data-ref.c (struct data_ref_loc_d): ... here. + (get_references_in_stmt): Make static. + (dump_data_references): Likewise. + (dump_subscript): Likewise. + (print_direction_vector): Likewise. + (print_dir_vectors): Likewise. + (print_dist_vectors): Likewise. + (dump_data_dependence_relation): Likewise. + (dump_dist_dir_vectors): Likewise. + (dump_ddrs): Likewise. + (dump_rdg_vertex): Likewise. + (dump_rdg_component): Likewise. + (debug_ddrs): New function. + (access_matrix_get_index_for_parameter): Remove. + +2012-03-30 Tristan Gingold <gingold@adacore.com> + + * config/vms/vms.c (VMS_CRTL_FLOAT32): Rename. + (VMS_CRTL_FLOAT64, VMS_CRTL_FLOAT64_VAXD): New. + (VMS_CRTL_FLOAT128, VMS_CRTL_DPML, VMS_CRTL_NODMPL) + (VMS_CRTL_32ONLY, VMS_CRTL_G_MASK, VMS_CRTL_G_NONE) + (VMS_CRTL_GA, VMS_CRTL_GL, VMS_CRTL_FLOATV2): New. + (vms_patch_builtins): Handle new flags + * config/vms/vms-crtlmap.map: Completed using nm on + c and math system libraries. + * config/vms/make-crtlmap.awk: Handle any number of flags. + +2012-03-30 Martin Jambor <mjambor@suse.cz> + + * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there + is a builtin_stack_save in a dominating BB. + +2012-03-29 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results + crossing 128bit lane boundary. + +2012-03-29 Vladimir Makarov <vmakarov@redhat.com> + + * ira-color.c (setup_left_conflict_sizes_p): Process all + conflicting objects. + +2012-03-29 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/52760 + * tree-vect-slp.c (vect_get_constant_vectors): Convert constant_p + shift count for {L,R}{SHIFT,ROTATE}_EXPR to TREE_TYPE (vector_type). + +2012-03-29 Richard Guenther <rguenther@suse.de> + + * cgraph.h (cgraph_materialize_all_clones): Remove. + (reset_inline_failed): Likewise. + * cgraphunit.c (cgraph_materialize_all_clones): Make static. + * cgraphbuild.c (reset_inline_failed): Remove. + * rtl.h (cse_main): Remove. + (extended_count): Likewise. + * cse.c (dump_class): Mark as DEBUG_FUNCTION. + (cse_main): Make static. + * combine.c (extended_count): Remove. + (dump_combine_stats): Mark as DEBUG_FUNCTION. + * basic-block.h (reorder_basic_blocks): Remove. + * bb-reorder.c (reorder_basic_blocks): Make static. + * Makefile.in (dse.o): Remove dse.h dependency. + * dse.h: Remove. + * dse.c (gate_dse): Remove. + (clear_alias_mode_eq): Likewise. + (clear_alias_mode_hash): Likewise. + (dse_record_singleton_alias_set): Likewise. + (dse_invalidate_singleton_alias_set): Likewise. + +2012-03-29 H.J. Lu <hongjiu.lu@intel.com> + + * config/linux-android.h (ANDROID_STARTFILE_SPEC): Use + crtbegin_so%O%s for -shared. + (ANDROID_ENDFILE_SPEC): Use crtend_so%O%s for -shared. + +2012-03-29 Richard Guenther <rguenther@suse.de> + + * tree-flow.h (struct pre_expr_d): Remove forward declaration. + (add_to_value): Remove. + (print_value_expressions): Likewise. + * tree-ssa-pre.c (add_to_value): Make static. + (print_value_expressions): Likewise. + * gimple.h (gimple_adjust_this_by_delta): Remove. + * gimple-fold.c (gimple_adjust_this_by_delta): Likewise. + +2012-03-29 Richard Guenther <rguenther@suse.de> + + PR middle-end/50708 + * double-int.h (rshift_double): Remove. + * double-int.c (lshift_double): Use absu_hwi to make count + positive. + (rshift_double): Make static, take unsigned count argument, + remove handling of negative count argument. + (double_int_rshift): Dispatch to lshift_double. + +2012-03-28 H.J. Lu <hongjiu.lu@intel.com> + + * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Add + OPTION_MASK_ABI_64. + + * config/i386/gnu-user64.h (SPEC_64): Support TARGET_BI_ARCH == 2. + (SPEC_X32): Likewise. + (MULTILIB_DEFAULTS): Likewise. + + * config/i386/i386.c (isa_opts): Remove -m64. + (ix86_target_string): Properly handle -m32/-m64/-mx32. + (ix86_option_override_internal): Properly + set OPTION_MASK_ISA_64BIT and OPTION_MASK_ISA_X32 as well as + handle -m32, -m64 and -mx32. + + * config/i386/i386.h (TARGET_X32): Replace OPTION_ISA_X32 + with OPTION_ABI_X32. Moved after TARGET_LP64. + (TARGET_LP64): Changed to OPTION_ABI_64. + + * config/i386/i386.opt (m64): Replace ISA_64BIT with ABI_64. + (mx32): Replace ISA_X32 with ABI_X32. + +2012-03-28 Eric Botcazou <ebotcazou@adacore.com> + + * tree.c (tree_size) <VECTOR_CST>: New case. + +2012-03-28 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.c (ix86_modes_tieable_p): Handle 32bit AVX modes. + (ix86_expand_vector_move_misalign): Remove un-needed gen_lowpart calls. + +2012-03-28 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/52691 + * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize + __builtin_va_start to __builtin_next_arg if the latter is + builtin_decl_explicit_p rather than when it is not. + + PR middle-end/52750 + * tree-vect-generic.c (vector_element): Perform multiplication + for pos in bitsizetype type instead of idx type. + +2012-03-28 Richard Guenther <rguenther@suse.de> + + * loop-init.c (loop_optimizer_init): If loops are preserved + perform incremental initialization of required loop features. + (loop_optimizer_finalize): If loops are to be preserved only + clean up optional loop features. + (rtl_loop_done): Forcefully free loops here. + * cgraph.c (cgraph_release_function_body): Forcefully free loops. + * cfgexpand.c (expand_gimple_cond): Properly add new basic-blocks + to existing loops. + (construct_init_block): Likewise. + (construct_exit_block): Likewise. + (gimple_expand_cfg): Clear LOOP_CLOSED_SSA loop state. Cleanup + the CFG after expanding. + * cfgloop.c (verify_loop_structure): Calculate or verify dominators. + If we needed to calculate them, free them afterwards. + * tree-pass.h (PROP_loops): New define. + * tree-ssa-loop.c (pass_tree_loop_init): Provide PROP_loops. + * basic-block.h (CLEANUP_CFG_CHANGED): New. + * cfgcleanup.c (merge_blocks_move): Protect loop latches. + (cleanup_cfg): If we did something and have loops around, fix them up. + * cse.c (rest_of_handle_cse_after_global_opts): Call cleanup_cfg + with CLEANUP_CFG_CHANGED. + * cfghooks.c (merge_blocks): If we merge a loop header into + its predecessor, update the loop structure. + (duplicate_block): If we copy a loop latch, adjust loop state + to note we may have multiple latches. + (delete_basic_block): Mark loops for fixup if we remove a loop. + * cfganal.c (forwarder_block_p): Protect loop latches, headers + and preheaders. + * cfgrtl.c (rtl_can_merge_blocks): Protect loop latches. + (cfg_layout_can_merge_blocks_p): Likewise. + * cprop.c (bypass_block): If we create a loop with multiple + entries, mark it for removal. + * except.c (emit_to_new_bb_before): Add the new basic-block + to existing loops. + * tree-eh.c (lower_resx): Likewise. + * omp-low.c (finalize_task_copyfn): Do not copy PROP_loops. + (expand_omp_taskreg): Likewise. + * tree-inline.c (initialize_cfun): Likewise. + * tree-mudflap.c (add_bb_to_loop): Prototype. + (mf_build_check_statement_for): Properly add new basic-blocks + to existing loops. + * tree-ssa-threadupdate.c (thread_block): Mark loops for fixup + if we remove a loop. + (thread_through_loop_header): Likewise. + * trans-mem.c (tm_log_emit_save_or_restores): Properly add + new basic-blocks to existing loops. + (expand_transaction): Likewise. + * Makefile.in (except.o): Add $(CFGLOOP_H). + (expr.o): Likewise. + (cgraph.o): Likewise. + (cprop.o): Likewise. + (cfgexpand.o): Likewise. + (cfganal.o): Likewise. + (trans-mem.o): Likewise. + (tree-eh.o): Likewise. + +2012-03-28 Georg-Johann Lay <avr@gjlay.de> + + PR target/52692 + * config/avr/avr.c (TARGET_BUILTIN_DECL): New define. + (avr_builtin_decl): New static function. + (struct avr_builtin_description, avr_bdesc): Move up. + Add GTY marker. Add field fndecl. Remove redundant field id. + (avr_init_builtins): Initialize avr_bdesc[ID].fndecl. + (avr_expand_builtin): Code cleanup because .id is removed. + +2012-03-28 Georg-Johann Lay <avr@gjlay.de> + + PR target/52737 + * config.gcc (tm_file): Remove avr/multilib.h. + + * doc/invoke.texi (AVR Options): Adjust documentation of -mtiny-stack. + + * config/avr/genmultilib.awk: Remove code to generate multilib.h. + (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack. + * config/avr/t-avr: Remove generation of multilib.h. + * config/avr/t-multilib: Regenerate. + * config/avr/multilib.h: Remove. + * config/avr/avr.opt (-msp8): New option. + (avr_sp8): New variable. + * config/avr/driver-avr.c (avr_device_to_sp8): New function. + * config/avr/avr.h (AVR_HAVE_SPH): New define. + (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8. + (avr_device_to_sp8): New prototype. + (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 } + (DRIVER_SELF_SPECS): New define. + * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines: + __AVR_SP8__, __AVR_HAVE_SPH__. + * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of + AVR_HAVE_8BIT_SP to decide if SP_H is present. + (avr_file_start): Ditto. + +2012-03-28 Jakub Jelinek <jakub@redhat.com> + + PR target/52736 + * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0 + instead of 8 in adjust_address. + +2012-03-27 Aurelien Buhrig <aurelien.buhrig.gcc@gmail.com> + + PR middle-end/51893 + * expmed.c (store_bit_field_1): Fix wordnum value for big-endian + targets. + +2012-03-27 Oleg Endo <olegendo@gcc.gnu.org> + + PR target/50751 + * config/sh/sh.c (sh_legitimize_address, sh_legitimize_reload_address): + Rearrange conditional logic. Move displacement address calculations + to ... + (sh_find_mov_disp_adjust): ... this new function. + +2012-03-27 H.J. Lu <hongjiu.lu@intel.com> + + * config/arm/arm.opt (mapcs): Remove MaskExists. + * config/cris/linux.opt (mno-gotplt): Likewise. + * config/i386/i386.opt (mhard-float): Likewise. + (msse4): Likewise. + (mno-sse4): Likewise. + * config/m68k/m68k.opt (mhard-float): Likewise. + * config/mep/mep.op (mcop32): Likewise. + * config/pa/pa-hpux.opt (msio): Likewise. + * config/pa/pa64-hpux.opt (mgnu-ld): Likewise. + * config/picochip/picochip.opt (mlittle): Likewise. + * config/sh/sh.opt (mrenesas): Likewise. + * config/sparc/long-double-switch.opt (mlong-double-128): Likewise. + * config/sparc/sparc.opt (mhard-float): Likewise. + * config/v850/v850.opt (mv850es): Likewise. + * config/vax/vax.opt (mg-float): Likewise. + 2012-03-27 Martin Jambor <mjambor@suse.cz> PR middle-end/52693 |