1. 15 Jun, 2010 21 commits
  2. 14 Jun, 2010 19 commits
    • Account prefetch_mod and unroll_factor for the computation of the prefetch count. · d5058523
      2010-06-14  Changpeng Fang  <changpeng.fang@amd.com>
      
      	* tree-ssa-loop-prefetch.c (nothing_to_prefetch_p): New.  Return
      	true if no prefetch is going to be generated for a given group.
      	(estimate_prefetch_count): Use prefetch_mod and unroll_factor to
      	estimate the prefetch_count.
      	(loop_prefetch_arrays): Call nothing_to_prefetch_p; estimate the
      	prefetch count by considering the unroll_factor and prefetch_mod
      	for is_loop_prefetching_profitable.
      
      From-SVN: r160766
      Changpeng Fang committed
    • m68k.c (m68k_delegitimize_address): Don't do anything if the argument is not a MEM. · 33d67485
      * config/m68k/m68k.c (m68k_delegitimize_address): Don't do
      anything if the argument is not a MEM.
      
      From-SVN: r160763
      Andreas Schwab committed
    • re PR debug/43650 ("-fcompare-debug failure" with "-O2 -fpeel-loops -fgraphite-identity") · 22963fee
      PR debug/43650
      PR debug/44181
      PR debug/44247
      * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip
      debug stmts.
      (canonicalize_loop_ivs): Likewise.
      
      From-SVN: r160762
      Alexandre Oliva committed
    • re PR debug/43656 ("-fcompare-debug failure" with "-O2 -fschedule-insns… · c11b0b3b
      re PR debug/43656 ("-fcompare-debug failure" with "-O2 -fschedule-insns -fsched-pressure -funroll-loops -fgraphite-identity")
      
      PR debug/43656
      * haifa-sched.c (setup_insn_reg_pressure_info,
      update_register_pressure): Reject debug insns.
      (ready_sort): Don't setup reg pressure for debug insns.
      (schedule_insn): Don't update reg pressure for debug insns.
      
      From-SVN: r160761
      Alexandre Oliva committed
    • lto-streamer.c (cached_bp): Remove. · 2465dcc2
      2010-06-14  Richard Guenther  <rguenther@suse.de>
      
      	* lto-streamer.c (cached_bp): Remove.
      	(bitpack_delete): Likewise.
      	(bitpack_create): Likewise.
      	(bp_get_next_word): Likewise.
      	(bp_pack_value, bp_unpack_value): Move ...
      	* lto-streamer.h (bp_pack_value, bp_unpack_value): ... here.
      	Re-implement.
      	(struct bitpack_d): Likewise.
      	(bitpack_create, lto_output_bitpack, lto_input_bitpack):
      	New inline functions.
      	* lto-streamer-out.c (lto_output_bitpack): Remove.
      	(pack_ts_base_value_fields): Adjust.  Avoid conditional
      	bitpacking.
      	(pack_value_fields): Adjust.
      	(lto_write_tree): Likewise.
      	(output_gimple_stmt): Likewise.
      	(output_function): Likewise.
      	* lto-streamer-in.c (input_gimple_stmt): Adjust.
      	(input_function): Likewise.
      	(unpack_ts_base_value_fields): Adjust.  Avoid conditional
      	bitpacking.
      	(lto_input_bitpack): Remove.
      	(lto_materialize_tree): Adjust.
      	* Makefile.in (ipa-prop.o): Add $(LTO_STREAMER_H) dependency.
      	* lto-cgraph.c (lto_output_edge): Adjust.
      	(lto_output_node): Likewise.
      	(lto_output_varpool_node): Likewise.
      	(lto_output_ref): Likewise.
      	(input_node): Likewise.
      	(input_varpool_node): Likewise.
      	(input_ref): Likewise.
      	(input_edge): Likewise.
      	(output_node_opt_summary): Likewise.
      	(input_node_opt_summary): Likewise.
      	* ipa-pure-const.c (pure_const_write_summary): Likewise.
      	(pure_const_read_summary): Likewise.
      	* ipa-prop.c (ipa_write_indirect_edge_info): Likewise.
      	(ipa_read_indirect_edge_info): Likewise.
      	(ipa_write_node_info): Likewise.
      	(ipa_read_node_info): Likewise.
      
      From-SVN: r160760
      Richard Guenther committed
    • Replace 0x1 with 0x0 in AVX vec_extract_lo_* patterns. · 808081b4
      gcc/
      
      2010-06-14  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/44534
      	* config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with
      	0x0.
      	(vec_extract_lo_v16hi): Likewise.
      	(vec_extract_lo_v32qi): Likewise.
      
      gcc/testsuite/
      
      2010-06-14  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/44534
      	* gcc.target/i386/avx-vextractf128-256-3.c: New.
      	* gcc.target/i386/avx-vextractf128-256-4.c: Likewise.
      
      From-SVN: r160756
      H.J. Lu committed
    • re PR bootstrap/44426 (gcc 4.5.0 requires c9x compiler to build) · aa493694
      	PR bootstrap/44426
      	* tree.h (build_call_expr): Don't define as vararg macro, instead
      	add a prototype.
      	* builtins.c (build_call_nofold): Remove.
      	(expand_builtin_int_roundingfn, expand_builtin_pow,
      	expand_builtin_mempcpy_args, expand_builtin_stpcpy,
      	expand_builtin_memset_args, expand_builtin_strcmp,
      	expand_builtin_strncmp, expand_builtin_memory_chk): Use
      	build_call_nofold_loc instead of build_call_nofold.
      	(build_call_expr): New function.
      
      From-SVN: r160754
      Jakub Jelinek committed
    • re PR tree-optimization/44508 (libgomp.fortran/vla1.f90 ICE on s390) · 8ab7d796
      	PR tree-optimization/44508
      	* tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE
      	argument.
      	* tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE,
      	don't eliminate trivially dead stmts.
      	* tree-vrp.c (vrp_finalize): Pass false as last argument
      	to substitute_and_fold.
      	* tree-ssa-copy.c (fini_copy_prop): Pass true as last argument
      	to substitute_and_fold.
      	* tree-ssa-ccp.c (ccp_finalize): Likewise.
      
      	* gcc.dg/tree-ssa/pr21086.c: Adjust.
      
      From-SVN: r160749
      Jakub Jelinek committed
    • sem_ch3.adb (Build_Derived_Record_Type): if derived type is an anonymous base generated when... · 7cec010e
      2010-06-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Build_Derived_Record_Type): if derived type is an
      	anonymous base generated when the parent is a constrained discriminated
      	type, propagate interface list to first subtype because it may appear
      	in a current instance within the extension part of the derived type
      	declaration, and its own subtype declaration has not been elaborated
      	yet.
      	* exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
      	determine whether it has the controlling type.
      
      From-SVN: r160748
      Ed Schonberg committed
    • exp_ch11.adb (Expand_N_Raise_Statement): Make sure that the explicit raise of CE... · 9fc91982
      2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
      
      	* exp_ch11.adb (Expand_N_Raise_Statement): Make sure that the explicit
      	raise of CE, SE and PE have the reason correctly set and are properly
      	expanded before stopping the expansions of .NET/JVM exceptions.
      
      From-SVN: r160747
      Jerome Lambourg committed
    • Revert change introduced by mistake in previous change. · 66de78a3
      From-SVN: r160745
      Arnaud Charlet committed
    • [multiple changes] · 51bf9bdf
      2010-06-14  Robert Dewar  <dewar@adacore.com>
      
      	* opt.ads (Check_Policy_List): Add some clarifying comments
      	* sem_prag.adb (Analyze_Pragma, case Check): Set Pragma_Enabled flag
      	on rewritten Assert pragma.
      
      2010-06-14  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch6.adb (Check_Overriding_Indicator): Add a special check for
      	controlled operations, so that they will be treated as overriding even
      	if the overridden subprogram is marked Is_Hidden, as long as the
      	overridden subprogram's parent subprogram is not hidden.
      
      2010-06-14  Robert Dewar  <dewar@adacore.com>
      
      	* debug.adb: Entry for gnatw.d no longer specific for while loops
      	* einfo.adb (First_Exit_Statement): New attribute for E_Loop
      	* einfo.ads (First_Exit_Statement): New attribute for E_Loop
      	* sem_ch5.adb (Analyze_Loop_Statement): Check_Infinite_Loop_Warning has
      	new calling sequence to include test for EXIT WHEN.
      	(Analyze_Exit_Statement): Chain EXIT statement into exit statement chain
      	* sem_warn.ads, sem_warn.adb (Check_Infinite_Loop_Warning): Now handles
      	EXIT WHEN case.
      	* sinfo.adb (Next_Exit_Statement): New attribute of N_Exit_Statement
      	node.
      	* sinfo.ads (N_Pragma): Correct comment on Sloc field (points to
      	PRAGMA, not to pragma identifier).
      	(Next_Exit_Statement): New attribute of N_Exit_Statement node
      
      2010-06-14  Robert Dewar  <dewar@adacore.com>
      
      	* sem_res.adb (Resolve_Short_Circuit): Fix sloc of "assertion/check
      	would fail" msg.
      
      2010-06-14  Robert Dewar  <dewar@adacore.com>
      
      	* par-ch2.adb (Scan_Pragma_Argument_Association): Clarify message for
      	missing pragma argument identifier.
      
      2010-06-14  Robert Dewar  <dewar@adacore.com>
      
      	* atree.ads, atree.adb (Ekind_In): New functions
      
      2010-06-14  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**N in stand alone context
      
      2010-06-14  Robert Dewar  <dewar@adacore.com>
      
      	* usage.adb (Usage): Redo documentation of -gnatwa.
      
      From-SVN: r160743
      Arnaud Charlet committed
    • sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to an untagged… · ae247488
      sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to an untagged incomplete type that is a...
      
      2010-06-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to
      	an untagged incomplete type that is a limited view.
      
      From-SVN: r160741
      Ed Schonberg committed
    • [multiple changes] · 5875f8d6
      2010-06-14  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
      	and gnatppa.
      
      2010-06-14  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
      	factoring duplicated code between...
      	(Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
      	* a-envvar.ads: Minor reformatting
      
      2010-06-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
      	static entities.
      	(Scan_ALI): Take into account new Visibility field.
      	(Visibility_Kind): New type.
      	(Xref_Entity_Record): Replace Lib field by Visibility.
      
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      2010-06-14  Pascal Obry  <obry@adacore.com>
      
      	* raise.h: Remove unused defintions.
      
      2010-06-14  Bob Duff  <duff@adacore.com>
      
      	* par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
      	Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
      	the incorrect error "proper body expected".
      	* par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
      	allowed here" error in case of subunits, which was triggered by the
      	above change to P_Subunit.
      
      From-SVN: r160740
      Arnaud Charlet committed
    • gnat_ugn.texi, [...]: Update gnatelim doc. · 395993ce
      2010-06-14  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi, vms_data.ads: Update gnatelim doc.
      
      From-SVN: r160739
      Sergey Rybin committed
    • lib-util.adb: Minor code reorganization. · b14bd03f
      2010-06-14  Thomas Quinot  <quinot@adacore.com>
      
      	* lib-util.adb: Minor code reorganization.
      
      From-SVN: r160738
      Thomas Quinot committed
    • ali.adb (Scan_ALI): Implement reading and storing of N lines · 7eaa7cdf
      2010-06-14  Robert Dewar  <dewar@adacore.com>
      
      	* ali.adb (Scan_ALI): Implement reading and storing of N lines
      	(Known_ALI_Lines): Add entry for 'N' (notes)
      	* ali.ads (Notes): New table to store Notes information
      	* alloc.ads: Add entries for Notes table
      	* lib-util.adb (Write_Info_Int): New procedure
      	(Write_Info_Slit): New procedure
      	(Write_Info_Uint): New procedure
      	* lib-util.ads (Write_Info_Int): New procedure
      	(Write_Info_Slit): New procedure
      	(Write_Info_Uint): New procedure
      	* lib-writ.adb (Write_Unit_Information): Output N (notes) lines
      	* lib-writ.ads: Update documentation for N (Notes) lines
      	* lib.adb (Store_Note): New procedure
      	* lib.ads (Notes): New table
      	(Store_Note): New procedure
      	* sem_prag.adb: Call Store_Note for affected pragmas
      
      From-SVN: r160736
      Robert Dewar committed
    • socket.c: Fix wrong condition in #ifdef · 3a13e785
      2010-06-14  Thomas Quinot  <quinot@adacore.com>
      
      	* socket.c: Fix wrong condition in #ifdef
      	* g-socket.adb, g-sothco.ads: Functions imported from socket.c that
      	take or return char* values can't use Interfaces.C.Strings.chars_ptr,
      	because on VMS this type is a 32-bit pointer which is not compatible
      	with the default for C pointers for code compiled with gcc on that
      	platform.
      
      From-SVN: r160735
      Thomas Quinot committed
    • [multiple changes] · 001c7783
      2010-06-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util (Is_VMS_Operator): New predicate to determine whether an
      	operator is an intrinsic operator declared in the DEC system extension.
      	* sem_res.adb (Resolve_Logical_Op): operation is legal on signed types
      	if the operator is a VMS intrinsic.
      	* sem_eval.adb (Eval_Logical_Op): Operation is legal and be
      	constant-folded if the operands are signed and the operator is a VMS
      	intrinsic.
      
      2010-06-14  Robert Dewar  <dewar@adacore.com>
      
      	* g-socket.adb, gnatcmd.adb: Minor reformatting
      
      From-SVN: r160734
      Arnaud Charlet committed