1. 30 Apr, 2008 7 commits
    • ChangeLog: Added entries I forgot in my previous commit. · 6a3f3fea
      2008-04-30  Martin Jambor  <mjambor@suse.cz>
      
      	    * gcc/ChangeLog: Added entries I forgot in my previous commit.
      
      From-SVN: r134821
      Martin Jambor committed
    • chmod_1.f90: Disable for x86_64-*-mingw*. · 190f8c2e
      2008-04-30  Kai Tietz  <kai.tietz@onevision.com>
      
      	* gfortran.dg/chmod_1.f90: Disable for x86_64-*-mingw*.
      	* gfortran.dg/chmod_2.f90: Likewise.
      	* gfortran.dg/chmod_3.f90: Likewise.
      	* gfortran.dg/open_errors.f90: Likewise.
      
      From-SVN: r134820
      Kai Tietz committed
    • Makefile.in: Adapt sh4-linux target. · ea342909
          gcc/ada/
      	* Makefile.in: Adapt sh4-linux target.
      
      From-SVN: r134819
      Samuel Tardieu committed
    • ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg instead of… · dcd416e3
      ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg instead of setting number of formal...
      
      2008-04-30  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg
      	instead of setting number of formal parameters to zero.
      	(ipcp_init_stage): Do not set the number of actual parameters to zero 
      	either.
      	(ipcp_propagate_stage): Explicitly skipping all calls to nodes
      	which are called with variable number of arguments.
      	(ipcp_insert_stage): Explicitely skipping all nodes which are
      	called with variable number of arguments.
      	(ipcp_callsite_param_print): Skipps callsites to nodes with varaible 
      	number of parameters.
      
      	* ipa-prop.h (struct ipa_node_params): Added flag
      	called_with_var_arguments
      	(ipa_set_param_count): Added.  Changed sole setter to use it.
      	(ipa_get_param_count): Added.  All readers of param_count
      	converted to use it instead.
      	(ipa_set_called_with_variable_arg): Added.
      	(ipa_is_called_with_var_arguments): Added.
      	(ipa_get_ith_param): Added.  All readers of param_decls converted
      	to use it instead.
      	(ipa_set_cs_argument_count): Added, sole writer to argument_count 
      	changed to use it. 
      	(ipa_get_cs_argument_count): Added, all readers of argument_count
      	changed to cal it.
      	(ipa_get_ith_jump_func): Added. Accessors of jump values changed 
      	to use it.
      	
      	* ipa-prop.h (struct ipcp_formal): Renamed to ipcp_lattice
      	(struct ipcp_lattice): Renamed cval_type to type
      	(struct ipa_node_params): ipcp_cval renamed to ipcp_lattices
      
      	* ipa-cp.c (ipcp_cval_get_cvalue): Changed return value to tree
      	(ipcp_cval_set_cvalue): Changed type of parameter value to tree
      	(ipcp_insert_stage): Changed the type of variable cvalue to tree
      	(ipcp_replace_map_create): Changed the type of parameter cvalue to tree
      	(build_const_val): Changed the type of parameter cvalue to tree
      	(ipcp_propagate_const): Changed the type of parameter cvalue to tree
      	(ipcp_method_cval_set_cvalue_type): Renamed parameter cval_type1 to type
      	
      	* ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called 
      	constant 
      
      	* ipa-prop.c (ipa_methodlist_init): Renamed to ipa_init_func_list
      	(ipa_methodlist_not_empty): Removed, the sole user now checks directly
      	(ipa_add_method): Renamed to ipa_push_func_to_list
      	(ipa_remove_method): Renamed to ipa_pop_func_from_list
      	(ipa_callsite_param_count): Removed.
      	(ipa_callsite_param_count_set): Removed.
      	(ipa_callsite_param): Removed.
      	(ipa_callsite_callee): Removed.
      	(ipa_callsite_compute_param): Renamed to ipa_compute_jump_functions
      	(ipa_callsite_compute_count): Renamed to ipa_count_arguments
      	(ipa_method_formal_count): Removed.
      	(ipa_method_formal_count_set): Removed.
      	(ipa_method_get_tree): Removed.
      	(ipa_method_tree_map_create): Removed.
      	(ipa_method_compute_tree_map): Renamed to ipa_create_param_decls_array
      	(ipa_create_param_decls_array): Creates the array itself
      	(ipa_create_param_decls_array): Temporary variable info instead of 
      	a few dereferences.
      	(ipa_method_formal_compute_count): Renamed to ipa_count_formal_params
      	(ipa_method_compute_modify): Renamed to ipa_detect_param_modifications
      	(get_type): Removed.
      	(ipa_jf_get_info_type): Removed.
      	(ipa_node_create): Renamed to ipa_create_node_params
      	(ipa_free): Renamed to ipa_free_all_node_params
      	(ipa_nodes_create): Renamed to ipa_create_all_node_params
      	(ipa_edges_create): Renamed to ipa_create_all_edge_args
      	(ipa_edges_free): Renamed to ipa_free_all_edge_args
      	(ipa_nodes_free): Integrated into ipa_free_all_node_params and removed
      	(ipa_free_all_node_params): Deallocation to jump_functions moved to 
      	ipa_free_all_edge_args
      	(ipa_method_tree_print): Renamed to ipa_print_all_tree_maps
      	(ipa_method_modify_print): Renamed to ipa_print_all_params_modified
      	(ipa_create_methodlist_node): Removed.
      	(ipa_methodlist_method): Removed.
      	(ipa_methodlist_method_set): Removed.
      	(ipa_methodlist_next_method): Removed.
      	(ipa_methodlist_next_method_set): Removed.
      	(ipa_method_is_modified): Removed.
      	(ipa_method_modify_create): Removed.
      	(ipa_method_modify_init): Temporary variable info instead of a few 
      	dereferences.
      	(ipa_detect_param_modifications): Temporary variable info instead of 
      	a few dereferences.
      	(ipa_compute_jump_functions): Temporary variable info instead of 
      	a few dereferences.
      	(ipa_method_modify_set): Removed.
      	(ipa_method_tree_map): Renamed to ipa_get_param_decl_index
      	(ipa_get_param_decl_index): Now accepts struct ipa_node_params rather 
      	than craph_node as the first parameter.
      	(ipa_method_modify_stmt): Renamed to ipa_check_stmt_modifications
      	(ipa_method_modify_init): Removed.
      	(ipa_compute_jump_functions): Added a temp variable instead of 
      	repeatadly dereferencing the cgraph_edge.aux pointer
      	(ipa_callsite_param_set_type): Removed.
      	(ipa_compute_jump_functions): i renamed to index and moved to 
      	an inner block
      	(ipa_callsite_param_set_info_type_formal): Removed.
      	(ipa_callsite_param_set_info_type): Removed.
      	(ipa_callsite_param_map_create): Removed.
      	(ipa_callsite_tree): Removed.
      	(ipa_callsite_caller): Removed.
      	(ipa_pop_func_from_list): return_method removed to return_func
      
      	* ipa-prop.h (enum cvalue_type): Renamed to ipa_lattice_type,
      	prefixed all values with IPA_. Changed all users.
      	(enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN, 
      	CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF 
      	and FORMAL_IPATYPE IPA_PASS_THROUGH. 
      	(union parameter_info): Renamed to jump_func_value.
      	(union jump_func_value): Renamed value to constant
      	(struct ipa_jump_func): Renamed info_type to value
      	(struct ipa_node): Renamed to ipa_node_params
      	(struct ipa_node_params): Renamed ipa_arg_num to param_count
      	(struct ipa_node_params): Renamed ipa_param_tree to param_decls
      	(struct ipa_node_params): Renamed ipa_mod to modified_flags
      	(struct ipa_edge): Renamed to ipa_edge_args
      	(struct ipa_edge_args): Renamed ipa_param_num to argument_count
      	(struct ipa_edge_args): Renamed ipa_param_map to jump_functions
      	(struct ipa_methodlist): Renamed to ipa_func_list
      	(struct ipa_func_list): method_p renamed to node, next_method
      	renamed to next
      	(ipa_methodlist_p): Removed, switched all users to struct pointer
      	(IS_VALID_TREE_MAP_INDEX): Renamed to IS_VALID_JUMP_FUNC_INDEX
      
      From-SVN: r134818
      Martin Jambor committed
    • * gcc.dg/tls/section-2.c: Restrict to vxworks. · d7996732
      From-SVN: r134817
      Nathan Sidwell committed
    • rs6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define. · 1c9c5e43
      	* config/rs6000/rs6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define.
      	(rs6000_emit_epilogue): Use backchain to restore only when we
      	have a large frame.  Make use of frame pointer to restore if we
      	have one.  Handle ALWAYS_RESTORE_ALTIVEC_BEFORE_POP.
      
      From-SVN: r134816
      Alan Modra committed
    • Daily bump. · d4f90ccc
      From-SVN: r134814
      GCC Administrator committed
  2. 29 Apr, 2008 16 commits
  3. 28 Apr, 2008 13 commits
  4. 27 Apr, 2008 3 commits
    • re PR tree-optimization/18754 (unrolling happens too late/SRA does not happen late enough) · d6e840ee
      2008-04-27  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/18754
      	PR tree-optimization/34223
      	* tree-pass.h (pass_complete_unrolli): Declare.
      	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Print
      	loop size before and after unconditionally of UL_NO_GROWTH in effect.
      	Rewrite loop into loop closed SSA form if it is not already.
      	(tree_unroll_loops_completely): Re-structure to iterate over
      	innermost loops with intermediate CFG cleanups.
      	Unroll outermost loops only if requested or the code does not grow
      	doing so.
      	* tree-ssa-loop.c (gate_tree_vectorize): Don't shortcut if no
      	loops are available.
      	(tree_vectorize): Instead do so here.
      	(tree_complete_unroll): Also unroll outermost loops.
      	(tree_complete_unroll_inner): New function.
      	(gate_tree_complete_unroll_inner): Likewise.
      	(pass_complete_unrolli): New pass.
      	* tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record
      	uses outside of the loop.
      	(tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA
      	form if it is available.  
      	* tree-flow.h (tree_unroll_loops_completely): Add extra parameter.
      	* passes.c (init_optimization_passes): Schedule complete inner
      	loop unrolling pass before the first CCP pass after final inlining.
      
      	* gcc.dg/tree-ssa/loop-36.c: New testcase.
      	* gcc.dg/tree-ssa/loop-37.c: Likewise.
      	* gcc.dg/vect/vect-118.c: Likewise.
      	* gcc.dg/Wunreachable-8.c: XFAIL bogus warning.
      	* gcc.dg/vect/vect-66.c: Increase loop trip count.
      	* gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
      	* gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
      	* gcc.dg/vect/vect-76.c: Likewise.
      	* gcc.dg/vect/vect-outer-6.c: Likewise.
      	* gcc.dg/vect/vect-outer-1.c: Likewise.
      	* gcc.dg/vect/vect-outer-1a.c: Likewise.
      	* gcc.dg/vect/vect-11a.c: Likewise.
      	* gcc.dg/vect/vect-shift-1.c: Likewise.
      	* gcc.target/i386/vectorize1.c: Likewise.
      
      From-SVN: r134730
      Richard Guenther committed
    • targhooks.h (default_emutls_var_fields, [...]): Declare. · feb60f03
      	* targhooks.h (default_emutls_var_fields,
      	default_emutls_var_init): Declare.
      	* tree.h (DECL_THREAD_LOCAL): Compare against TLS_MODEL_REAL.
      	* target.h (struct gcc_target): Add struct emutls member.
      	* target-def.h (TARGET_EMUTLS_GET_ADDRESS,
      	TARGET_EMUTLS_REGISTER_COMMON, TARGET_EMUTLS_VAR_SECTION,
      	TARGET_EMUTLS_TMPL_SECTION, TARGET_EMUTLS_VAR_PREFIX,
      	TARGET_EMUTLS_TMPL_PREFIX, TARGET_EMUTLS_VAR_FIELDS,
      	TARGET_EMUTLS_VAR_INIT, TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS,
      	TARGET_EMUTLS_VAR_ALIGN_FIXED, TARGET_EMUTLS): New.
      	(TARGET_INITIALIZER): Add TARGET_EMUTLS.
      	* builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS,
      	BUILT_IN_EMUTLS_REGISTER_COMMON): Get name from targetm structure.
      	* dwarf2out.c (loc_descriptor_from_tree_1): Check if emutls can
      	emit debug information.
      	* coretypes.h (tls_model): Add TLS_MODEL_EMULATED, TLS_MODEL_REAL.
      	* varasm.c: Include targhooks.h.
      	(emutls_object_section, emutls_tmpl_section): New.
      	(EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): Remove.
      	(EMUTLS_SEPARATOR): New.
      	(prefix_name): New.
      	(get_emutls_object_name): New.
      	(default_emutls_var_fields): New, broken out of ...
      	(get_emutls_object_type): ... here.  Adjust to use target hooks.
      	(get_emutls_init_templ_addr): Adjust to use target hooks.
      	(emutls_decl): Adjust to use target hooks.
      	(emutls_finish): Likewise.
      	(default_emutls_var_init): New, broken out of ...
      	(assemble_variable): ... here.  Adjust to use target hooks.
      	* output.h (enum section_category): Add SECCAT_EMUTLS_VAR,
      	SECCAT_EMUTLS_TMPL.
      	* c-common.c (handle_section_attribute): Prevent overriding
      	sections for emulated tls with special sections.
      	* config/i386/i386.c (x86_64_elf_select_section): Add
      	SECCAT_EMUTLS_VAR and SECCAT_EMUTLS_TMPL.
      	(x86_64_elf_unique_section): Likewise.
      	* config/vxworks.c: Include tree.h.
      	(vxworks_emutls_var_fields, vxworks_emutls_var_init): New.
      	(vxworks_override_options): Set TLS scheme.
      	* gcc/doc/tm.texi (Emulated TLS): New node.
      
      	gcc/testsuite/
      	* gcc.dg/tls/section-2.c: New.
      	* gcc.dg/tls/emutls-1.c: New.
      	* lib/target-supports.exp (check_effective_target_tls_native):
      	Exclude vxworks.
      
      From-SVN: r134729
      Nathan Sidwell committed
    • Daily bump. · f509e296
      From-SVN: r134721
      GCC Administrator committed
  5. 26 Apr, 2008 1 commit