1. 12 Jul, 2010 15 commits
    • Makefile.in (target-globals.o): Depend on $(REGS_H). · 939dcd0d
      gcc/
      	* Makefile.in (target-globals.o): Depend on $(REGS_H).
      	* regs.h (target_reg_modes): New structure.
      	(default_target_reg_modes): Declare.
      	(this_target_reg_modes): Declare as a variable or define as a macro.
      	(hard_regno_nregs, reg_raw_mode): Redefine as macros.
      	* reginfo.c (default_target_reg_modes): New variable.
      	(this_target_reg_modes): New conditional variable.
      	(hard_regno_nregs, reg_raw_mode): Delete.
      	* target-globals.h (this_target_regs): Declare.
      	(target_globals): Add a regs field.
      	(restore_target_globals): Copy the regs field to this_target_regs.
      	* target-globals.c: Include regs.h.
      	(default_target_globals): Initialize the regs field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162087
      Richard Sandiford committed
    • tm.texi.in (SWITCHABLE_TARGET): Document. · 3bd36029
      gcc/
      	* doc/tm.texi.in (SWITCHABLE_TARGET): Document.
      	* doc/tm.texi: Regenerate.
      	* Makefile.in (OBJS-common): Add target-globals.o.
      	(gtype-desc.o): Depend on $(IPA_PROP_H), $(LTO_STREAMER_H)
      	and target-globals.h.
      	(target-globals.o): New rule.
      	(GTFILES): Include $(srcdir)/target-globals.h.
      	* defaults.h (SWITCHABLE_TARGET): Define.
      	* gengtype.c (open_base_files): Add target-globals.h to the
      	list of includes.
      	* target-globals.h: New file.
      	* target-globals.c: Likewise.
      
      	* Makefile.in (target-globals.o): Depend on $(FLAGS_H).
      	* flags.h (target_flag_state): New structure.
      	(default_target_flag_state): Declare.
      	(this_target_flag_state): Declare as a variable or define as a macro.
      	(align_loops_log): Redefine as a macro.
      	(align_loops_max_skip, align_jumps_log): Likewise.
      	(align_jumps_max_skip, align_labels_log): Likewise.
      	(align_labels_max_skip, align_functions_log): Likewise.
      	* toplev.c (default_target_flag_state): New variable.
      	(this_target_flag_state): New conditional variable.
      	(align_loops_log): Delete.
      	(align_loops_max_skip, align_jumps_log): Likewise.
      	(align_jumps_max_skip, align_labels_log): Likewise.
      	(align_labels_max_skip, align_functions_log): Likewise.
      	* target-globals.h (this_target_flag_state): Declare.
      	(target_globals): Add a flag_state field.
      	(restore_target_globals): Copy the flag_state field to
      	this_target_flag_state.
      	* target-globals.c: Include flags.h.
      	(default_target_globals): Initialize the flag_state field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162086
      Richard Sandiford committed
    • postreload.c (reg_symbol_ref[]): New. · 7beb0596
      	* postreload.c (reg_symbol_ref[]): New.
      	(move2add_use_add2_insn): New.
      	(move2add_use_add3_insn): New.
      	(reload_cse_move2add): Handle SYMBOL + OFFSET case.
      	(move2add_note_store): Likewise.
      
      From-SVN: r162085
      Jie Zhang committed
    • Fix comment typo. · 2bc7b00c
      From-SVN: r162084
      Joern Rennecke committed
    • re PR rtl-optimization/44752 (insn-automata.c: empty translation unit) · ea19b1ec
      	PR rtl-optimization/44752
      	* genautomata.c (main): Don't emit an empty file even if there
      	is no automaton.
      
      From-SVN: r162083
      Joern Rennecke committed
    • i386.c (ix86_sol10_return_in_memory): Rename to ix86_solaris_return_in_memory. · e2b4f103
      	* config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
      	ix86_solaris_return_in_memory.
      	* config/i386-protos.h: Reflect this.
      	* config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
      	* config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
      	Move ...
      	* config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.
      
      From-SVN: r162082
      Rainer Orth committed
    • expr.c (gfc_get_int_expr): Don't initialize mpfr data twice. · 04a17bb6
      2010-07-12  Mikael Morin  <mikael@gcc.gnu.org>
      
      	* expr.c (gfc_get_int_expr): Don't initialize mpfr data twice.
      	* resolve.c (build_default_init_expr): Ditto.
      
      From-SVN: r162081
      Mikael Morin committed
    • inclhack.def (solaris_cond_init): New fix. · 872cc2d3
      	* inclhack.def (solaris_cond_init): New fix.
      	* fixincl.x: Regenerate.
      	* tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: New test.
      	[SOLARIS_MUTEX_INIT_2_CHECK]: Adapt.
      
      From-SVN: r162080
      Rainer Orth committed
    • arm.c (arm_get_frame_offsets): Don't use r3 to align the stack when it's going to be saved. · fb2f8cf8
      	* config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
      	align the stack when it's going to be saved.
      
      	testsuite/
      	* gcc.target/arm/interrupt-1.c: New test.
      	* gcc.target/arm/interrupt-2.c: New test.
      
      From-SVN: r162078
      Jie Zhang committed
    • pr42427.c: Require c99_runtime. · f457c53d
      	* gcc.dg/pr42427.c: Require c99_runtime.
      	* gcc.target/i386/avx-cmpsd-1.c: Use dg-require-effective-target
      	c99_runtime.
      	* gcc.target/i386/avx-cmpss-1.c: Likewise.
      	* gcc.target/i386/avx-vcmppd-1.c: Likewise.
      	* gcc.target/i386/avx-vcmppd-256-1.c: Likewise.
      	* gcc.target/i386/avx-vcmpps-1.c: Likewise.
      	* gcc.target/i386/avx-vcmpps-256-1.c: Likewise.
      	* gcc.target/i386/avx-vcmpsd-1.c: Likewise.
      	* gcc.target/i386/avx-vcmpss-1.c: Likewise.
      	* gcc.target/i386/sse-cmpss-1.c: Likewise.
      	* gcc.target/i386/sse2-cmpsd-1.c: Likewise
      	* gcc.target/i386/pr37275.c: Require visibility support.
      
      From-SVN: r162075
      Rainer Orth committed
    • re PR pch/14940 (PCH largefile test fails on various platforms) · 8f89ba7c
      	PR pch/14940
      	* config/host-solaris.c (mmap_fixed): New function.
      	(sol_gt_pch_get_address): Use it.
      	(sol_gt_pch_use_address): Likewise.
      
      From-SVN: r162074
      Rainer Orth committed
    • config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to pentiumpro on Solaris 8 and 9/x86. · ae6a0535
      	gcc:
      	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
      	pentiumpro on Solaris 8 and 9/x86.
      	* doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
      	Document SSE/SSE2 support.
      	* doc/sourcebuild.texi (Effective-Target Keywords): Document sse.
      
      	gcc/testsuite:
      	* lib/target-supports.exp (check_effective_target_sse): New proc.
      	* gcc.target/i386/sol2-check.h: New file.
      	* gcc.target/i386/sse-check.h (ILL_INSN, ILL_INSN_LEN): Define.
      	Include sol2-check.h.
      	(main) Only run do_test () if sol2_check ().
      	* gcc.target/i386/sse2-check.h: Likewise.
      	* gcc.target/i386/sse3-check.h: Likewise.
      	* gcc.dg/vect/tree-vect.h (check_vect) [__i386__ || __x86_64__]
      	[__sun__ && __svr4__]: Execute SSE2 instruction.
      	* gcc.target/i386/math-torture/math-torture.exp: Only add options
      	with -msse to MATH_TORTURE_OPTIONS if check_effective_target_sse.
      	* g++.dg/debug/dwarf2/const2b.C: Use dg-require-effective-target sse.
      	* g++.dg/ext/vector14.C: Likewise.
      	* g++.dg/other/mmintrin.C: Likewise.
      	* gcc.dg/20020418-1.c: Likewise.
      	* gcc.dg/debug/dwarf2/const-2b.c: Likewise.
      	* gcc.dg/format/ms_unnamed-1.c: Likewise.
      	* gcc.dg/format/unnamed-1.c: Likewise.
      	Adapt dg-warning line number.
      	* gcc.dg/graphite/pr40281.c: Likewise.
      	* gcc.dg/pr32176.c: Likewise.
      	* gcc.dg/pr40550.c: Likewise.
      	* gcc.dg/prefetch-loop-arrays-1.c: Likewise.
      	* gcc.dg/torture/pr36891.c: Likewise.
      	* gcc.target/i386/20020218-1.c: Likewise.
      	* gcc.target/i386/20020523.c: Likewise.
      	* gcc.target/i386/abi-1.c: Likewise.
      	* gcc.target/i386/brokensqrt.c: Likewise.
      	* gcc.target/i386/fastcall-sseregparm.c: Likewise.
      	* gcc.target/i386/pr13366.c: Likewise.
      	* gcc.target/i386/pr13685.c: Likewise.
      	* gcc.target/i386/pr24306.c: Likewise.
      	* gcc.target/i386/pr31486.c: Likewise.
      	* gcc.target/i386/pr32065-1.c: Likewise.
      	* gcc.target/i386/pr32065-2.c: Likewise.
      	* gcc.target/i386/pr32389.c: Likewise.
      	* gcc.target/i386/pr38824.c: Likewise.
      	* gcc.target/i386/pr38931.c: Likewise.
      	* gcc.target/i386/pr39592-1.c: Likewise.
      	* gcc.target/i386/pr43766.c: Likewise.
      	* gcc.target/i386/recip-divf.c: Likewise.
      	* gcc.target/i386/recip-sqrtf.c: Likewise.
      	* gcc.target/i386/recip-vec-divf.c: Likewise.
      	* gcc.target/i386/recip-vec-sqrtf.c: Likewise.
      	* gcc.target/i386/sse-1.c: Likewise.
      	* gcc.target/i386/sse-16.c: Likewise.
      	* gcc.target/i386/sse-2.c: Likewise.
      	* gcc.target/i386/sse-20.c: Likewise.
      	* gcc.target/i386/sse-3.c: Likewise.
      	* gcc.target/i386/sse-7.c: Likewise.
      	* gcc.target/i386/sse-9.c: Likewise.
      	* gcc.target/i386/sse-addps-1.c: Likewise.
      	* gcc.target/i386/sse-addss-1.c: Likewise.
      	* gcc.target/i386/sse-andnps-1.c: Likewise.
      	* gcc.target/i386/sse-andps-1.c: Likewise.
      	* gcc.target/i386/sse-cmpss-1.c: Likewise.
      	* gcc.target/i386/sse-comiss-1.c: Likewise.
      	* gcc.target/i386/sse-comiss-2.c: Likewise.
      	* gcc.target/i386/sse-comiss-3.c: Likewise.
      	* gcc.target/i386/sse-comiss-4.c: Likewise.
      	* gcc.target/i386/sse-comiss-5.c: Likewise.
      	* gcc.target/i386/sse-comiss-6.c: Likewise.
      	* gcc.target/i386/sse-copysignf-vec.c: Likewise.
      	* gcc.target/i386/sse-cvtsi2ss-1.c: Likewise.
      	* gcc.target/i386/sse-cvtsi2ss-2.c: Likewise.
      	* gcc.target/i386/sse-cvtss2si-1.c: Likewise.
      	* gcc.target/i386/sse-cvtss2si-2.c: Likewise.
      	* gcc.target/i386/sse-cvttss2si-1.c: Likewise.
      	* gcc.target/i386/sse-cvttss2si-2.c: Likewise.
      	* gcc.target/i386/sse-divps-1.c: Likewise.
      	* gcc.target/i386/sse-divss-1.c: Likewise.
      	* gcc.target/i386/sse-init-v4hi-1.c: Likewise.
      	* gcc.target/i386/sse-init-v4sf-1.c: Likewise.
      	* gcc.target/i386/sse-maxps-1.c: Likewise.
      	* gcc.target/i386/sse-maxss-1.c: Likewise.
      	* gcc.target/i386/sse-minps-1.c: Likewise.
      	* gcc.target/i386/sse-minss-1.c: Likewise.
      	* gcc.target/i386/sse-movaps-1.c: Likewise.
      	* gcc.target/i386/sse-movaps-2.c: Likewise.
      	* gcc.target/i386/sse-movhlps-1.c: Likewise.
      	* gcc.target/i386/sse-movhps-1.c: Likewise.
      	* gcc.target/i386/sse-movhps-2.c: Likewise.
      	* gcc.target/i386/sse-movlhps-1.c: Likewise.
      	* gcc.target/i386/sse-movmskps-1.c: Likewise.
      	* gcc.target/i386/sse-movntps-1.c: Likewise.
      	* gcc.target/i386/sse-movss-1.c: Likewise.
      	* gcc.target/i386/sse-movss-2.c: Likewise.
      	* gcc.target/i386/sse-movss-3.c: Likewise.
      	* gcc.target/i386/sse-movups-1.c: Likewise.
      	* gcc.target/i386/sse-movups-2.c: Likewise.
      	* gcc.target/i386/sse-mulps-1.c: Likewise.
      	* gcc.target/i386/sse-mulss-1.c: Likewise.
      	* gcc.target/i386/sse-orps-1.c: Likewise.
      	* gcc.target/i386/sse-rcpps-1.c: Likewise.
      	* gcc.target/i386/sse-recip-vec.c: Likewise.
      	* gcc.target/i386/sse-recip.c: Likewise.
      	* gcc.target/i386/sse-rsqrtps-1.c: Likewise.
      	* gcc.target/i386/sse-set-ps-1.c: Likewise.
      	* gcc.target/i386/sse-sqrtps-1.c: Likewise.
      	* gcc.target/i386/sse-subps-1.c: Likewise.
      	* gcc.target/i386/sse-subss-1.c: Likewise.
      	* gcc.target/i386/sse-ucomiss-1.c: Likewise.
      	* gcc.target/i386/sse-ucomiss-2.c: Likewise.
      	* gcc.target/i386/sse-ucomiss-3.c: Likewise.
      	* gcc.target/i386/sse-ucomiss-4.c: Likewise.
      	* gcc.target/i386/sse-ucomiss-5.c: Likewise.
      	* gcc.target/i386/sse-ucomiss-6.c: Likewise.
      	* gcc.target/i386/sse-unpckhps-1.c: Likewise.
      	* gcc.target/i386/sse-unpcklps-1.c: Likewise.
      	* gcc.target/i386/sse-xorps-1.c: Likewise.
      	* gcc.target/i386/ssefn-1.c: Likewise.
      	* gcc.target/i386/ssefn-3.c: Likewise.
      	* gcc.target/i386/sseregparm-1.c: Likewise.
      	* gcc.target/i386/stackalign/return-3.c: Likewise.
      	* gcc.target/i386/vectorize1.c: Likewise.
      	* gcc.target/i386/vperm-v4sf-1.c: Likewise.
      	* gcc.target/i386/xorps-sse.c: Likewise.
      	* gfortran.dg/pr28158.f90: Likewise.
      	* gfortran.dg/pr30667.f: Likewise.
      	* gnat.dg/loop_optimization7.adb: Likewise.
      	* gnat.dg/sse_nolib.adb: Likewise.
      
      	libgfortran:
      	* config/fpu-387.h [__sun__ && __svr4__] Include <signal.h>,
      	<ucontext.h>.
      	(sigill_caught): New.
      	(sigill_hdlr): New function
      	(has_sse) [__sun__ && __svr4__]: Check if SSE instruction causes
      	SIGILL.
      
      From-SVN: r162073
      Rainer Orth committed
    • lto-symtab.c (lto_symtab_merge_decls_1): Use fatal_error instead of gcc_assert… · e56d9a76
      lto-symtab.c (lto_symtab_merge_decls_1): Use fatal_error instead of gcc_assert to print better error message for...
      
      2010-07-12  Andi Kleen  <ak@linux.intel.com>
      
              * lto-symtab.c (lto_symtab_merge_decls_1): Use fatal_error
              instead of gcc_assert to print better error message for
              multiple prevailing defs.
      
      From-SVN: r162070
      Andi Kleen committed
    • i386.c (ix86_asm_output_function_label): Change format string placeholder from 0x%x to %#x. · 9db335b9
      	* config/i386/i386.c (ix86_asm_output_function_label): Change format
      	string placeholder from 0x%x to %#x.
      	(ix86_code_end): Use putc to output '\n'.
      	(ix86_print_operand) <case ';'>: Use putc to output ';'.
      
      From-SVN: r162067
      Uros Bizjak committed
    • Daily bump. · 30ac015e
      From-SVN: r162065
      GCC Administrator committed
  2. 11 Jul, 2010 8 commits
  3. 10 Jul, 2010 11 commits
    • MAINTAINERS (Reviewers): Update my e-mail address · 02fe70af
      2010-07-10  Mikael Morin  <mikael@gcc.gnu.org>
      
      	* MAINTAINERS (Reviewers): Update my e-mail address
      
      From-SVN: r162046
      Mikael Morin committed
    • reginfo.h (reg_classes_intersect_p): Change arguments type to reg_class_t. · a56b31ca
      	* reginfo.h (reg_classes_intersect_p): Change arguments type to
      	reg_class_t.
      	* rtl.h (reg_classes_intersect_p): Adjust prototype.
      
      	* config/rs6000/rs6000.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
      	Remove macros.
      	* config/rs6000/rs6000-protos.h (rs6000_register_move_cost,
      	rs6000_memory_move_cost): Remove
      	* config/rs6000/rs6000.c (TARGET_REGISTER_MOVE_COST,
      	TARGET_MEMORY_MOVE_COST): Define.
      	(rs6000_register_move_cost): Make static. Change arguments type from
      	enum reg_class to reg_class_t. Adjust rs6000_memory_move_cost calls.
      	(rs6000_memory_move_cost): Make static. Change arguments type from
      	'enum reg_class' to reg_class_t.
      
      From-SVN: r162045
      Anatoly Sokolov committed
    • re PR middle-end/42505 (loop canonicalization causes a lot of unnecessary temporary variables) · bec922f0
      2010-07-10  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR middle-end/42505
      
      	gcc/
      	* tree-inline.c (estimate_num_insns): Refactor builtin complexity
      	lookup code into....
      	* builtins.c (is_simple_builtin, is_inexpensive_builtin): ...these
      	new functions.
      	* tree.h (is_simple_builtin, is_inexpensive_builtin): Declare.
      	* cfgloopanal.c (target_clobbered_regs): Define.
      	(init_set_costs): Initialize target_clobbered_regs.
      	(estimate_reg_pressure_cost): Add call_p argument.  When true,
      	adjust the number of available registers to exclude the
      	call-clobbered registers.
      	* cfgloop.h (target_clobbered_regs): Declare.
      	(estimate_reg_pressure_cost): Adjust declaration.
      	* tree-ssa-loop-ivopts.c (struct ivopts_data): Add body_includes_call.
      	(ivopts_global_cost_for_size): Pass it to estimate_reg_pressure_cost.
      	(determine_set_costs): Dump target_clobbered_regs.
      	(loop_body_includes_call): New function.
      	(tree_ssa_iv_optimize_loop): Use it to initialize new field.
      	* loop-invariant.c (gain_for_invariant): Adjust arguments to pass
      	call_p flag through.
      	(best_gain_for_invariant): Likewise.
      	(find_invariants_to_move): Likewise.
      	(move_single_loop_invariants): Likewise, using already-computed
      	has_call field.
      
      From-SVN: r162043
      Sandra Loosemore committed
    • trans-io.c (gfc_build_st_parameter): Update calls to gfc_add_field_to_struct. · 35151cd5
      2010-07-10  Mikael Morin  <mikael@gcc.gnu.org>
      
      	* trans-io.c (gfc_build_st_parameter): Update calls to
      	gfc_add_field_to_struct.
      	* trans-stmt.c (ADD_FIELD): Ditto.
      	* trans-types.c
      	(gfc_get_derived_type): Ditto. Don't create backend_decl for C_PTR's
      	C_ADDRESS field. 
      	(gfc_add_field_to_struct_1): Set TYPE_FIELDS(context) instead of
      	fieldlist, remove fieldlist from argument list.
      	(gfc_add_field_to_struct): Update call to gfc_add_field_to_struct_1
      	and remove fieldlist from argument list. 
      	(gfc_get_desc_dim_type, gfc_get_array_descriptor_base,
      	gfc_get_mixed_entry_union): Move setting
      	TYPE_FIELDS to gfc_add_field_to_struct_1 and update calls to it.
      	* trans-types.h (gfc_add_field_to_struct): Update prototype.
      
      From-SVN: r162042
      Mikael Morin committed
    • re PR fortran/44773 (Unnecessary temporaries increase the runtime for channel.f90 by ~70%) · 022e30c0
      2010-07-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/44773
      	* trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
      	if the lhs has never been host associated, as well as not being
      	use associated, a pointer or a target.
      	* resolve.c (resolve_variable): Mark variables that are host
      	associated.
      	* gfortran.h: Add the host_assoc bit to the symbol_attribute
      	structure.
      
      From-SVN: r162038
      Paul Thomas committed
    • re PR debug/44832 (-fcompare-debug failure for C++ i386.c) · ccf134c7
      2010-07-10  Richard Guenther  <rguenther@suse.de>
      	    Joern Rennecke  <joern.rennecke@embecosm.com>
      
      	PR debug/44832
      	* tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for
      	LABEL_DECL.
      	(remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs
      	unless they have DECL_IGNORED_P set.
      
      Co-Authored-By: Joern Rennecke <joern.rennecke@embecosm.com>
      
      From-SVN: r162035
      Richard Guenther committed
    • re PR lto/44889 (Bogus "type of ‘nsLayoutModule_NSModule’ does not match… · bcee752e
      re PR lto/44889 (Bogus "type of ‘nsLayoutModule_NSModule’ does not match original declaration" waning compiling Mozilla)
      
      2010-07-10  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/44889
      	* gimple.c (gimple_fixup_complete_and_incomplete_subtype_p): New
      	helper function.
      	(gimple_types_compatible_p): Similar to pointed-to
      	types allow and merge a mix of complete and incomplete aggregate.
      	Use gimple_fixup_complete_and_incomplete_subtype_p for that.
      	(iterative_hash_gimple_type): Adjust for that.
      
      	* gcc.dg/lto/20100709-1_0.c: New testcase.
      	* gcc.dg/lto/20100709-1_1.c: Likewise.
      
      From-SVN: r162032
      Richard Guenther committed
    • tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols. · 7e9b9697
      gcc/
      	* tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.
      
      gcc/testsuite/
      	* gcc.dg/attr-weak-hidden-1.c, gcc.dg/attr-weak-hidden-1a.c: New test.
      
      From-SVN: r162031
      Richard Sandiford committed
    • make ObjC do LTO. · 058bfe53
      gcc/
      	PR objc/44140
      	* config/darwin.c (output_objc_section_asm_op): Save and restore
      	section when outputting ObjC section list.
      
      testsuite/
      
      	PR objc/44140
      	* objc.dg/lto/trivial-1_0.m: New.
      	* objc.dg/lto/lto.exp: New.
      	* obj-c++.dg/lto/trivial-1_0.mm: New.
      	* obj-c++.dg/lto/lto.exp: New.
      	* objc.dg/symtab-1.m: Adjust sizes.
      	* objc.dg/image-info.m: Do not run for gnu-runtime.
      
      gcc/objc/
      
      	PR objc/44140
      	* objc-act.c: build_objc_string_decl() remove declaration.
      	(finish_var_decl): Remove forcing of var output and marking
      	as "Used". 
      	(init_def_list): Use integer_zero_node. 
      	(init_objc_symtab): Use integer_zero_node, make the short
      	integer type specific on relevant nodes.
      	(generate_objc_symtab_decl): Remove call to 
      	forward_declare_categories().  Use null_pointer_node where
      	appropriate.  
      	(build_module_descriptor): Comment and mark this item as 
      	DECL_PRESERVE_P. 
      	(generate_static_references): Use gcc_unreachable instead of
      	abort (). 
      	(diagnose_missing_method): New.
      	(build_next_selector_translation_table): New.
      	(build_gnu_selector_translation_table): New.
      	(add_objc_string): Merge code from build_objc_string_decl...
      	... and delete build_objc_string_decl().
      	(generate_dispatch_table): Make integer types explicit.
      	(generate_category): Pass implent and arrange for the data
      	to be extracted within the routine.  Do not start new vars, 
      	but finish the ones collcted during parsing.
      	(generate_shared_structures): Likewise.
      	(finish_objc):  Reorder code so that we finish variables before
      	referencing them.  Save the global data before calling meta-data
      	creation routines, and pass the current reference to the two 
      	main routines.  Only call generate_objc_image_info () for the 
      	NeXT runtime.
      	(generate_classref_translation_entry): Comment on and make this
      	item DECL_PRESERVE_P.
      	(handle_class_ref): Use varpool interfaces, comment on and make
      	this item DECL_PRESERVE_P.
      	(handle_impent): Likewise.
      	(generate_objc_image_info): Only generate when the content is 
      	non-zero.  Make integer types explict.
      
      From-SVN: r162030
      Iain Sandoe committed
    • Daily bump. · 0571e6db
      From-SVN: r162029
      GCC Administrator committed
    • lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool nodes. · b772114c
      	* lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool
      	nodes.
      
      From-SVN: r162025
      Jan Hubicka committed
  4. 09 Jul, 2010 6 commits
    • tree-inline.c (declare_return_variable): Fix ICE while inlining DECL_BY_VALUE… · 7e97ee1a
      tree-inline.c (declare_return_variable): Fix ICE while inlining DECL_BY_VALUE function not in SSA form
      
      
      	* tree-inline.c (declare_return_variable): Fix ICE while
      	inlining DECL_BY_VALUE function not in SSA form
      
      From-SVN: r162024
      Jan Hubicka committed
    • pr44576 Avoid un-necessary prefetch analysis by distributing the cost models · 0bbe50f6
      2010-07-09  Changpeng Fang  <changpeng.fang@amd.com>
      
      	PR tree-optimization/44576
      	* tree-ssa-loop-prefetch.c (trip_count_to_ahead_ratio_too_small_p):
      	New.  Pull out from is_loop_prefetching_profitable to implement
      	the trip count to ahead ratio heuristic.
      	(mem_ref_count_reasonable_p): New.  Pull out from
      	is_loop_prefetching_profitable to implement the instruction to
      	memory reference ratio heuristic.  Also consider not reasonable if
      	the memory reference count is above a threshold (to avoid
      	explosive compilation time.
      	(insn_to_prefetch_ratio_too_small_p): New.  Pull out from
      	is_loop_prefetching_profitable to implement the instruction to
      	prefetch ratio heuristic.
      	(is_loop_prefetching_profitable): Removed.
      	(loop_prefetch_arrays): Distribute the cost analysis across the
      	function to allow early exit of the prefetch analysis.
      	is_loop_prefetching_profitable is splitted into three functions,
      	with each one called as early as possible.
      	(PREFETCH_MAX_MEM_REFS_PER_LOOP): New.  Threshold above which the
      	number of memory references in a loop is considered too many.
      
      From-SVN: r162023
      Changpeng Fang committed
    • arm.md (cbranchqi4): Fix array size. · 95da5cf9
      	* config/arm/arm.md (cbranchqi4): Fix array size.
      	(addsi3_cbranch): Also andle alternative 2 like alternative 3 when
      	calculating length.
      
      From-SVN: r162022
      Bernd Schmidt committed
    • * config/arm/arm.md (Thumb-1 ldrsb peephole): New. · 1744c800
      From-SVN: r162021
      Bernd Schmidt committed
    • arm.md (addsi3_cbranch): Switch alternatives 0 and 1. · 0879e7b3
      	* config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
      
      From-SVN: r162020
      Bernd Schmidt committed
    • reload.c (find_reloads): Don't clear badop if we have a winreg alternative... · c033690d
      	* reload.c (find_reloads): Don't clear badop if we have a
      	winreg alternative, but not win, and the class only has fixed
      	regs.
      	* hard-reg-set.h (class_only_fixed_regs): Declare.
      	* reginfo.c (class_only_fixed_regs): New array.
      	(init_reg_sets_1): Initialize it.
      	* config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
      	discourage alternatives using the stack pointer.
      
      testsuite/
      	* gcc.dg/pr32370.c: Allow another kind of error message.
      
      From-SVN: r162019
      Bernd Schmidt committed