1. 11 Dec, 2008 11 commits
    • * config/mips/mips.md (*branch_bit<bbv><mode>, · 90a37af6
      	*branch_bit<bbv><mode>_inverted): Renumber operands so that the
      	label becomes operands[1].
      
      From-SVN: r142694
      Adam Nemet committed
    • re PR middle-end/38413 ([graphite] ICE: in build2_stat, at tree.c:3293) · e81489b3
      2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR middle-end/38413
      	* gcc.dg/graphite/pr38413.c: New.
      
      From-SVN: r142691
      Sebastian Pop committed
    • re PR middle-end/38459 ([graphite] SEGFAULT in cloog_clast_create) · 7c8b5666
      2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR middle-end/38459
      	* gfortran.dg/graphite/pr37857.f90: New.
      
      From-SVN: r142690
      Sebastian Pop committed
    • re PR libgcj/38006 (Incorrect proplist on inherit.png) · bc87337f
      2008-12-11  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR libgcj/38006
      	* classpath/tools/resource/gnu/classpath/tools/gjdoc/htmldoclet/inherit.png:
      	Set svn:mime-type to application/octet-stream.
      
      From-SVN: r142689
      H.J. Lu committed
    • [multiple changes] · 4d6c7237
      2008-12-11  Harsha Jagasia  <harsha.jagasia@amd.com>
      
      	PR tree-optimization/38446
      	* graphite.c (register_bb_in_sese): New.
      	(bb_in_sese_p): Check if bb belongs to sese region by explicitly
      	looking at the bbs in the region.
      	* graphite.h (sese): Add region_basic_blocks pointer set to
      	structure and initialize at the time of defining new scop.
      
      2008-12-11  Tobias Grosser  <grosser@fim.uni-passau.de>
      
      	* graphite.c (new_graphite_bb): Initialize GBB_STATIC_SCHEDULE.
      	(find_params_in_bb): Do not free data refs.
      	(free_graphite_bb): Add FIXME on disabled free_data_refs.
      
      2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* graphite.c (struct ivtype_map_elt): New.
      	(debug_ivtype_elt, debug_ivtype_map_1, debug_ivtype_map,
      	new_ivtype_map_elt, ivtype_map_elt_info, eq_ivtype_map_elts,
      	gcc_type_for_cloog_iv): New.
      	(loop_iv_stack_patch_for_consts): Use the type of the induction
      	variable from the original loop, except for the automatically
      	generated loops, i.e., in the case of a strip-mined loop, in
      	which case there is no original loop: in that case just use
      	integer_type_node.
      	(new_graphite_bb): Initialize GBB_CLOOG_IV_TYPES.
      	(free_graphite_bb): Free GBB_CLOOG_IV_TYPES.
      	(clast_name_to_gcc): Accept params to be NULL.
      	(clast_to_gcc_expression): Take an extra parameter for the type.
      	Convert to that type all the expressions built by this function.
      	(gcc_type_for_clast_expr, gcc_type_for_clast_eq): New.
      	(graphite_translate_clast_equation): Compute the type of the
      	clast_equation before translating its LHS and RHS.
      	(clast_get_body_of_loop, gcc_type_for_iv_of_clast_loop): New.
      	(graphite_create_new_loop): Compute the type of the induction
      	variable before translating the lower and upper bounds and before
      	creating the induction variable.
      	(rename_variables_from_edge, rename_phis_end_scop): New.
      	(copy_bb_and_scalar_dependences): Call rename_phis_end_scop.
      	(sese_add_exit_phis_edge): Do not use integer_zero_node.
      	(find_cloog_iv_in_expr, compute_cloog_iv_types_1,
      	compute_cloog_iv_types): New.
      	(gloog): Call compute_cloog_iv_types before starting the
      	translation of the clast.
      
      	* graphite.h (struct graphite_bb): New field cloog_iv_types.
      	(GBB_CLOOG_IV_TYPES): New.
      	(debug_ivtype_map): Declared.
      	(oldiv_for_loop): New.
      
      2008-12-10  Tobias Grosser  <grosser@fim.uni-passau.de>
      
      	PR middle-end/38459
      	* graphite.c (new_scop): Initialize SCOP_ADD_PARAMS.
      	(param_index): Assert if parameter is not know after parameter
      	detection.
      	(find_params_in_bb): Detect params directly in GBB_CONDITIONS.
      	(find_scop_parameters): Mark, that we have finished parameter
      	detection.
      	(graphite_transform_loops): Move condition detection before parameter
      	detection.
      	* graphite.h (struct scop): Add SCOP_ADD_PARAMS.
      
      2008-12-11  Harsha Jagasia  <harsha.jagasia@amd.com>
      
      	PR tree-optimization/38446
      	* gcc.dg/graphite/pr38446.c: New.
      
      2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* gcc.dg/graphite/scop-16.c: Test only scop specific info.
      	* gcc.dg/graphite/scop-17.c: Same.
      	* gcc.dg/graphite/block-5.c: New.
      	* gcc.dg/graphite/block-6.c: New.
      	* gcc.dg/graphite/pr37485.c: Clean dump file after.
      	* gcc.dg/graphite/pr37684.c: Same.
      	* gcc.dg/graphite/block-2.c: Same.
      
      2008-12-10  Tobias Grosser  <grosser@fim.uni-passau.de>
      
      	PR middle-end/38459
      	* gfortran.dg/graphite/pr38459.f90: New.
      
      From-SVN: r142688
      Sebastian Pop committed
    • re PR testsuite/35677 (Intermitent failure "FAIL: libgomp.fortran/crayptr2.f90") · b6b561e4
      	PR testsuite/35677
      	* emutls.c (__emutls_get_address): Make sure offset is really zero
      	before initializing the object's offset.
      
      From-SVN: r142687
      John David Anglin committed
    • Make-lang.in (install-finclude-dir): Use correct mode argument for mkinstalldirs. · 150da9f4
      2008-12-11  Richard Guenther  <rguenther@suse.de>
      
      	* Make-lang.in (install-finclude-dir): Use correct mode argument
      	for mkinstalldirs.
      
      From-SVN: r142676
      Richard Guenther committed
    • re PR c++/38253 (g++.dg/ipa/iinline-1.C scan-ipa-dump inline fails on powerpc) · 329ad380
      	PR c++/38253
      	* gimplify.c (gimplify_init_constructor): Don't force constructor
      	into memory if there is just one nonzero element.
      
      From-SVN: r142674
      Jakub Jelinek committed
    • Fix testsuite/gfortran.dg/graphite/id-4.f90. · 81b822d5
      2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
      
      	Fix testsuite/gfortran.dg/graphite/id-4.f90.
      	* graphite.c (scan_tree_for_params): Do not compute the multiplicand
      	when not needed.
      
      2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* graphite.c (build_scops_1): Initialize open_scop.exit
      	and sinfo.last.
      
      2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
      	    Jan Sjodin  <jan.sjodin@amd.com>
                  Harsha Jagasia  <harsha.jagasia@amd.com>
      
      	PR middle-end/37852
      	PR middle-end/37883
      	PR middle-end/37928
      	PR middle-end/37980
      	PR middle-end/38038
      	PR middle-end/38039
      	PR middle-end/38073
      	PR middle-end/38083
      	PR middle-end/38125
      
      	* tree-phinodes.c (remove_phi_nodes): New, extracted from...
      	* tree-cfg.c (remove_phi_nodes_and_edges_for_unreachable_block): ...here.
      	* tree-flow.h (remove_phi_nodes, canonicalize_loop_ivs): Declared.
      	* Makefile.in (graphite.o): Depend on value-prof.h.
      	(graphite.o-warn): Removed -Wno-error.
      	* tree-parloops.c (canonicalize_loop_ivs): Allow reduction_list 
      	to be a NULL pointer.  Call update_stmt.  Return the newly created 
      	cannonical induction variable.
      
      	* graphite.h (debug_rename_map): Declared.  Fix some comments.
      
      	* graphite.c: Reimplement the code generation from graphite to gimple.
      	Include value-prof.h.
      	(loop_iv_stack_get_iv): Do not return NULL for constant substitutions.
      	(get_old_iv_from_ssa_name): Removed.
      	(graphite_stmt_p): New.
      	(new_graphite_bb): Test for useful statements before building a
      	graphite statement for the basic block.
      	(free_graphite_bb): Do not free GBB_DATA_REFS: this is a bug
      	in free_data_ref that calls BITMAP_FREE (DR_VOPS (dr)) without 
      	reason.
      	(recompute_all_dominators, graphite_verify,
      	nb_reductions_in_loop, graphite_loop_normal_form): New.
      	(scop_record_loop): Call graphite_loop_normal_form.
      	(build_scop_loop_nests): Iterate over all the blocks of the
      	function instead of relying on the incomplete information from
      	SCOP_BBS.  Return the success of the operation.
      	(find_params_in_bb): Use the data from GBB_DATA_REFS.
      	(add_bb_domains): Removed.
      	(build_loop_iteration_domains): Don't call add_bb_domains.
      	Add the iteration domain only to the basic blocks that have been
      	translated to graphite.
      	(build_scop_conditions_1): Add constraints only if the basic
      	block have been translated to graphite.
      	(build_scop_data_accesses): Completely disabled until data
      	dependence is correctly implemented.
      	(debug_rename_elt, debug_rename_map_1, debug_rename_map): New.
      	(remove_all_edges_1, remove_all_edges): Removed.
      	(get_new_name_from_old_name): New.
      	(graphite_rename_variables_in_stmt): Renamed 
      	rename_variables_in_stmt.  Call get_new_name_from_old_name.
      	Use replace_exp	and update_stmt.
      	(is_old_iv): Renamed is_iv.
      	(expand_scalar_variables_stmt): Extra parameter for renaming map.
      	Use replace_exp	and update_stmt.
      	(expand_scalar_variables_expr): Same.  Use the map to get the
      	new names for the renaming of induction variables and for the
      	renaming of variables after a basic block has been copied.
      	(expand_scalar_variables): Same.
      	(graphite_rename_variables): Renamed rename_variables.
      	(move_phi_nodes): Removed.
      	(get_false_edge_from_guard_bb): New.
      	(build_iv_mapping): Do not insert the induction variable of a
      	loop in the renaming iv map if the basic block does not belong
      	to that loop.
      	(register_old_new_names, graphite_copy_stmts_from_block,
      	copy_bb_and_scalar_dependences): New.
      	(translate_clast): Heavily reimplemented: copy basic blocks,
      	do not move them.  Finally, in call cleanup_tree_cfg in gloog.
      	At each translation step call graphite_verify ensuring the 
      	consistency of the SSA, loops and dominators information.
      	(collect_virtual_phis, find_vdef_for_var_in_bb,
      	find_vdef_for_var_1, find_vdef_for_var,
      	patch_phis_for_virtual_defs): Removed huge hack.
      	(mark_old_loops, remove_dead_loops, skip_phi_defs,
      	collect_scop_exit_phi_args, patch_scop_exit_phi_args,
      	gbb_can_be_ignored, scop_remove_ignoreable_gbbs, ): Removed.
      	(remove_sese_region, ifsese, if_region_entry, if_region_exit,
      	if_region_get_condition_block, if_region_set_false_region,
      	create_if_region_on_edge, move_sese_in_condition, bb_in_sese_p,
      	sese_find_uses_to_rename_use, sese_find_uses_to_rename_bb, 
      	sese_add_exit_phis_edge, sese_add_exit_phis_var,
      	rewrite_into_sese_closed_ssa): New.
      	(gloog): Remove dead code.  Early return if code cannot be
      	generated.  Call cleanup_tree_cfg once the scop has been code
      	generated.
      	(graphite_trans_scop_block, graphite_trans_loop_block): Do not 
      	block loops with less than two loops.
      	(graphite_apply_transformations): Remove the call to
      	scop_remove_ignoreable_gbbs.
      	(limit_scops): When build_scop_loop_nests fails, continue on next scop.
      	Fix open_scop.entry.
      	(graphite_transform_loops): Call recompute_all_dominators: force the
      	recomputation of correct CDI_DOMINATORS and CDI_POST_DOMINATORS.
      	Call initialize_original_copy_tables and free_original_copy_tables
      	to be able to copy basic blocks during code generation.
      	When build_scop_loop_nests fails, continue on next scop.
      	(value_clast): New union.
      	(clast_to_gcc_expression): Fix type cast warning.
      
      2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* gcc.dg/graphite/pr37928.c: New.
      	* gcc.dg/graphite/pr37883.c: New.
      	* gcc.dg/graphite/pr38073.c: New.
      	* gcc.dg/graphite/pr38125.c: New.
      	* gfortran.dg/graphite/pr38083.f90: New.
      	* gfortran.dg/graphite/pr37852.f90: New.
      	* gfortran.dg/graphite/pr37980.f90: New.
      	* gfortran.dg/graphite/id-2.f90: New.
      	* gfortran.dg/graphite/id-4.f90: New.
      
      	* gcc.dg/graphite/scop-18.c: Remove reduction, test for
      	the number of detected scops.  Copy exact same test for loop blocking...
      	* gcc.dg/graphite/block-1.c: Fix the number of expected loops
      	to be blocked as reductions are not handled.
      	* gcc.dg/graphite/block-4.c: ...here.  New.
      
      From-SVN: r142673
      Sebastian Pop committed
    • re PR tree-optimization/38464 (vect/costmodel/ppc/costmodel-slp-12.c fails to vectorize) · 564a6431
      	PR tree-optimization/38464
      	* gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Check that three
      	loops are vectorized.
      
      From-SVN: r142672
      Ira Rosen committed
    • Daily bump. · ed2b3f01
      From-SVN: r142666
      GCC Administrator committed
  2. 10 Dec, 2008 15 commits
    • re PR tree-optimization/36792 (Revision 137631 causes many failures) · 24a3fbbe
      2008-12-10  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/36792
      	* tree-ssa-pre.c (compute_avail): Handle tcc_comparison like
      	tcc_binary.
      
      From-SVN: r142662
      Richard Guenther committed
    • re PR c++/35319 (ICE throwing fixed-point types) · 07523e7c
              PR c++/35319
              * mangle.c (write_builtin_type): Add mangling for decimal floating
              point and fixed point types.
              (write_type): Pass FIXED_POINT_TYPE along.
              * cp-demangle.c (cplus_demangle_type): Support fixed-point types.
              (d_print_comp, d_dump): Likewise.
      
      From-SVN: r142661
      Jason Merrill committed
    • re PR tree-optimization/36792 (Revision 137631 causes many failures) · 615cb001
      2008-12-10  Daniel Berlin  <dberlin@dberlin.org>
      
      	PR tree-optimization/36792
      	* tree-ssa-pre.c (compute_avail): Don't insert defs into maximal
      	set.
      
      From-SVN: r142659
      Daniel Berlin committed
    • re PR target/37033 (Revision 138733 breaks -g vs -g0 for PCH) · db89a3be
      gcc/ChangeLog:
      PR target/37033
      * dwarf2out.c (saved_do_cfi_asm): New.
      (dwarf2out_do_frame): Take it into account.
      (dwarf2out_d_cfi_asm): Likewise.  Set it when appropriate.
      libcpp/ChangeLog:
      PR target/37033
      * pch.c (cpp_valid_state): Improve message for poisoned symbols.
      Allow for differences in __GCC_HAVE_DWARF2_CFI_ASM.
      
      From-SVN: r142652
      Alexandre Oliva committed
    • re PR middle-end/38271 (Spurious / missing "... used uninitialized in this function" warning) · aee91ff0
      gcc/ChangeLog:
      PR middle-end/38271
      * tree-sra.c (sra_build_bf_assignment): Avoid warnings for
      variables initialized from SRAed bit fields.
      gcc/testsuite/ChangeLog:
      PR middle-end/38271
      * gcc.dg/torture/pr38271.c: New.
      
      From-SVN: r142651
      Alexandre Oliva committed
    • Martin Guy <martinwguy@yahoo.it> PR target/37668 · 7ce8451d
      Martin Guy <martinwguy@yahoo.it>
      PR target/37668
      * arm.c (arm_size_rtx_costs, case NEG): Don't fall through if the
      result will be in an FPU register.
      
      From-SVN: r142647
      Martin Guy committed
    • re PR tree-optimization/37416 (Failure to return number of loop iterations) · 7f51c86c
      	PR tree-optimization/37416
      	* gcc.dg/vect/pr36630.c: Expect 1 vectorized loop.
      
      From-SVN: r142643
      Ira Rosen committed
    • re PR target/37170 (gcc.dg/weak/weak-1.c) · 0462b9b5
      	PR target/37170
      	PR target/38448
      	* final.c (output_addr_const) <SYMBOL_REF>: Call assemble_external
      	on the associated SYMBOL_REF_DECL node, if any.
      
      From-SVN: r142640
      Eric Botcazou committed
    • 20020919-1.c: Correct target selector to alpha*-*-*. · 53f37b01
      	* gcc.dg/20020919-1.c: Correct target selector to alpha*-*-*.
      	* gcc.dg/pr31866.c: Ditto.
      	* gcc.dg/torture/type-generic-1.c: Add -mieee for alpha*-*-* targets.
      	* g++.dg/torture/type-generic-1.C: Ditto.
      	* gfortran.dg/boz_9.f90: Ditto.
      	* gfortran.dg/boz_14.f90: Ditto.
      	* gfortran.dg/init_flag_3.f90: Ditto.
      	* gfortran.dg/init_flag_4.f90: Ditto.
      	* gfortran.dg/init_flag_5.f90: Ditto.
      	* gfortran.dg/integer_exponentiation_1.f90: Ditto.
      	* gfortran.dg/integer_exponentiation_5.F90: Ditto.
      	* gfortran.dg/isnan_1.f90: Ditto.
      	* gfortran.dg/isnan_2.f90: Ditto.
      	* gfortran.dg/module_nan.f90: Ditto.
      	* gfortran.dg/nan_1.f90: Ditto.
      	* gfortran.dg/nan_2.f90: Ditto.
      	* gfortran.dg/nan_3.f90: Ditto.
      	* gfortran.dg/nan_4.f90: Ditto.
      	* gfortran.dg/namelist_42.f90: Ditto.
      	* gfortran.dg/namelist_43.f90: Ditto.
      	* gfortran.dg/nearest_1.f90: Ditto.
      	* gfortran.dg/nearest_2.f90: Ditto.
      	* gfortran.dg/nearest_3.f90: Ditto.
      	* gfortran.dg/pr37243.f: Ditto.
      	* gfortran.dg/real_const_3.f90: Ditto.
      	* gfortran.dg/transfer_simplify_2.f90: Ditto.
      	* gfortran.fortran-torture/execute/intrinsic_spacing.x: New file.
      
      	* gfortran.dg/default_format_denormal_1.f90: XFAIL on alpha.
      
      From-SVN: r142639
      Uros Bizjak committed
    • sync.md (sync_<optab>_12): Replace MIPS_SYNC_OP_12_NOT_NOP with MIPS_SYNC_OP_12_AND. · be3fbe53
      	* config/mips/sync.md (sync_<optab>_12): Replace
      	MIPS_SYNC_OP_12_NOT_NOP with MIPS_SYNC_OP_12_AND.
      	(sync_old_<optab>_12): Remove third paramater to
      	MIPS_SYNC_OLD_OP_12 macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOP
      	with MIPS_SYNC_OLD_OP_12_AND.
      	(sync_new_<optab>_12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOP
      	with MIPS_SYNC_NEW_OP_12_AND.
      	(sync_nand_12): Replace MIPS_SYNC_OP_12_NOT_NOT with
      	MIPS_SYNC_OP_12_XOR, reduce length attribute to 40.
      	(sync_old_nand_12): Remove third paramater to MIPS_SYNC_OLD_OP_12
      	macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOT with
      	MIPS_SYNC_OLD_OP_12_XOR and reduce length attribute to 40.
      	(sync_new_nand_12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOT with
      	MIPS_SYNC_NEW_OP_12_XOR.
      	* config/mips/mips.h (MIPS_SYNC_OP_12, MIPS_SYNC_OP_12_NOT_NOP,
      	MIPS_SYNC_OP_12_NOT_NOT,MIPS_SYNC_OLD_OP_12_NOT_NOP,
      	MIPS_SYNC_OLD_OP_12_NOT_NOT, MIPS_SYNC_NEW_OP_12,
      	MIPS_SYNC_NEW_OP_12_NOT_NOP, MIPS_SYNC_NEW_OP_12_NOT_NOT,
      	MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND): Rewritten
      	to implement new __sync_nand semantics.
      	(MIPS_SYNC_OLD_OP_12): Implement new __sync_nand semantics, and
      	remove third parameter.
      	(MIPS_SYNC_OLD_OP_12_NOT_NOP_REG,
      	MIPS_SYNC_OLD_OP_12_NOT_NOT_REG): Removed.
      	(MIPS_SYNC_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OP_12_AND.
      	(MIPS_SYNC_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OP_12_XOR.
      	(MIPS_SYNC_OLD_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OLD_OP_12_AND.
      	(MIPS_SYNC_OLD_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OLD_OP_12_XOR.
      	(MIPS_SYNC_NEW_OP_12_NOT_NOP): Renamed to MIPS_SYNC_NEW_OP_12_AND.
      	(MIPS_SYNC_NEW_OP_12_NOT_NOT): Renamed to MIPS_SYNC_NEW_OP_12_XOR
      
      From-SVN: r142638
      David Daney committed
    • graphite.c (graphite_transform_loops): Always call find_transform () in ENABLE_CHECKING. · c34a77fd
      2008-12-09  Tobias Grosser  <grosser@fim.uni-passau.de>
      
      	* graphite.c (graphite_transform_loops): Always call find_transform ()
      	in ENABLE_CHECKING.  So we test these code paths, even if we do not
      	generate code.
      
      From-SVN: r142630
      Tobias Grosser committed
    • Fix typo in comment · 88376272
      From-SVN: r142629
      Mark Mitchell committed
    • re PR c++/37971 (Rejects default argument that is a template via access failure) · 248e1b22
      	PR c++/37971
      	* class.c (resolve_address_of_overloaded_function): Check
      	accessibility of member functions unless FLAGS indicates
      	otherwise.
      	* call.c (standard_conversion): Adjust flags passed to
      	instantiate_type.
      	(convert_default_arg): Do not perform access checks.
      	* cp-tree.h (tsubst_flags_t): Add tf_no_access_control.
      
      	PR c++/37971
      	* g++.dg/overload/defarg2.C: New test.
      	* g++.dg/overload/defarg3.C: Likewise.
      
      From-SVN: r142628
      Mark Mitchell committed
    • graphite.c (print_graphite_bb): Fix printing to file != dump_file. · 3725c2e3
      2008-12-09  Tobias Grosser  <grosser@fim.uni-passau.de>
      
      	* graphite.c (print_graphite_bb): Fix printing to file != dump_file.
      
      From-SVN: r142626
      Tobias Grosser committed
    • Daily bump. · 76d3363a
      From-SVN: r142623
      GCC Administrator committed
  3. 09 Dec, 2008 14 commits
    • gimplify.c (gimplify_init_constructor): Revert to using < rather than <= for sparseness test. · 8afd015a
              * gimplify.c (gimplify_init_constructor): Revert to using < rather
              than <= for sparseness test.
      
      From-SVN: r142618
      Jason Merrill committed
    • re PR middle-end/38454 (memcpy folding breaks -D_FORTIFY_SOURCE=2 protection) · 0889e9bc
      	PR middle-end/38454
      	* function.h (struct function): Add always_inline_functions_inlined.
      	* ipa-inline.c (cgraph_early_inlining): Set it to true.
      	* tree-optimize.c (execute_fixup_cfg): Likewise.
      	* builtins.c (avoid_folding_inline_builtin): New function.
      	(fold_call_expr): Don't optimize always_inline builtins before
      	inlining.
      	(fold_call_stmt): Likewise.
      	(fold_builtin_call_array): Likewise.  Don't call
      	fold_builtin_varargs for BUILT_IN_MD builtins.
      
      	* gcc.dg/memset-1.c: New test.
      	* gcc.dg/memcpy-2.c: New test.
      
      From-SVN: r142617
      Jakub Jelinek committed
    • re PR tree-optimization/37416 (Failure to return number of loop iterations) · 218d1c24
      	PR tree-optimization/37416
      	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle NOP_EXPR.
      
      From-SVN: r142616
      Jakub Jelinek committed
    • * doc/sourcebuild.texi (Test Directives): Fix formatting. · e2f08cac
      From-SVN: r142611
      Janis Johnson committed
    • tm.texi (TARGET_IRA_COVER_CLASSES): Modify description. · 7db7ed3c
      2008-12-09  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
      
      	* doc/invoke.texi (-fira-region): Describe new option.
      	(-fira-algorithm): Change the values.
      
      	* ira-conflicts.c (build_conflict_bit_table,
      	build_allocno_conflicts): Use ira_reg_classes_intersect_p.
      	(ira_build_conflicts): Use flag flag_ira_region instead of
      	flag_ira_algorithm.  Prohibit usage of callee-saved likely spilled
      	base registers for allocnos crossing calls.
      
      	* flags.h (enum ira_algorithm): Redefine.
      	(enum ira_region): New.
      	(flag_ira_region): New.
      
      	* cfgloopanal.c (estimate_reg_pressure_cost): Use flag_ira_region
      	instead of flag_ira_algorithm.
      
      	* toplev.c (flag_ira_algorithm): Change the initial value.
      	(flag_ira_region): New.
      
      	* ira-int.h (ira_reg_classes_intersect_p,
      	ira_reg_class_super_classes): New.
      
      	* ira-color.c (update_copy_costs): Use
      	ira_reg_classes_intersect_p.  Use right class to find hard reg
      	index.
      	(update_conflict_hard_regno_costs): Ditto.  Add a new parameter.
      	(assign_hard_reg): Ditto.  Pass additional argument to
      	update_conflict_hard_regno_costs.  Do not uncoalesce for priority
      	coloring.
      	(allocno_priorities, setup_allocno_priorities,
      	allocno_priority_compare_func): Move before color_allocnos.
      	(color_allocnos): Add priority coloring.  Use flag flag_ira_region
      	instead of flag_ira_algorithm.
      	(move_spill_restore): Check classes of the same reg allocno from
      	different regions.
      	(update_curr_costs): Use ira_reg_classes_intersect_p.
      	(ira_reassign_conflict_allocnos): Ditto.
      
      	* opts.c (decode_options): Always set up flag_ira.  Set up
      	flag_ira_algorithm.  Warn CB can not be used for architecture.
      	(common_handle_option): Modify code for -fira-algorithm.  Add code
      	to process -fira-region.
      
      	* ira-lives.c (update_allocno_pressure_excess_length): Process
      	superclasses too.
      	(set_allocno_live, clear_allocno_live, mark_reg_live,
      	mark_reg_dead, process_bb_node_lives): Ditto.
      
      	* ira-emit.c (ira_emit): Fix insn codes.
      	
      	* ira-build.c (propagate_allocno_info): Use flag flag_ira_region
      	instead of flag_ira_algorithm.
      	(allocno_range_compare_func): Ignore classes for priority
      	coloring.
      	(setup_min_max_conflict_allocno_ids): Ditto.
      	(ira_flattening): Use ira_reg_classes_intersect_p.
      
      	* genpreds.c (write_enum_constraint_num): Output
      	CONSTRAINT__LIMIT.
      	
      	* common.opt (fira-algorithm): Modify.
      	(fira-region): New.
      
      	* ira.c (setup_class_hard_regs): Initialize.
      	(setup_cover_and_important_classes): Modify code setting class
      	related info for priority coloring.
      	(setup_class_translate): Ditto.
      	(ira_reg_classes_intersect_p, ira_reg_class_super_classes): New.
      	(setup_reg_class_intersect_union): Rename to
      	setup_reg_class_relations.  Add code for setting up new variables.
      	(find_reg_class_closure): Do not check targetm.ira_cover_classes.
      	(ira): Use flag flag_ira_region instead of flag_ira_algorithm.
      
      	* ira-costs.c (common_classes): New.
      	(print_costs): Use flag flag_ira_region instead of
      	flag_ira_algorithm.
      	(find_allocno_class_costs): Ditto.  Use common_classes.  Translate
      	alt_class.
      	(ira_costs): Allocate/deallocate common_classes.
      	
      	* config/m32c/m32.h (REG_ALLOC_ORDER): Add reg 19.
      	(REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): New entries for
      	R02A_REGS.
      
      	* reload1.c (choose_reload_regs): Use MODE_INT for partial ints in
      	smallest_mode_for_size.
      
      From-SVN: r142610
      Vladimir Makarov committed
    • * config/rs6000/linux-unwind.h (get_regs): Constify casts. · 2e5d002a
      From-SVN: r142609
      Ben Elliston committed
    • re PR fortran/36376 (-cpp -save-temps passes unknown options to f951) · c9071863
      2008-12-09  Daniel Franke  <franke.daniel@gmail.com>
      
              PR fortran/36376
              PR fortran/37468
      	* lang-specs.h: Pass on -i* options to f951 to (probably) report
              them as unknown. Duplicate gcc.c (cpp_options), but omit
              -fpch-preprocess on -save-temps.
      
      From-SVN: r142608
      Daniel Franke committed
    • re PR fortran/36457 (preprocessing: option -idirafter undefined for fortran) · c3280643
      2008-12-09  Daniel Franke  <franke.daniel@gmail.com>
      
              PR fortran/36457
              * lang.opt: Added option idirafter.
              * cpp.h (gfc_cpp_add_include_path_after): New prototype.
      	* cpp.c (gfc_cpp_handle_option): Recognize and handle OPT_dirafter.
              (gfc_cpp_add_include_path_after): New, adds user-defined search path
              after any other paths.
              * invoke.texi (idirafter): New.
              (no-range-check): Fixed entry in option-index.
      
      From-SVN: r142607
      Daniel Franke committed
    • re PR fortran/37469 (invalid GMP usage on gfortran.dg/parameter_array_init_3.f90) · 138b3340
      2008-12-09  Mikael Morin  <mikael.morin@tele2.fr>
      
      	PR fortran/37469
      	* expr.c (find_array_element): Simplify array bounds.
      	Assert that both bounds are constant expressions.
      
      From-SVN: r142606
      Mikael Morin committed
    • re PR fortran/35983 (C_LOC in derived type constructor gives weird result) · fe7a047c
      2008-12-09  Mikael Morin  <mikael.morin@tele2.fr>
      
      	PR fortran/35983
      	* trans-expr.c (gfc_trans_subcomponent_assign):
      	Add se's pre and post blocks to current block.
      	(gfc_trans_structure_assign): Remove specific handling
      	of C_NULL_PTR and C_NULL_FUNPTR.
      
      2008-12-09  Mikael Morin  <mikael.morin@tele2.fr>
      
      	PR fortran/35983
      	* gfortran.dg/pr35983.f90: New test.
      
      From-SVN: r142605
      Mikael Morin committed
    • re PR testsuite/38420 (gcc.target/i386/pr37248-2.c doesn't work on ia32) · b922b5ae
      2008-12-09  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR testsuite/38420
      	* gcc.target/i386/pr37248-2.c: Support hex dump on 32bit host.
      	* gcc.target/i386/pr37248-3.c: Likewise.
      
      From-SVN: r142601
      H.J. Lu committed
    • re PR testsuite/37326 (gcc.dg/tree-ssa/ssa-store-ccp-3.c scan-tree-dump-times… · 53873346
      re PR testsuite/37326 (gcc.dg/tree-ssa/ssa-store-ccp-3.c scan-tree-dump-times optimized "conststaticvariable" 1)
      
      	PR testsuite/37326
      	* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Skip on hppa*64-*-*.
      
      From-SVN: r142599
      Steve Ellcey committed
    • re PR tree-optimization/35468 (LHS of assignment can be folded to a constant causing ICE) · bab4e8fb
      	PR tree-optimization/35468
      	* tree-ssa-ccp.c (fold_stmt_r): Don't fold reads from constant
      	string on LHS.
      
      	* gcc.dg/pr35468.c: New test.
      	* gcc.c-torture/compile/pr35468.c: New test.
      
      From-SVN: r142598
      Jakub Jelinek committed