2009-09-18 Neil Vachharajani <nvachhar@google.com>
* value-prof.c (interesting_stringop_to_profile_p): Added output
argument to indicate which parameter is the size parameter.
* value-prof.c (gimple_stringop_fixed_value): Use
INTERESTING_STRINGOP_TO_PROFILE_P to find size argument.
* value-prof.c (gimple_stringops_transform): Update call sites to
INTERESTING_STRINGOP_TO_PROFILE_P to reflect parameter change.
* testsuite/gcc.dg/tree-prof/val-prof-7.c: Added test case.
From-SVN: r151864
PR target/38288
From David Binderman <dcb314@hotmail.com>:
* gcc/config/i386/i386.c (ix86_function_regparm): Remove useless
local variable f. Remove stale comments.
(ix86_compute_frame_layout): Remove useless local variable total_size.
Remove #if 0'd code.
(legitimate_address_p): Remove useless local variables
reason_rtx and reason.
(ix86_split_copysign_const): Remove useless local variable op1.
(scale_counter): Remove useless local variable piece_size_mask.
From-SVN: r151854
2009-09-18 Pascal Obry <obry@adacore.com>
* mingw32.h: Activate Unicode support for x86-64 Windows platform.
2009-09-18 Vadim Godunko <godunko@adacore.com>
* s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
2009-09-18 Javier Miranda <miranda@adacore.com>
* exp_aggr.adb (Backend_Processing_Possible): Disable backend
processing for array aggregates in the VM backend if the array has
aliased components.
2009-09-18 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
the prefix indicates a previous semantic error, and this is the first
error in the program.
2009-09-18 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Minor editing.
From-SVN: r151844
2009-09-18 Vincent Celier <celier@adacore.com>
* prj.ads, prj.adb (Project_Data): New component
Imported_Directories_Switches.
2009-09-18 Pascal Obry <obry@adacore.com>
* mingw32.h: Include standard _mingw.h file.
Define _WIN32_WINNT only if not already defined.
From-SVN: r151843
2009-09-18 Thomas Quinot <quinot@adacore.com>
* g-socket.adb (Is_Open): New function indicating whether a
Selector_Type object is open.
2009-09-18 Vincent Celier <celier@adacore.com>
* osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
is deleted before creating it.
2009-09-18 Robert Dewar <dewar@adacore.com>
* bindgen.adb: Minor reformatting
From-SVN: r151842
2009-09-18 Arnaud Charlet <charlet@adacore.com>
* s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
signal handler is installed.
* s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
tasks if Abort_Task_Interrupt cannot be used.
2009-09-18 Vincent Celier <celier@adacore.com>
* prj-tree.ads: Minor comment update
From-SVN: r151841
* dwarf2out.c: Include tree-pass.h and gimple.h.
(loc_list_plus_const): New function.
(loc_descriptor_from_tree_1): Rename to ...
(loc_descriptor_from_tree): ... remove original.
(loc_list_from_tree): New function.
(add_AT_location_description): Accept location list.
(tls_mem_loc_descriptor): Update call of loc_descriptor_from_tree.
(concatn_mem_loc_descriptor): Remove.
(mem_loc_descriptor): Handle CONCAT/CONCATN and VAR_LOCATION by
returning NULL.
(secname_for_decl): Move up.
(hidden_reference_p): New function; break out from ...
(loc_by_refernece): ... here; move up.
(dw_loc_list): New function.
(single_element_loc_list): New function.
(single_element_loc_list_p): New function.
(add_loc_descr_to_each): New function.
(add_loc_list): New function.
(loc_descr_from_tree): Make wraper of loc_list_from_tree.
(loc_list_from_tree): Reroganized from loc_descr_from_tree;
add diagnostics why expansion failed.
(add_location_or_const_value_attribute): Support location lists.
(add_bound_info): Likewise.
(descr_info_loc): Update call of loc_descriptor_from_tree.
(gen_variable_die): Work on location lists.
* final.c (pass_final): Add dump file.
* Makefile.in (dwarf2out.o): Add new dependencies.
From-SVN: r151807
gcc/
PR c/41049
* real.c decimal_from_integer, decimal_integer_string): New.
(real_from_integer): Use them as special case for decimal float.
* config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding.
(_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td):
Do not append zero after the decimal point in string to convert.
gcc/testsuite/
PR c/41049
* dfp/pr41049.c: New test.
From-SVN: r151806
2009-09-17 Alexander Monakov <amonakov@ispras.ru>
gcc:
* graphite-sese-to-poly.c (pdr_add_data_dimensions): Add bounds only
for ARRAY_REFs. Use array_ref_{low,up}_bound to determine bounds.
libgomp:
* testsuite/libgomp.graphite/bounds.c: New test.
From-SVN: r151802
2009-09-17 Martin Jambor <mjambor@suse.cz>
* common.opt (fipa-sra): New switch.
* opts.c (decode_options): Turn flag_ipa_sra on for opt2.
* timevar.def (TV_IPA_SRA): New timevar.
* params.def (ipa-sra-ptr-growth-factor): New parameter.
* doc/invoke.texi: Document -fipa-sra and ipa-sra-ptr-growth-factor.
* tree-sra.c: Include cgraph.c.
(enum sra_mode): Added SRA_MODE_EARLY_IPA.
(struct access): Added fields stmt, grp_maybe_modified, grp_scalar_ptr
and grp_not_necessarilly_dereferenced.
(func_param_count): New variable.
(encountered_apply_args): New variable.
(bb_dereferences): New variable.
(final_bbs): New variable.
(no_accesses_representant): New variable.
(no_accesses_p): New function.
(dump_access): Dump the new fields.
(sra_initialize): Set encountered_apply_args to false.
(get_ssa_base_param): New function.
(mark_parm_dereference): New function.
(create_access): Caring for INIDRECT_REFs and different handling of
varialble length accesses in early IPA SRA. Store the stmt - a new
parameter - to the new access.
(build_access_from_expr_1): New parameter stmt, passed to
create_access. Handle INDIRECT_REFs.
(build_access_from_expr): Pass the current statement to
build_access_from_expr_1.
(disqualify_ops_if_throwing_stmt): Trigger only in intraprocedural
passes.
(build_accesses_from_assign): Pass the current statement to
build_access_from_expr_1. Do not create assign links in IPA-SRA.
(scan_function): Call handle_ssa_defs on phi nodes. Set bits in
final_bbs when necessary. Check for calls to __builtin_apply_args.
Fixup EH info if anythng was changed.
(is_unused_scalar_param): New function.
(ptr_parm_has_direct_uses): New function.
(find_param_candidates): New function.
(mark_maybe_modified): New function.
(analyze_modified_params): New function.
(propagate_dereference_distances): New function.
(dump_dereferences_table): New function.
(analyze_caller_dereference_legality): New function.
(unmodified_by_ref_scalar_representative): New function.
(splice_param_accesses): New function.
(decide_one_param_reduction): New function.
(enum ipa_splicing_result): New type.
(splice_all_param_accesses): New function.
(get_param_index): New function.
(turn_representatives_into_adjustments): New function.
(analyze_all_param_acesses): New function.
(get_replaced_param_substitute): New function.
(get_adjustment_for_base): New function.
(replace_removed_params_ssa_names): New function.
(sra_ipa_reset_debug_stmts): New function.
(sra_ipa_modify_expr): New function.
(sra_ipa_modify_assign): New function.
(convert_callers): New function.
(modify_function): New function.
(ipa_sra_preliminary_function_checks): New function.
(ipa_early_sra): New function.
(ipa_early_sra_gate): New function.
(pass_early_ipa_sra): New variable.
* Makefile.in (tree-sra.o): Add cgraph.h to dependencies.
Testsuite:
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not run IPA-SRA.
* gcc.dg/ipa/ipa-sra-1.c: New test.
* gcc.dg/ipa/ipa-sra-2.c: New test.
* gcc.dg/ipa/ipa-sra-3.c: New test.
* gcc.dg/ipa/ipa-sra-4.c: New test.
* gcc.dg/ipa/ipa-sra-5.c: New test.
* gcc.c-torture/execute/ipa-sra-1.c: New test.
* gcc.c-torture/execute/ipa-sra-2.c: New test.
From-SVN: r151800
PR middle-end/41347
* tree.c (build_type_attribute_qual_variant): Export.
* tree.h (build_type_attribute_qual_variant): Declare.
* tree-inline.c (remap_type_1): Use it to build variants with
the original qualifiers and attributes.
testsuite/
* gfortran.dg/pr41347.f90: New test.
From-SVN: r151799
2009-09-17 Bob Duff <duff@adacore.com>
* g-socket.ads: Document the fact that Close_Selector has no effect on
a closed selector.
* g-socket.adb: Raise an exception when a Selector that should be open
is closed.
(Check_Selector): Declare RSig as a constant rather than a renames,
less confusing.
From-SVN: r151798
2009-09-17 Emmanuel Briot <briot@adacore.com>
* prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to
spec.
(Do_Autoconf): If the object directory does not exists, create auto.cgpr
in a temporary directory instead
2009-09-17 Bob Duff <duff@adacore.com>
* a-dynpri.adb (Set_Priority): Don't do anything if the task is already
terminated.
(Get_Priority): Correct message for "terminated" case -- it said "null".
2009-09-17 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb: Minor reformatting
From-SVN: r151795
2009-09-17 Emmanuel Briot <briot@adacore.com>
* prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment):
Remove duplicate code.
(Prj.Ext): Fix memory leak
(Check): Now allow the syntax "-Xfoo=" to set an empty value to the
variable. This was previously allowed in the code in
Is_External_Assignment, and some tests rely on it
From-SVN: r151793
2009-09-17 Bob Duff <duff@adacore.com>
* gnat_rm.texi, s-oscons-tmplt.c: Minor typo
2009-09-17 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads,
makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads,
prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads,
prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree.
Scenario variables are now specific to each project tree loaded in
memory.
Code clean ups.
2009-09-17 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT): Remove wrong line of code that was
undocumented and probably added by mistake.
From-SVN: r151792
2009-09-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* cfglayout.c (fixup_reorder_chain): Accept conditional jumps
without a fallthrough edge.
2009-09-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.c-torture/compile/20090917-1.c: New testcase.
From-SVN: r151790
PR target/41246
* tree-cfg.c (verify_gimple_call): Validate that
* gimple_call_chain
is set only if DECL_NO_STATIC_CHAIN is unset.
* tree-nested.c (iter_nestinfo_start, iter_nestinfo_next): New.
(FOR_EACH_NEST_INFO): New.
(walk_all_functions): Use it.
(finalize_nesting_tree): Likewise.
(unnest_nesting_tree): Likewise.
(free_nesting_tree): Use iter_nestinfo_start, iter_nestinfo_next.
(get_chain_decl, get_chain_field): Reset DECL_NO_STATIC_CHAIN.
(convert_gimple_call): Early out if gimple_call_chain already set.
(convert_all_function_calls): Iterate until no new functions
require a static chain.
(finalize_nesting_tree_1): Assert DECL_NO_STATIC_CHAIN is unset
when building a trampoline. Use dump_function_to_file instead
of dump_function.
(lower_nested_functions): Open dump_file. Validate that decls
that have DECL_NO_STATIC_CHAIN from the front end don't have that
bit reset by this pass.
From-SVN: r151762
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
conversions between original and packable version of types from
the expression.
From-SVN: r151757
* gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
If a padding type was made for the field, declare it.
(components_to_record): Add DEBUG_INFO_P parameter. Adjust call
to gnat_to_gnu_field and call to self.
(gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
<E_Array_Subtype>: Likewise.
Adjust calls to gnat_to_gnu_field and components_to_record.
From-SVN: r151755