1. 15 Apr, 2010 11 commits
    • config.gcc: Handle softfp as for Linux. · 3f56ef8b
      2010-04-15 Thomas Schwinge <tschwinge@gnu.org>
      
      	gcc/
      	* config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
      
      	libgcc/
      	* config.host <i[34567]86-*-gnu*>: Handle softfp as for Linux.
      
      From-SVN: r158375
      Thomas Schwinge committed
    • tree-ssa-structalias.c (struct variable_info): Add is_fn_info flag. · 25a6a873
      2010-04-15  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (struct variable_info): Add
      	is_fn_info flag.
      	(new_var_info): Initialize it.
      	(dump_constraints): Support printing last added constraints.
      	(debug_constraints): Adjust.
      	(dump_constraint_graph): Likewise.
      	(make_heapvar_for): Check for NULL cfun.
      	(get_function_part_constraint): New function.
      	(get_fi_for_callee): Likewise.
      	(find_func_aliases): Properly implement IPA PTA constraints.
      	(process_ipa_clobber): New function.
      	(find_func_clobbers): Likewise.
      	(insert_into_field_list_sorted): Remove.
      	(create_function_info_for): Properly allocate vars for IPA mode.
      	Do not use insert_into_field_list_sorted.
      	(create_variable_info_for): Properly generate constraints for
      	global vars in IPA mode.
      	(dump_solution_for_var): Always dump the solution.
      	(set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
      	(find_what_var_points_to): Adjust.
      	(pt_solution_set): Change.
      	(pt_solution_ior_into): New function.
      	(pt_solution_empty_p): Export.
      	(pt_solution_includes_global): Adjust.
      	(pt_solution_includes_1): Likewise.
      	(pt_solutions_intersect_1): Likewise.
      	(dump_sa_points_to_info): Check some invariants.
      	(solve_constraints): Move constraint dumping ...
      	(compute_points_to_sets): ... here.
      	(ipa_pta_execute): ... and here.
      	(compute_may_aliases): Do not re-compute points-to info
      	locally if IPA info is available.
      	(ipa_escaped_pt): New global var.
      	(ipa_pta_execute): Properly implement IPA PTA.
      	* tree-into-ssa.c (dump_decl_set): Support dumping
      	decls not in referenced-vars.
      	* tree-flow.h (struct gimple_df): Add ipa_pta flag.
      	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
      	(dump_points_to_solution): Likewise.
      	* tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
      	* tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
      	(remap_gimple_stmt): Reset call clobber/use information if
      	necessary.
      	(copy_decl_to_var): Copy DECL_PT_UID.
      	(copy_result_decl_to_var): Likewise.
      	* tree.c (make_node_stat): Initialize DECL_PT_UID.
      	(copy_node_stat): Copy it.
      	* tree.h (DECL_PT_UID): New macro.
      	(SET_DECL_PT_UID): Likewise.
      	(DECL_PT_UID_SET_P): Likewise.
      	(struct tree_decl_minimal): Add pt_uid member.
      	* tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
      	(pt_solution_empty_p): Declare.
      	(pt_solution_set): Adjust.
      	(ipa_escaped_pt): Declare.
      	* cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
      	* gimple-pretty-print.c (pp_points_to_solution): New function.
      	(dump_gimple_call): Dump call clobber/use information.
      	* tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
      	* tree-pass.h (TDF_ALIAS): New dump option.
      	* tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
      	* doc/invoke.texi (-fipa-pta): Update documentation.
      
      	* gcc.dg/ipa/ipa-pta-1.c: New testcase.
      	* gcc.dg/ipa/ipa-pta-2.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-3.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-4.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-5.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-6.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-7.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-8.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-9.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-10.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-11.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-12.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-13.c: Likewise.
      	* gcc.dg/torture/ipa-pta-2.c: Likewise.
      	* gcc.dg/torture/ipa-pta-1.c: Adjust.
      
      From-SVN: r158374
      Richard Guenther committed
    • Makefile.in (OBJS-common): Add gimple-fold.o. · cbdd87d4
      2010-04-15  Richard Guenther  <rguenther@suse.de>
      
      	* Makefile.in (OBJS-common): Add gimple-fold.o.
      	(gimple-fold.o): New rule.
      	* tree.h (maybe_fold_offset_to_reference,
      	maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
      	prototypes ...
      	* gimple.h: ... here.
      	* tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
      	may_propagate_address_into_dereference): Move prototypes ...
      	* gimple.h: ... here.
      	* tree-ssa-ccp.c (get_symbol_constant_value,
      	may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
      	maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
      	maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
      	maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
      	ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
      	fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
      	gimplify_and_update_call_from_tree): Move ...
      	* gimple-fold.c: ... here.  New file.
      	(ccp_fold_builtin): Rename to ...
      	(gimple_fold_builtin): ... this.
      	* tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
      
      From-SVN: r158373
      Richard Guenther committed
    • fold-const.c (LOWPART, [...]): Move ... · 330db1e3
      2010-04-15  Richard Guenther  <rguenther@suse.de>
      
      	* fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
      	fit_double_type, force_fit_type_double, add_double_with_sign,
      	neg_double, mul_double_with_sign, lshift_double, rshift_double,
      	lrotate_double, rrotate_double, div_and_round_double): Move ...
      	* double-int.c: ... here.
      	* tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
      	add_double, neg_double, mul_double_with_sign, mul_double,
      	lshift_double, rshift_double, lrotate_double, rrotate_double,
      	div_and_round_double): Move prototypes ...
      	* double-int.h: ... here.
      
      From-SVN: r158372
      Richard Guenther committed
    • trans.c (call_to_gnu): Open a nesting level if this is a statement. · 0b3467c4
      	* gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
      	a statement.  Otherwise, if at top-level, push the processing of the
      	elaboration routine.  In the misaligned case, issue the error messages
      	again on entry and create the temporary explicitly.  Do not issue them
      	for CONSTRUCTORs.
      	For a function call, emit the range check if necessary.
      	In the copy-in copy-out case, create the temporary for the return
      	value explicitly.
      	Do not unnecessarily convert by-ref parameters to the formal's type.
      	Remove obsolete guards in conditions.
      	(gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
      	target to call_to_gnu in all cases.
      	(gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
      	(addressable_p) <CONSTRUCTOR>: Return false if not static.
      	<COMPOUND_EXPR>: New case.
      	* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
      	expression if it has unconstrained array type.
      	(gnat_mark_addressable) <COMPOUND_EXPR>: New case.
      	(gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
      	individual basis.
      
      From-SVN: r158371
      Eric Botcazou committed
    • trans.c (gigi): Do not start statement group. · a09d56d8
      	* gcc-interface/trans.c (gigi): Do not start statement group.
      	(Compilation_Unit_to_gnu): Set current_function_decl to NULL.
      	Start statement group and push binding level here...
      	(gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
      	Do not push fake contexts at top level.  Remove redundant code.
      	(call_to_gnu): Rename a local variable and constify another.
      	* gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
      	(set_current_block_context): Set it as the group's block.
      	(gnat_init_decl_processing): Delete unrelated init code.
      	(end_subprog_body): Use NULL_TREE.
      
      From-SVN: r158370
      Eric Botcazou committed
    • trans.c (call_to_gnu): Do not unnecessarily force side-effects of actual… · 932c8650
      trans.c (call_to_gnu): Do not unnecessarily force side-effects of actual parameters before the call.
      
      	* gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
      	side-effects of actual parameters before the call.
      
      From-SVN: r158369
      Eric Botcazou committed
    • decl.c (validate_size): Reorder, remove obsolete test and warning. · 8ff6c664
      	* gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
      	and warning.
      	(set_rm_size): Reorder and remove obsolete test.
      
      From-SVN: r158368
      Eric Botcazou committed
    • re PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf) · 077668e3
      	PR target/43742
      	* config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
      	matching constraints to ensure inputs match the output.
      
      From-SVN: r158367
      Bernd Schmidt committed
    • trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P on VAR_DECL… · e429bb49
      trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P on VAR_DECL LBOUND and/or UBOUND, even for -O1.
      
      	* trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
      	on VAR_DECL LBOUND and/or UBOUND, even for -O1.
      
      From-SVN: r158366
      Jakub Jelinek committed
    • Daily bump. · f36ae44d
      From-SVN: r158365
      GCC Administrator committed
  2. 14 Apr, 2010 25 commits
  3. 13 Apr, 2010 4 commits