1. 17 Nov, 2006 12 commits
    • tree-vrp.c (execute_vrp): Do not update current_loops. · 598ec7bd
      	* tree-vrp.c (execute_vrp): Do not update current_loops.
      	* loop-unswitch.c (unswitch_loop): Do not use loop_split_edge_with.
      	* doc/loop.texi: Remove documentation for cancelled functions.
      	* tree-ssa-loop-im.c (loop_commit_inserts): Removed.
      	(move_computations, determine_lsm): Use bsi_commit_edge_inserts
      	instead.
      	* cfgloopmanip.c (remove_bbs): Do not update loops explicitly.
      	(remove_path): Ensure that in delete_basic_blocks, the loops
      	are still allocated.
      	(add_loop): Work on valid loop structures.
      	(loopify): Modify call of add_loop.
      	(mfb_update_loops): Removed.
      	(create_preheader): Do not update loops explicitly.
      	(force_single_succ_latches, loop_version): Do not use
      	loop_split_edge_with.
      	(loop_split_edge_with): Removed.
      	* tree-ssa-loop-manip.c (create_iv, determine_exit_conditions):
      	Do not use bsi_insert_on_edge_immediate_loop.
      	(split_loop_exit_edge, tree_unroll_loop): Do not use
      	loop_split_edge_with.
      	(bsi_insert_on_edge_immediate_loop): Removed.
      	* tree-ssa-loop-ch.c (copy_loop_headers): Use current_loops.  Do not
      	use loop_split_edge_with.
      	* cfghooks.c: Include cfgloop.h.
      	(verify_flow_info): Verify that loop_father is filled iff current_loops
      	are available.
      	(redirect_edge_and_branch_force, split_block, delete_basic_block,
      	split_edge, merge_blocks, make_forwarder_block, duplicate_block):
      	Update cfg.
      	* cfgloopanal.c (mark_irreducible_loops): Work if the function contains
      	no loops.
      	* modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use
      	loop_split_edge_with.
      	(sms_schedule): Use current_loops.
      	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Use current_loops.
      	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Set
      	current_loops.
      	(rtl_loop_init, rtl_loop_done): Do not set current_loops.
      	* tree-ssa-sink.c (execute_sink_code): Use current_loops.
      	* ifcvt.c (if_convert): Ditto.
      	* predict.c (predict_loops): Do not clear current_loops.
      	(tree_estimate_probability): Use current_loops.
      	(propagate_freq): Receive head of the region to propagate instead of
      	loop.
      	(estimate_loops_at_level): Do not use shared to_visit bitmap.
      	(estimate_loops): New function.  Handle case current_loops == NULL.
      	(estimate_bb_frequencies): Do not allocate tovisit.  Use
      	estimate_loops.
      	* tree-ssa-loop.c (current_loops): Removed.
      	(tree_loop_optimizer_init): Do not return loops.
      	(tree_ssa_loop_init, tree_ssa_loop_done): Do not set current_loops.
      	* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1,
      	slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge):
      	Do not update loops explicitly.
      	* function.h (struct function): Add x_current_loops field.
      	(current_loops): New macro.
      	* tree-if-conv.c (combine_blocks): Do not update loops explicitly.
      	* loop-unroll.c (split_edge_and_insert): New function.
      	(unroll_loop_runtime_iterations, analyze_insns_in_loop): Do not
      	use loop_split_edge_with.
      	* loop-doloop.c (add_test, doloop_modify): Ditto.
      	* tree-ssa-pre.c (init_pre, fini_pre): Do not set current_loops.
      	* cfglayout.c (copy_bbs): Do not update loops explicitly.
      	* lambda-code.c (perfect_nestify): Do not use loop_split_edge_with.
      	* tree-vect-transform.c (vect_transform_loop): Do not update loops
      	explicitly.
      	* cfgloop.c (flow_loops_cfg_dump): Do not dump dfs_order and rc_order.
      	(flow_loops_free): Do not free dfs_order and rc_order.
      	(flow_loops_find): Do not set dfs_order and rc_order in loops
      	structure.  Do not call loops and flow info verification.
      	(add_bb_to_loop, remove_bb_from_loops): Check whether the block
      	already belongs to some loop.
      	* cfgloop.h (struct loops): Remove struct cfg.
      	(current_loops, loop_split_edge_with): Declaration removed.
      	(loop_optimizer_init, loop_optimizer_finalize): Declaration changed.
      	* tree-flow.h (loop_commit_inserts, bsi_insert_on_edge_immediate_loop):
      	Declaration removed.
      	* Makefile.in (cfghooks.o): Add CFGLOOP_H dependency.
      	* basic-block.h (split_edge_and_insert): Declare.
      	* tree-cfg.c (remove_bb): Do not update loops explicitly.
      
      From-SVN: r118931
      Zdenek Dvorak committed
    • gfortran.h (gfc_add_intrinsic_modules_path, [...]): New prototypes. · 31198773
      	* gfortran.h (gfc_add_intrinsic_modules_path,
      	gfc_open_intrinsic_module): New prototypes.
      	(gfc_add_include_path, gfc_open_included_file): Update prototypes.
      	* lang.opt: Add -fintrinsic-modules-path option.
      	* module.c (gfc_match_use): Match the Fortran 2003 form of
      	USE statement.
      	(gfc_use_module): Also handle intrinsic modules. 
      	* scanner.c (gfc_directorylist): Add use_for_modules for field.
      	(intrinsic_modules_dirs): New static variable.
      	(add_path_to_list, gfc_add_intrinsic_modules_path): New functions.
      	(gfc_add_include_path): Use the new add_path_to_list helper
      	function.
      	(gfc_release_include_path): Free memory for intrinsic_modules_dirs.
      	(open_included_file, gfc_open_intrinsic_module): New functions.
      	(gfc_open_included_file): Use the new open_included_file
      	helper function.
      	* lang-specs.h: Use the new -fintrinsic-modules-path option.
      	* parse.c (decode_statement): Do not match the required space
      	after USE here.
      	* options.c (gfc_handle_option): Handle the new option. Use new
      	prototype for gfc_add_include_path.
      	(gfc_post_options): Use new prototype for gfc_add_include_path.
      
      	* gfortran.dg/use_1.f90: New test.
      	* gfortran.dg/use_1.f90: New test.
      	* gfortran.dg/use_1.f90: New test.
      
      From-SVN: r118930
      Francois-Xavier Coudert committed
    • re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.) · 9bd6112c
      2006-11-16  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Makefile.tpl (clean-target-libgcc): Test for gcc Makefile presence.
      	(unstage): Test for stage_last presence.
      
      	PR bootstrap/29802
      	* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Add HOST_SUBDIR in STAGE_PREFIX.
      	* Makefile.in: Regenerate.
      
      libada:
      2006-11-16  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR bootstrap/29802
      	* configure.ac: Call GCC_TOPLEV_SUBDIRS.
      	* configure: Regenerate.
      	* Makefile.in: Replace host_subdir.
      
      From-SVN: r118927
      Paolo Bonzini committed
    • re PR tree-optimization/29801 (ICE in set_lattice_value (tree-ssa-ccp.c)) · fc9962ee
      	PR tree-optimization/29801
      	* tree-ssa-ccp.c (get_symbol_constant_value): New function.
      	(get_default_value): Use get_symbol_constant_value.
      	(set_lattice_value): ICE when the value of the constant is
      	changed.
      	(visit_assignment): Ignore VDEFs of read-only variables.
      
      	* gcc.dg/pr29801.c: New test.
      
      From-SVN: r118926
      Zdenek Dvorak committed
    • tree-vect-transform.c (vect_create_epilog_for_reduction): Fix formating. · 80b4a8d9
      2006-11-17  Zdenek Dvorak <dvorakz@suse.cz>
      
      	* tree-vect-transform.c (vect_create_epilog_for_reduction): Fix
      	formating.
      	(vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
      	vect_gen_niters_for_prolog_loop): Fold the emited expressions.
      
      From-SVN: r118925
      Zdenek Dvorak committed
    • tree-ssa-alias.c (new_type_alias): Do not use offset of expr to select subvars of var. · d092f0f6
      	* tree-ssa-alias.c (new_type_alias): Do not use offset of expr to
      	select subvars of var.
      
      From-SVN: r118924
      Zdenek Dvorak committed
    • re PR middle-end/29584 (internal compiler error on optimization) · c7b38a85
      	PR middle-end/29584
      	* tree-ssa-forwprop.c (simplify_switch_expr): Don't
      	optimize if DEF doesn't have integral type.
      
      	* gcc.dg/torture/pr29584.c: New test.
      
      From-SVN: r118921
      Jakub Jelinek committed
    • i386.c (ix86_function_sseregparm): Missing comment update. · 3e0a5abd
      	* config/i386/i386.c (ix86_function_sseregparm): Missing comment update.
      
      From-SVN: r118918
      Uros Bizjak committed
    • darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on pre-darwin9 system, unless… · 80c85ca2
      darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on pre-darwin9 system, unless the user asks for it directly.
      
      	* config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on
      	pre-darwin9 system, unless the user asks for it directly.
      	(PREFERRED_DEBUGGING_TYPE): Likewise.
      	* config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Likewise.
      	* config.gcc: Add suppport for darwin9.h.
      	* config/darwin9.h: Add.
      	* doc/install.texi (Specific): Clarify darwin documentation.
      
      From-SVN: r118917
      Mike Stump committed
    • arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when optimizing for size. · 36b15ad0
      	* arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when
      	optimizing for size.
      
      From-SVN: r118914
      Richard Earnshaw committed
    • stdarg-2.c, stdarg-4.c: Condition PowerPC tests for saving FPRs on powerpc_fprs. · 4d7a2662
      	* gcc.dg/tree-ssa/stdarg-2.c, gcc.dg/tree-ssa/stdarg-4.c:
      	Condition PowerPC tests for saving FPRs on powerpc_fprs.
      	* gcc.target/powerpc/compress-float-ppc.c,
      	gcc.target/powerpc/compress-float-ppc-pic.c: Only test if
      	powerpc_fprs.
      	* gcc.target/powerpc/rs6000-power2-2.c: Only test if powerpc_fprs;
      	do not pass -mhard-float.
      
      From-SVN: r118912
      Joseph Myers committed
    • Daily bump. · 328488eb
      From-SVN: r118910
      GCC Administrator committed
  2. 16 Nov, 2006 14 commits
  3. 15 Nov, 2006 14 commits
    • import3.f90: Fix error message. · 813fb18b
      2006-11-15  Steven G. Kargl  <kargl@gcc.gnu.org>
      
              * gfortran.dg/import3.f90: Fix error message.
      
      From-SVN: r118868
      Steven G. Kargl committed
    • unwind-arm.c (_Unwind_GetDataRelBase, [...]): Move from here ... · 66403286
      2006-11-15  Paul Brook  <paul@codesourcery.com>
      
      	gcc/
      	* config/arm/unwind-arm.c (_Unwind_GetDataRelBase,
      	_Unwind_GetTextRelBase): Move from here ...
      	* config/arm/pr-support.c (_Unwind_GetDataRelBase,
      	_Unwind_GetTextRelBase): ... To here.
      
      From-SVN: r118864
      Paul Brook committed
    • tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory addresses we… · b1dd92fd
      tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory addresses we generate for testing are aligned.
      
      	* tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory
      	addresses we generate for testing are aligned.
      
      From-SVN: r118863
      Bernd Schmidt committed
    • re PR tree-optimization/29788 (ICE in var_ann, at tree-flow-inline.h:130) · f9f63ff2
      2006-11-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR tree-opt/29788
              * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
              to what is the const decl is a place holder for.
      
      2006-11-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR tree-opt/29788
              * gfortran.fortran-torture/compile/inline_1.f90:
              New testcase.
      
      From-SVN: r118861
      Andrew Pinski committed
    • i386.opt: New target option -mx87regparm. · 47a37ce4
      	* config/i386/i386.opt: New target option -mx87regparm.
      
      	* config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
      	float_in_x87: Add new variables. mmx_words, sse_words: Remove.
      	(X87_REGPARM_MAX): Define.
      
      	* config/i386/i386.c (override_options): Error out for
      	-mx87regparm but no 80387 support.
      	(ix86_attribute_table): Add x87regparm.
      	(ix86_handle_cconv_attribute): Update comments for x87regparm.
      	(ix86_comp_type_attributes): Check for mismatched x87regparm types.
      	(ix86_function_x87regparm): New function.
      	(ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
      	point registers.
      	(init_cumulative_args): Initialize x87_nregs and float_in_x87
      	variables.
      	(function_arg_advance): Process x87_nregs and x87_regno when
      	floating point argument is to be passed in 80387 register.
      	(function_arg): Pass XFmode arguments in 80387 registers for local
      	functions.  Pass SFmode and DFmode arguments to local functions
      	in 80387 registers when flag_unsafe_math_optimizations is set.
      
      	* reg-stack.c (convert_regs_entry): Disable NaN load for
      	stack registers that are used for argument passing.
      
      	* doc/extend.texi: Document x87regparm function attribute.
      	* doc/invoke.texi: Document -mx87regparm.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/x87regparm-1.c: New test.
      	* gcc.target/i386/x87regparm-2.c: New test.
      	* gcc.target/i386/x87regparm-3.c: New test.
      	* gcc.target/i386/x87regparm-4.c: New test.
      
      From-SVN: r118859
      Uros Bizjak committed
    • parse.c (parse_contained): Fix indention of one line. · ab25c2d9
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             * parse.c (parse_contained): Fix indention
               of one line.
      
      From-SVN: r118858
      Tobias Burnus committed
    • re PR fortran/27546 (IMPORT is broken) · 8998be20
      fortran/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/27546
             * decl.c (gfc_match_import,variable_decl):
               Add IMPORT support.
               (gfc_match_kind_spec): Fix typo in gfc_error.
             * gfortran.h (gfc_namespace, gfc_statement):
               Add IMPORT support.
             * parse.c (decode_statement,gfc_ascii_statement,
               verify_st_order): Add IMPORT support.
             * match.h: Add gfc_match_import.
             * gfortran.texi: Add IMPORT to the supported
               Fortran 2003 features.
      
      testsuite/
       2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/27546
             * gfortran.dg/import.f90: New test.
             * gfortran.dg/import2.f90: New test.
             * gfortran.dg/import3.f90: New test.
      
      From-SVN: r118857
      Tobias Burnus committed
    • tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype. · dd5f63f8
      	* tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype.
      	* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): New
      	arg MODE; all callers changed.  Use it to determine validity per
      	machine mode instead of using Pmode for all memory references.
      	(get_address_cost): Likewise add and use new arg MEM_MODE.
      
      From-SVN: r118856
      Bernd Schmidt committed
    • combine.c (likely_spilled_retval_1): Fix masking operation. · c78ba53a
      2006-11-15  Rask Ingemann Lambertsen <rask@sygehus.dk>
      	    J"orn Rennecke <joern.rennecke@st.com>
      
      	* combine.c (likely_spilled_retval_1): Fix masking operation.
      	(likely_spilled_retval_p): Use proper pattern for call to
      	likely_spilled_retval_1.
      
      Co-Authored-By: J"orn Rennecke <joern.rennecke@st.com>
      
      From-SVN: r118855
      Rask Ingemann Lambertsen committed
    • bfin.c (legitimize_pic_address): Lose dead code that tests for CONSTANT_POOL_ADDRESS_P. · 6b97a439
      	* config/bfin/bfin.c (legitimize_pic_address): Lose dead code
      	that tests for CONSTANT_POOL_ADDRESS_P.
      
      From-SVN: r118854
      Bernd Schmidt committed
    • tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting. · 0f14009a
      	* tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting.
      
      From-SVN: r118853
      Bernd Schmidt committed
    • re PR fortran/27588 (-fbounds-check should catch substring out of range accesses) · 65713e5b
      fortran/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
                  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
      
             PR fortran/27588
             * trans-expr.c (gfc_conv_substring): Add bounds checking.
               (gfc_conv_variable, gfc_conv_substring_expr): Pass more
               arguments to gfc_conv_substring.
      
      testsuite/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/27588
             * gfortran.dg/char_bounds_check_fail_1.f90: New test.
      
      
      Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
      
      From-SVN: r118852
      Tobias Burnus committed
    • re PR fortran/29806 (Error if CONTAINS is present without SUBPROGRAM) · 8c894ae2
      fortran/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/29806
             * parse.c (parse_contained): Check for empty contains statement.
      
      testsuite/
      2006-11-15  Tobias Burnus  <burnus@net-b.de>
      
             PR fortran/29806
             * gfortran.dg/contains.f90: New test.
             * gfortran.dg/derived_function_interface_1.f90: Add a dg-warning.
      
      From-SVN: r118851
      Tobias Burnus committed
    • re PR tree-optimization/29581 (Latent bug in 4.1/4.2/4.3 lambda-code.c) · 08700251
      	PR tree-optimization/29581
      	* lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
      	REPLACEMENTS, FIRSTBSI arguments.  If initial condition or
      	type is different between Y and USE, create a temporary
      	variable, initialize it at the beginning of the body bb
      	and use it as replacement instead of Y.
      
      	* gcc.dg/pr29581-1.c: New test.
      	* gcc.dg/pr29581-2.c: New test.
      	* gcc.dg/pr29581-3.c: New test.
      	* gcc.dg/pr29581-4.c: New test.
      	* gfortran.dg/pr29581.f90: New test.
      
      From-SVN: r118848
      Jakub Jelinek committed