OSDN Git Service

2011-05-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f4047ef..7bd3193 100644 (file)
@@ -1,3 +1,184 @@
+2011-05-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+           Uros Bizjak <ubizjak@gmail.com>
+
+       * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
+       (HAVE_AS_IX86_TLSGDPTL): Define.
+       (gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt.
+       (HAVE_AS_IX86_TLSLDMPLT): Define.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * config/i386/i386.c (ix86_print_operand): Handle code 'p'.
+       * config/i386/i386.md (*tls_global_dynamic_32_gnu): If
+       TARGET_SUN_TLS, use @tlsgdplt or @plt.
+       (*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS.
+       (*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use
+       @tlsldmplt or @plt.
+       (*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS.
+
+2011-05-27  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * sched-int.h (struct _haifa_deps_insn_data): New members cond
+       and reverse_cond.
+       (INSN_COND, INSN_REVERSE_COND): New macros.
+       * sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev
+       once.
+       (sched_get_condition_with_rev): Cache the results, and look them up
+       if possible.
+       (sched_analyze_insn): Destroy INSN_COND of previous insns if they
+       are clobbered by the current insn.
+       * target.def (exposed_pipline): New sched data hook.
+       * doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook.
+       * doc/tm.texi: Regenerate.
+
+2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR tree-optimization/49170
+       * tree-ssa-math-opts.c (execute_cse_sincos):  Add checks for
+       sincos or cexp.
+
+2011-05-27  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/49189
+       * fold-const.c (fold_unary_loc): Do not re-fold folding conversions
+       of comparisons.
+
+2011-05-27  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * haifa-sched.c (sched_scan_info): Remove.
+       (schedule_block): Call sched_extend_luids rather than sched_init_luids
+       with NULL args.
+       (extend_bb, init_bb, extend_insn, init_insn, init_insns_in_bb):
+       Remove functions.
+       (sched_scan): Remove.
+       (sched_extend_luids): Renamed from luids_extend_insn and no longer
+       static.  All callers changed.
+       (sched_init_insn_luid): Renamed from luids_init_insn and no longer
+       static.  All callers changed.
+       (sched_init_luids): Remove all arguments except the first.  All
+       callers changed.  Don't use sched_scan.
+       (haifa_init_h_i_d): Likewise.
+       (haifa_init_insn): Call sched_extend_luids and sched_init_insn_luid
+       manually rather than using sched_init_luids.  Likewise with
+       extend_h_i_d, init_h_i_d and haifa_init_h_i_d.
+       * sel-sched.c (sel_region_target_finish): Call sched_extend_luids
+       rather than sched_init_luids with NULL args.
+       * sel-sched-ir.c (new_insns): Remove variable.
+       (sched_scan): New static function, previously in haifa-sched.c.  Remove
+       all arguments but the first two; all callers changed.
+       (sel_init_new_insn): Call sched_extend_luids and sched_init_insn_luid
+       rather than sched_init_luids.
+       (sel_init_bbs): Remove second argument.  All callers changed.
+       (sel_add_bb): Call sched_extend_luids rather than sched_init_luids
+       with NULL arguments.
+       (create_insn_rtx_from_pattern): Likewise.
+       * sel-sched-ir.h (sel_init_bbs): Adjust declaration.
+       * sched-int.h (sched_init_luids, haifa_init_h_i_d): Likewise.
+       (sched_init_insn_luid, sched_extend_luids): Declare.
+       (sched_scan_info_def, sched_scan_info, sched_scan): Remove
+       declarations.
+
+2011-05-27  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/49177
+       * fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
+       A CMP B ? (T) true : (T) false for non-integral types T again.
+
+2011-05-27  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer-out.c (lto_string_index): break out from...; offset by 1
+       so 0 means NULL string.
+       (lto_output_string_with_length): ... here.
+       (lto_output_string, output_string_cst, output_identifier): Update
+       handling of NULL strings.
+       (lto_output_location_bitpack): New function.
+       (lto_output_location): Use it.
+       (lto_output_tree_ref): Use output_record_start.
+       (pack_ts_type_common_value_fields): Pack aliagn & alias set in var
+       len values.
+       * lto-streamer-in.c (string_for_index): Break out from ...; offset
+       values by 1.
+       (input_string_internal): ... here; 
+       (input_string_cst, input_identifier, lto_input_string): Update handling
+       of NULL strings.
+       (lto_input_location_bitpack): New function
+       (lto_input_location): Use it.
+       (unpack_ts_type_common_value_fields): Pack align & alias in var len
+       values.
+       * lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
+       bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
+       (bp_pack_value): Sanity check the value range.
+       * lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
+       New functions.
+       * lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
+       New functions.
+
+2011-05-27  Hariharan Sandanagobalane <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
+       call_arg_location instructions down the floor.
+
+2011-05-26  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/49154
+       * ira.c (setup_pressure_classes): Process class without sublcasses
+       as a candidate for pressure classes.
+
+2011-05-26  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR rtl-optimization/48575
+       * genrecog.c (position_type): New enum.
+       (position): New structure.
+       (decision): Use position structure instead of a string.
+       (root_pos, peep2_insn_pos_list): New variables.
+       (next_position, compare_positions): New functions.
+       (new_decision): Use position structures instead of strings.
+       (maybe_both_true): Likewise.
+       (change_state): Likewise.
+       (write_tree): Likewise.
+       (make_insn_sequence): Likewise.
+
+2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
+       TS_BASE instead of TS_COMMON.
+       (find_decls_types_r): Check for TS_TYPED structure before looking at
+       TREE_TYPE.
+       * tree.h (struct tree_block): Inherit from tree_base, not tree_common.
+       Add chain field.
+       (BLOCK_CHAIN): Use new chain field.
+
+2011-05-26  Pat Haugen <pthaugen@us.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
+       moves expensive on Power7 also.
+
+2011-05-26  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (fold_unary_loc): Remove bogus code.
+
+2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (struct tree_identifier): Inherit from tree_typed, not
+       tree_common.
+       (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
+       * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
+       TS_BASE instead of TS_COMMON.
+       * varasm.c (assemble_name): Remove assert.
+
+2011-05-26  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * Makefile.in (srcdirify): Change order so that libgcc_objdir is
+       substituted first.
+       * libgcc-std.ver: Delete file.
+
+2011-05-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48702
+       * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
+       only when we know the base address is within bounds.
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
+       assume the base address of TARGET_MEM_REFs is in bounds.
+
 2011-05-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        PR target/49099