OSDN Git Service

2010-05-06 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index cfc1629..aacaefe 100644 (file)
@@ -1,3 +1,78 @@
+2010-05-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43571
+       * domwalk.c (walk_dominator_tree): Walk the dominator
+       sons in more optimal order.
+
+2010-05-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43934
+       * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
+       (stmt_cost): Likewise.
+       (extract_true_false_args_from_phi): New helper.
+       (determine_max_movement): For PHI nodes verify we can hoist them
+       and compute their cost.
+       (determine_invariantness_stmt): Handle PHI nodes.
+       (move_computations_stmt): Likewise.  Hoist PHI nodes in
+       if-converted form using COND_EXPRs.
+       (move_computations): Return TODO_cleanup_cfg if we hoisted PHI
+       nodes.
+       (tree_ssa_lim): Likewise.
+       * tree-flow.h (tree_ssa_lim): Adjust prototype.
+       * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
+
+2010-05-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43987
+       * tree-ssa-structalias.c (could_have_pointers): For possibly
+       address-taken variables force pointers to be recorded.
+       (create_variable_info_for_1): Likewise.
+       (push_fields_onto_fieldstack): Pass in wheter all fields
+       must have pointers.
+       (find_func_aliases): Query types instead of vars whether
+       they contain pointers where appropriate.
+
+2010-05-06  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphbuild.c (record_reference_ctx): Add varpool_node.
+       (record_reference, mark_address, mark_load, mark_store): Record
+       references.
+       (record_references_in_initializer): Update call of record_references.
+       (rebuild_cgraph_edges): Remove all references before rebuiding.
+       * cgraph.c (cgraph_create_node): Clear ref list.
+       (cgraph_remove_node): Remove references.
+       (dump_cgraph_node): Dump references.
+       (cgraph_clone_node): Clone references.
+       * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
+       (struct cgraph_node, varpool_node): Add ref_lst.
+       * ipa-ref.c: New file.
+       * ipa-ref.h: New file.
+       * ipa-ref-inline.h: New file.
+       * lto-cgraph.c (output_varpool): Take cgrag node set argument.
+       (referenced_from_other_partition_p): New function.
+       (lto_output_varpool_node): Take set arugment; call
+       referenced_from_other_partition.
+       (lto_output_ref): New.
+       (add_references): New.
+       (output_refs): New.
+       (output_cgraph): Compute boundary based on references;
+       output refs.
+       (output_varpool): Accept cgraph_node_set argument.
+       (input_ref): New.
+       (input_refs): New.
+       (input_cgraph): Call input_refs.
+       * lto-section-in.c (lto_section_name): Add refs.
+       * Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
+       (ipa-ref.o): New file.
+       * varpool.c (varpool_node): Clear ipa ref list.
+       (varpool_remove_node): Remove references.
+       (dump_varpool_node): Dump references.
+       (varpool_assemble_decl): Only compile finalized ones.
+       (varpool_extra_name_alias): Initialize ref list.
+       * lto-streamer.c (lto-get_section_name): Add .refs section.
+       * lto-streamer.h (lto_section_type): Add LTO_section_refs.
+       (referenced_from_other_partition_p): Declared.
+
 2010-05-06  Ira Rosen  <irar@il.ibm.com>
 
        PR tree-optimization/43901