ira.h (target_ira): Delete x_ira_available_class_regs.
[gcc.git] / gcc / ChangeLog
index b883dca1d019c7e7d2ad5aca19c139068b6726f6..e78206eebfa6c2b1db8824d042e896781dd82874 100644 (file)
+2012-05-31  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * ira.h (target_ira): Delete x_ira_available_class_regs.
+       (ira_available_class_regs): Delete.
+       * ira.c (setup_available_class_regs): Delete.
+       (setup_alloc_classes): Don't call it.
+       (setup_pressure_classes): Use ira_class_hard_regs_num instead of
+       ira_available_class_regs.
+       * haifa-sched.c (print_curr_reg_pressure, setup_insn_reg_pressure_info)
+       (model_spill_cost): Likewise.
+       * ira-build.c (low_pressure_loop_node_p): Likewise.
+       * ira-color.c (color_pass): Likewise.
+       * ira-emit.c (change_loop): Likewise.
+       * ira-lives.c (inc_register_pressure, dec_register_pressure)
+       (single_reg_class, ira_implicitly_set_insn_hard_regs)
+       (process_bb_node_lives): Likewise.
+       * loop-invariant.c (gain_for_invariant): Likewise.
+
+2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/52999
+       * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
+       (pa_section_type_flags): New.
+       (pa_legitimate_constant_p): Revert previous change.
+
+2012-05-30  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * ira.c (allocate_initial_values): Make static.
+
+2012-05-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
+       Generate tls_initial_exec_64_sun only when !TARGET_X32.
+
+2012-05-30  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/53501
+       * fold-const.c (fold_binary_loc): Make sure to call
+       fold_plusminus_mult_expr with the original sign of operands.
+
+2012-05-30  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * Makefile.in: Fix many dependencies.
+       (DWARF2_H): Depend on dwarf2.def.
+       (RTL_ERROR_H): Depend on rtl-error.h.
+       (TREE_PRETTY_PRINT_H, GIMPLE_PRETTY_PRINT_H): New.  Replace
+       all gimple-pretty-print.h and tree-pretty-print.h references.
+
+2012-05-30  Marc Glisse  <marc.glisse@inria.fr>
+
+       * simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
+       concatenations.
+
+2012-05-30  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/53522
+       * tree-emutls.c (gen_emutls_addr): Do not add globals to
+       referenced-vars.
+
+2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * explow.c (probe_stack_range): Restore simple control flow and stop
+       again when the probe cannot be generated if HAVE_check_stack.
+
+2012-05-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/53519
+       * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
+       instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
+
+2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
+
+2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR debug/53453
+       * doc/tm.texi: Update.
+       * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
+       * target.def (force_at_comp_dir): New hook.
+       * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
+       * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
+
+2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
+       Darwin >= 10.
+       (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
+       (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.
+
+2012-05-29  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/51340
+       * config/sh/sh.c (sh_option_override): Set TARGET_FMAC if
+       flag_unsafe_math_optimizations is set.
+       * doc/invoke.texi (SH Options): Add -mno-fused-madd description.
+       Update description of -mfused-madd.
+
+2012-05-29  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/52941
+       * config/sh/predicates.md (atomic_arith_operand,
+       atomic_logical_operand): New predicates.
+       * config/sh/sh.c (sh_option_override): Check atomic options.
+       * config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
+       UNSUPPORTED_HARD_ATOMIC_CPU): New macros.
+       (DRIVER_SELF_SPECS): Use UNSUPPORTED_ATOMIC_OPTIONS and
+       UNSUPPORTED_HARD_ATOMIC_CPU.
+       * config/sh/sync.md: Update description comments.
+       (I12): New mode iterator.
+       (fetchop_predicate, fetchop_constraint): New code attributes.
+       (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
+       atomic_exchangesi_hard, atomic_exchange<mode>_hard,
+       atomic_fetch_<fetchop_name>si_hard,
+       atomic_fetch_<fetchop_name><mode>_hard,
+       atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
+       atomic_<fetchop_name>_fetchsi_hard,
+       atomic_<fetchop_name>_fetch<mode>_hard,
+       atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
+       atomic_test_and_set_hard): New insns.
+       (atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
+       atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
+       atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
+       atomic_test_and_set_soft): Use same formatting for the first line of
+       the asm block as in new insns above.
+       (atomic_compare_and_swap<mode>, atomic_exchange<mode>,
+       atomic_fetch_<fetchop_name><mode>, atomic_<fetchop_name>_fetch<mode>,
+       atomic_test_and_set): Integrate new *_hard insns into expanders.
+       * config/sh/sh.opt (mhard-atomic): New option.
+       * doc/invoke.texi (SH Options): Document it.
+
+2012-05-29  Meador Inge  <meadori@codesourcery.com>
+
+       * c-decl.c (c_push_function_context): Always create a new language
+       function.
+       (c_pop_function_context): Clear the language function created in
+       c_push_function_context.
+
+2012-05-29  Matt Turner  <mattst88@gmail.com>
+
+       * config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
+       (define_bypass "ev6_fcmov"): New.
+
+2012-05-29  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * integrate.c: Remove.
+       * integrate.h: Remove.
+       * Makefile.in: Remove make rules for integrate.c and INTEGRATE_H.
+       * config/arm/t-arm: Remove INTEGRATE_H dependency for target files.
+       * config/rs6000/t-rs6000: Likewise
+       * config/spu/t-spu-elf: Likewise.
+       * function.h (get_hard_reg_initial_val, has_hard_reg_initial_val,
+       get_hard_reg_initial_reg, emit_initial_value_sets): Move prototypes
+       from integrate.h to here.
+       (initial_value_entry): New prototype.
+       * reload.h (allocate_initial_values): Remove prototype.
+       * tree.h (set_decl_abstract_flags, set_decl_origin_self): Likewise.
+       * cse.c (fixed_base_plus_p): Don't handle virtual registers for
+       integrate.c.
+       * dwarf2out.c (set_decl_origin_self, set_block_origin_self,
+       set_decl_abstract_flags, set_block_abstract_flags): Move from
+       integrate.c to here, the only user.
+       * expmed.c (extract_fixed_bit_field): Remove outdated comment
+       about integrate.c.
+       * function.c: Don't include integrate.h.
+       (struct initial_value_pair, struct initial_value_struct,
+       get_hard_reg_initial_val, has_hard_reg_initial_val,
+       get_hard_reg_initial_reg, emit_initial_value_sets): Move from
+       integrate.c to here.
+       (initial_value_entry): New function.
+       * genemit.c (main): Don't print integrate.h include line.
+       * ira.c: Don't include integrate.h.
+       (allocate_initial_values): Move from integrate.c to here.
+       (ira): Update allocate_initial_values call.
+       * tree-inline.c: Don't include integrate.h.
+       (function_attribute_inlinable_p): Moved from integrate.c to here.
+       * cfgexpand.c: Don't include integrate.h.
+       * except.c: Likewise.
+       * langhooks.c: Likewise.
+       * passes.c: Likewise.
+       * toplev.c: Likewise.
+       * config/frv/frv.c: Likewise.
+       * config/pa/pa.c: Likewise.
+       * config/spu/spu.c: Likewise.
+       * config/epiphany/epiphany.c: Likewise.
+       * config/mep/mep.c: Likewise.
+       * config/score/score.c: Likewise.
+       * config/picochip/picochip.c: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/alpha/alpha.c: Likewise.
+       * config/microblaze/microblaze.c: Likewise.
+       * config/mips/mips.c: Likewise.
+       * config/v850/v850.c: Likewise.
+       * config/mmix/mmix.c: Likewise.
+       * config/bfin/bfin.c: Likewise.
+       * config/arm/arm.c: Likewise.
+       * config/s390/s390.c: Likewise.
+       * config/m32r/m32r.c: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       * config/c6x/c6x.c: Include function.h instead of integrate.h.
+       * config/tilegx/tilegx.c: Likewise.
+       * config/tilepro/tilepro.c: Likewise.
+
+2012-05-29  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/t-avr (s-avr-mmcu-texi): Call
+       gen-avr-mmcu-texi$(build_exeext) via ./ and don't assume . is in PATH.
+
 2012-05-29  Michael Matz  <matz@suse.de>
 
        * rtl.h (assign_stack_temp, assign_stack_temp_for_type,
        assign_temp): Remove 'keep' argument.
        (mark_temp_addr_taken): Remove prototype.
        * tree.h (expand_decl): Remove prototype.
-       * function.c (struct temp_slot): Remove addr_taken and keep
-       member.
+       * function.c (struct temp_slot): Remove addr_taken and keep member.
        (assign_stack_temp_for_type) Don't initialize above, remove
        keep argument.
        (assign_stack_temp, assign_temp): Remove keep argument.
        (mark_temp_addr_taken): Remove.
-       (preserve_temp_slots): Remove handling of addr_taken and keep
-       members.
+       (preserve_temp_slots): Remove handling of addr_taken and keep members.
        (free_temp_slots): Ditto.
        * expr.c (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Remove
        dead code.
        * expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate
        a kept temp.
        (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Make unreachable.
-       * gimple-fold.c (canonicalize_constructor_val): Canonicalize 
+       * gimple-fold.c (canonicalize_constructor_val): Canonicalize
        COMPOUND_LITERAL_EXPR.
        * function.c (expand_function_start): Don't call expand_decl,
        instead assert that we have RTL assigned.
        PR middle-end/53510
        * input.c (read_line): Use XRESIZEVEC instead of XNEWVEC
        to avoid leaking memory.  No need to handle memory allocation
-       failure.  Double string_len on each reallocation instead of
-       adding 2.
+       failure.  Double string_len on each reallocation instead of adding 2.
        * gcov.c (read_line): Likewise.
 
 2012-05-29  Hans-Peter Nilsson  <hp@axis.com>
 
 2012-05-28  Hans-Peter Nilsson  <hp@axis.com>
 
-       * doc/md.texi (stack_protect_test): Remove negation of branch to
-       label.
+       * doc/md.texi (stack_protect_test): Remove negation of branch to label.
        (Standard Names): Fix typos in documentation of atomic patterns.
 
 2012-05-27  Nathan Sidwell  <nathan@acm.org>
        * doc/options.texi (EnabledBy): Document
        * opts.c: Include opts.h and options.h before tm.h.
        (finish_options): Do not handle some sub-options here...
-       (common_handle_option): ... instead call common_handle_option_auto here.
+       (common_handle_option): ... instead call common_handle_option_auto
+       here.
        * optc-gen.awk: Handle EnabledBy.
        * opth-gen.awk: Declare common_handle_option_auto.
        * common.opt (Wuninitialized): Use EnabledBy. Delete Init.