summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog497
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