Richard Sandiford [Mon, 12 Jul 2010 18:54:35 +0000 (18:54 +0000)]
Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
gcc/
* Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
* optabs.h (target_optabs): New structure.
(default_target_optabs): Declare.
(this_target_optabs): Declare as a variable or define as a macro.
(optab_table, convert_optab_table, direct_optab_table): Redefine
as macros.
* optabs.c (default_target_optabs): New variable.
(this_target_optabs): New conditional variable.
(optab_table, convert_optab_table, direct_optab_table): Delete.
* target-globals.h (this_target_optabs): Declare.
(target_globals): Add a optabs field.
(restore_target_globals): Copy the optabs field to
this_target_optabs.
* target-globals.c: Include expr.h and optabs.h.
(default_target_globals): Initialize the optabs field.
(save_target_globals): Likewise.
From-SVN: r162097
Richard Sandiford [Mon, 12 Jul 2010 18:54:26 +0000 (18:54 +0000)]
flags.h (target_flagstate): Add x_flag_excess_precision.
gcc/
* flags.h (target_flagstate): Add x_flag_excess_precision.
(flag_excess_precision): Redefine as a macro.
* toplev.c (flag_excess_precision): Delete.
From-SVN: r162096
Richard Sandiford [Mon, 12 Jul 2010 18:54:17 +0000 (18:54 +0000)]
defaults.h (MAX_MOVE_MAX, [...]): Define if not defined.
gcc/
* defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined.
* libgcc2.c (MIN_UNITS_PER_WORD): Delete.
* hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set.
(no_caller_save_reg_set): Redefine as a macro.
* reload.h (target_reload): Add x_caller_save_initialized_p and
x_regno_save_mode.
(caller_save_initialized_p): Redefine as a macro.
* caller-save.c (caller_save_initialized_p, no_caller_save_reg_set)
(MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete.
(regno_save_mode): Redefine as a macro.
From-SVN: r162095
Richard Sandiford [Mon, 12 Jul 2010 18:54:08 +0000 (18:54 +0000)]
Makefile.in (expmed.o, [...]): Depend on expmed.h.
gcc/
* Makefile.in (expmed.o, target-globals.o): Depend on expmed.h.
* expmed.h: New file.
* expmed.c (default_target_costs): New variable.
(this_target_costs): New conditional variable.
(sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost, neg_cost)
(shift_cost, shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost)
(sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete.
* target-globals.h (this_target_expmed): Declare.
(target_globals): Add a expmed field.
(restore_target_globals): Copy the expmed field to
this_target_expmed.
* target-globals.c: Include expmed.h.
(default_target_globals): Initialize the expmed field.
(save_target_globals): Likewise.
From-SVN: r162094
Richard Sandiford [Mon, 12 Jul 2010 18:53:59 +0000 (18:53 +0000)]
Makefile.in (target-globals.o): Depend on reload.h.
gcc/
* Makefile.in (target-globals.o): Depend on reload.h.
* reload.h (target_reload): New structure.
(default_target_reload): Declare.
(this_target_reload): Declare as a variable or define as a macro.
(indirect_symref_ok, double_reg_address_ok): Redefine as macros.
* reload1.c (default_target_reload): New variable
(this_target_reload): New conditional variable.
(indirect_symref_ok, double_reg_address_ok): Delete.
(spill_indirect_levels): Redefine as a macro.
* target-globals.h (this_target_reload): Declare.
(target_globals): Add a reload field.
(restore_target_globals): Copy the reload field to
this_target_reload.
* target-globals.c: Include hard-reg-set.h.
(default_target_globals): Initialize the reload field.
(save_target_globals): Likewise.
From-SVN: r162093
Richard Sandiford [Mon, 12 Jul 2010 18:53:49 +0000 (18:53 +0000)]
rtl.h (target_rtl): Add x_static_reg_base_value.
gcc/
* rtl.h (target_rtl): Add x_static_reg_base_value.
* alias.c (static_reg_base_value): Redefine as a macro.
From-SVN: r162092
Richard Sandiford [Mon, 12 Jul 2010 18:53:42 +0000 (18:53 +0000)]
Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
gcc/
* Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
(GTFILES): Remove reginfo.c.
* rtl.h (target_rtl): Add x_top_of_stack.
(top_of_stack): New macro.
* reginfo.c: Don't include ggc.h or gt-reginfo.h.
(top_of_stack): Delete.
From-SVN: r162091
Richard Sandiford [Mon, 12 Jul 2010 18:53:33 +0000 (18:53 +0000)]
regs.h (target_regs): Add x_hard_regs_of_mode...
gcc/
* regs.h (target_regs): Add x_hard_regs_of_mode, x_contains_reg_of_mode,
x_move_cost, x_may_move_in_cost, x_may_move_out_cost and
x_last_mode_for_init_move_cost.
(have_regs_of_mode, contains_reg_of_mode, move_cost)
(may_move_in_cost, may_move_out_cost): Redefine as macros.
* reginfo.c (have_regs_of_mode, contains_reg_of_mode, move_cost)
(may_move_in_cost, may_move_out_cost): Delete.
(last_mode_for_init_move_cost): Redefine as a macro.
From-SVN: r162090
Richard Sandiford [Mon, 12 Jul 2010 18:53:25 +0000 (18:53 +0000)]
hard-reg-set.h (target_hard_regs): New structure.
gcc/
* hard-reg-set.h (target_hard_regs): New structure.
(default_target_hard_regs): Declare.
(this_target_hard_regs): Declare as a variable or define as a macro.
(fixed_regs, fixed_reg_set, call_used_regs, call_really_used_regs)
(call_used_reg_set, call_fixed_reg_set, regs_invalidated_by_call)
(reg_alloc_order, inv_reg_alloc_order, reg_class_contents)
(reg_class_size, reg_class_subclasses, reg_class_subunion)
(reg_class_superunion, reg_names): Redefine as macros.
* reginfo.c (fixed_regs, fixed_reg_set, call_used_regs)
(call_used_reg_set, call_really_used_regs, call_fixed_reg_set)
(regs_invalidated_by_call, reg_alloc_order, inv_reg_alloc_order)
(reg_class_contents, reg_class_size, reg_class_subclasses)
(reg_class_subunion, reg_class_superunion, reg_names): Delete.
(default_target_hard_regs): New variable
(this_target_hard_regs, initial_call_really_used_regs)
(initial_reg_alloc_order): New conditional variables.
(initial_reg_names): New variable.
(init_reg_sets): Assert that initial_call_really_used_regs,
initial_reg_alloc_order and initial_reg_names
are all the same size as their variable counterparts. Use them to
initialize those counterparts.
* target-globals.h (this_target_hard_regs): Declare.
(target_globals): Add a hard_regs field.
(restore_target_globals): Copy the hard_regs field to
this_target_hard_regs.
* target-globals.c: Include hard-reg-set.h.
(default_target_globals): Initialize the hard_regs field.
(save_target_globals): Likewise.
From-SVN: r162089
Richard Sandiford [Mon, 12 Jul 2010 18:53:17 +0000 (18:53 +0000)]
Makefile.in (target-globals.o): Depend on $(RTL_H).
gcc/
* Makefile.in (target-globals.o): Depend on $(RTL_H).
* rtl.h: (target_rtl): New structure.
(default_target_rtl): Declare.
(this_target_rtl): Declare as a variable or define as a macro.
(global_rtl, pic_offset_table_rtx, return_address_pointer_rtx):
Redefine as macros.
* emit-rtl.c (default_target_rtl): New variable.
(this_target_rtl): New conditional variable.
(global_rtl, static_regno_reg_rtx, pic_offset_table_rtx)
(return_address_pointer_rtx): Delete.
(initial_regno_reg_rtx): New macro.
(init_emit): Use initial_regno_reg_rtx instead of static_regno_reg_rtx.
(init_emit_regs): Likewise.
* target-globals.h (this_target_rtl): Declare.
(target_globals): Add a rtl field.
(restore_target_globals): Copy the rtl field to this_target_rtl.
* target-globals.c: Include rtl.h.
(default_target_globals): Initialize the rtl field.
(save_target_globals): Likewise.
From-SVN: r162088
Richard Sandiford [Mon, 12 Jul 2010 18:53:08 +0000 (18:53 +0000)]
Makefile.in (target-globals.o): Depend on $(REGS_H).
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 [Mon, 12 Jul 2010 18:53:01 +0000 (18:53 +0000)]
tm.texi.in (SWITCHABLE_TARGET): Document.
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
Jie Zhang [Mon, 12 Jul 2010 17:22:48 +0000 (17:22 +0000)]
postreload.c (reg_symbol_ref[]): New.
* 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
Joern Rennecke [Mon, 12 Jul 2010 17:17:47 +0000 (18:17 +0100)]
Fix comment typo.
From-SVN: r162084
Joern Rennecke [Mon, 12 Jul 2010 17:16:38 +0000 (17:16 +0000)]
re PR rtl-optimization/44752 (insn-automata.c: empty translation unit)
PR rtl-optimization/44752
* genautomata.c (main): Don't emit an empty file even if there
is no automaton.
From-SVN: r162083
Rainer Orth [Mon, 12 Jul 2010 15:30:50 +0000 (15:30 +0000)]
i386.c (ix86_sol10_return_in_memory): Rename to ix86_solaris_return_in_memory.
* 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
Mikael Morin [Mon, 12 Jul 2010 14:31:00 +0000 (14:31 +0000)]
expr.c (gfc_get_int_expr): Don't initialize mpfr data twice.
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
Rainer Orth [Mon, 12 Jul 2010 14:29:50 +0000 (14:29 +0000)]
inclhack.def (solaris_cond_init): New fix.
* 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
Jie Zhang [Mon, 12 Jul 2010 14:02:08 +0000 (14:02 +0000)]
arm.c (arm_get_frame_offsets): Don't use r3 to align the stack when it's going to be saved.
* 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
Rainer Orth [Mon, 12 Jul 2010 12:21:10 +0000 (12:21 +0000)]
pr42427.c: Require c99_runtime.
* 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 [Mon, 12 Jul 2010 11:57:16 +0000 (11:57 +0000)]
re PR pch/14940 (PCH largefile test fails on various platforms)
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 [Mon, 12 Jul 2010 11:32:42 +0000 (11:32 +0000)]
config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to pentiumpro on Solaris 8 and 9/x86.
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
Andi Kleen [Mon, 12 Jul 2010 08:35:08 +0000 (08:35 +0000)]
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
Uros Bizjak [Mon, 12 Jul 2010 07:37:55 +0000 (09:37 +0200)]
i386.c (ix86_asm_output_function_label): Change format string placeholder from 0x%x to %#x.
* 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
GCC Administrator [Mon, 12 Jul 2010 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r162065
Tobias Burnus [Sun, 11 Jul 2010 21:29:30 +0000 (23:29 +0200)]
tob@archimedes:~/scratch/gcc> head -n 15 ../intrinsic_use.diff
2010-07-11 Tobias Burnus <burnus@net-b.de>
PR fortran/44702
* module.c (sort_iso_c_rename_list): Remove.
(import_iso_c_binding_module,use_iso_fortran_env_module):
Allow multiple imports of the same symbol.
2010-07-11 Tobias Burnus <burnus@net-b.de>
PR fortran/44702
* gfortran.dg/use_rename_6.f90: New.
* gfortran.dg/use_iso_c_binding.f90: Update dg-error.
From-SVN: r162061
Kai Tietz [Sun, 11 Jul 2010 20:43:25 +0000 (20:43 +0000)]
re PR fortran/44698 (I/O: FLUSH does not actually flush the buffer?)
2010-07-11 Kai Tietz <kai.tietz@onevision.com>
PR libfortran/44698
* io/unix.c (flush_buf): Add _commit for WIN32.
From-SVN: r162060
Mikael Morin [Sun, 11 Jul 2010 12:14:25 +0000 (12:14 +0000)]
arith.c (gfc_arith_done_1): Release mpfr internal caches.
2010-07-11 Mikael Morin <mikael@gcc.gnu.org>
* arith.c (gfc_arith_done_1): Release mpfr internal caches.
From-SVN: r162058
Paolo Carlini [Sun, 11 Jul 2010 09:13:26 +0000 (09:13 +0000)]
type_traits (is_convertible): Use SFINAE.
2010-07-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (is_convertible): Use SFINAE.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r162056
Kai Tietz [Sun, 11 Jul 2010 09:05:24 +0000 (09:05 +0000)]
winnt.c (i386_pe_file_end): Quote symbol name in directive -export.
2010-07-11 Kai Tietz <kai.tietz@onevision.com>
* config/i386/winnt.c (i386_pe_file_end): Quote symbol name
in directive -export.
From-SVN: r162055
Janus Weil [Sun, 11 Jul 2010 08:00:47 +0000 (10:00 +0200)]
fixing ChangeLog
From-SVN: r162053
Janus Weil [Sun, 11 Jul 2010 07:55:11 +0000 (09:55 +0200)]
re PR fortran/44869 ([OOP] generic TBPs not initialized properly)
2010-07-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/44689
* decl.c (build_sym,attr_decl1): Only build the class container if the
symbol has sufficient attributes.
* expr.c (gfc_check_pointer_assign): Use class_pointer instead of
pointer attribute for classes.
* match.c (gfc_match_allocate,gfc_match_deallocate): Ditto.
* module.c (MOD_VERSION): Bump.
(enum ab_attribute,attr_bits): Add AB_CLASS_POINTER.
(mio_symbol_attribute): Handle class_pointer attribute.
* parse.c (parse_derived): Use class_pointer instead of pointer
attribute for classes.
* primary.c (gfc_variable_attr,gfc_expr_attr): Ditto.
* resolve.c (resolve_structure_cons,resolve_deallocate_expr,
resolve_allocate_expr,resolve_fl_derived): Ditto.
(resolve_fl_var_and_proc): Check for class_ok attribute.
2010-07-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/44689
* gfortran.dg/class_24.f03: New.
From-SVN: r162052
GCC Administrator [Sun, 11 Jul 2010 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r162051
Mikael Morin [Sat, 10 Jul 2010 22:33:36 +0000 (22:33 +0000)]
MAINTAINERS (Reviewers): Update my e-mail address
2010-07-10 Mikael Morin <mikael@gcc.gnu.org>
* MAINTAINERS (Reviewers): Update my e-mail address
From-SVN: r162046
Anatoly Sokolov [Sat, 10 Jul 2010 21:42:15 +0000 (01:42 +0400)]
reginfo.h (reg_classes_intersect_p): Change arguments type to reg_class_t.
* 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
Sandra Loosemore [Sat, 10 Jul 2010 18:43:29 +0000 (14:43 -0400)]
re PR middle-end/42505 (loop canonicalization causes a lot of unnecessary temporary variables)
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
Mikael Morin [Sat, 10 Jul 2010 18:14:45 +0000 (18:14 +0000)]
trans-io.c (gfc_build_st_parameter): Update calls to gfc_add_field_to_struct.
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
Paul Thomas [Sat, 10 Jul 2010 14:57:25 +0000 (14:57 +0000)]
re PR fortran/44773 (Unnecessary temporaries increase the runtime for channel.f90 by ~70%)
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
Richard Guenther [Sat, 10 Jul 2010 09:40:36 +0000 (09:40 +0000)]
re PR debug/44832 (-fcompare-debug failure for C++ i386.c)
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 [Sat, 10 Jul 2010 08:39:46 +0000 (08:39 +0000)]
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 Sandiford [Sat, 10 Jul 2010 08:35:58 +0000 (08:35 +0000)]
tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.
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
Iain Sandoe [Sat, 10 Jul 2010 00:22:35 +0000 (00:22 +0000)]
make ObjC do LTO.
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
GCC Administrator [Sat, 10 Jul 2010 00:18:38 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r162029
Jan Hubicka [Sat, 10 Jul 2010 00:14:55 +0000 (02:14 +0200)]
lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool nodes.
* lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool
nodes.
From-SVN: r162025
Jan Hubicka [Fri, 9 Jul 2010 23:41:10 +0000 (01:41 +0200)]
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
Changpeng Fang [Fri, 9 Jul 2010 23:08:55 +0000 (23:08 +0000)]
pr44576 Avoid un-necessary prefetch analysis by distributing the cost models
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
Bernd Schmidt [Fri, 9 Jul 2010 21:51:16 +0000 (21:51 +0000)]
arm.md (cbranchqi4): Fix array size.
* 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 [Fri, 9 Jul 2010 21:45:44 +0000 (21:45 +0000)]
* config/arm/arm.md (Thumb-1 ldrsb peephole): New.
From-SVN: r162021
Bernd Schmidt [Fri, 9 Jul 2010 21:44:11 +0000 (21:44 +0000)]
arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
* config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
From-SVN: r162020
Bernd Schmidt [Fri, 9 Jul 2010 21:40:48 +0000 (21:40 +0000)]
reload.c (find_reloads): Don't clear badop if we have a winreg alternative...
* 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
Richard Guenther [Fri, 9 Jul 2010 21:37:54 +0000 (21:37 +0000)]
gimple.c (struct type_fixup_s): New struct and VEC type.
2010-07-09 Richard Guenther <rguenther@suse.de>
* gimple.c (struct type_fixup_s): New struct and VEC type.
(gimple_register_type_fixups): New static global.
(gimple_queue_type_fixup): New function.
(gimple_types_compatible_p): Queue type fixups instead of
applying them here.
(gimple_register_type): Apply queued fixups for the
canonical type. Empty the type fixup queue.
From-SVN: r162017
Uros Bizjak [Fri, 9 Jul 2010 21:09:04 +0000 (23:09 +0200)]
* config.in: Regenerate.
From-SVN: r162016
Uros Bizjak [Fri, 9 Jul 2010 21:00:08 +0000 (23:00 +0200)]
configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
* configure: Regenerate.
From-SVN: r162015
Eric Botcazou [Fri, 9 Jul 2010 20:23:14 +0000 (20:23 +0000)]
trans.c (gnat_gimplify_expr): Deal with CALL_EXPR.
* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
CALL_EXPR.
From-SVN: r162014
Jakub Jelinek [Fri, 9 Jul 2010 19:40:03 +0000 (21:40 +0200)]
re PR tree-optimization/28632 (VRP should understand bitwise OR and AND)
PR tree-optimization/28632
* tree-vrp.c (zero_nonzero_bits_from_vr): New function.
(extract_range_from_binary_expr): Further optimize
BIT_AND_EXPR and BIT_IOR_EXPR.
* gcc.dg/tree-ssa/vrp51.c: New test.
* gcc.dg/tree-ssa/vrp52.c: New test.
Co-Authored-By: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
Co-Authored-By: Denys Vlasenko <dvlasenk@redhat.com>
From-SVN: r162009
Jason Merrill [Fri, 9 Jul 2010 19:36:19 +0000 (15:36 -0400)]
re PR c++/43120 (Virtual inheritance with covariant return type confuses GCC)
PR c++/43120
* cp-tree.h (BV_LOST_PRIMARY): New macro.
* class.c (update_vtable_entry_for_fn): Fix covariant thunk logic.
Set BV_LOST_PRIMARY.
(build_vtbl_initializer): Check BV_LOST_PRIMARY.
From-SVN: r162008
Sebastian Pop [Fri, 9 Jul 2010 18:58:20 +0000 (18:58 +0000)]
Outline fold_or_predicates from add_to_predicate_list.
2010-07-09 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (fold_or_predicates): New.
(add_to_predicate_list): Call it.
From-SVN: r162007
Janus Weil [Fri, 9 Jul 2010 18:40:09 +0000 (20:40 +0200)]
intrinsic.texi: Add documentation for SAME_TYPE_AS...
2010-07-09 Janus Weil <janus@gcc.gnu.org>
* intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
SIZEOF and C_SIZEOF.
From-SVN: r162006
Richard Guenther [Fri, 9 Jul 2010 18:32:29 +0000 (18:32 +0000)]
re PR middle-end/44890 (Hitting gcc_assert in build2_stat with pr30388.c testsuite test case)
2010-07-09 Richard Guenther <rguenther@suse.de>
PR middle-end/44890
* tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
if base is a pointer.
* tree-cfg.c (verify_expr): Update MEM_REF checking.
From-SVN: r162005
Michael Meissner [Fri, 9 Jul 2010 16:10:10 +0000 (16:10 +0000)]
re PR target/44877 (C++ compiler can no longer compile dealII for VSX/Altivec vectorization)
PR 44877
From-SVN: r162002
Uros Bizjak [Fri, 9 Jul 2010 16:02:58 +0000 (18:02 +0200)]
configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check for "lock addl".
* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
for "lock addl".
* configure: Regenerate.
* config/i386/i386.c (ix86_print_operand) <case ';'>:
Remove TARGET_MACHO.
From-SVN: r162001
Peter Bergner [Fri, 9 Jul 2010 15:00:55 +0000 (10:00 -0500)]
rs6000.c (rs6000_override_options): Fix setting of default ISA flags.
* config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
default ISA flags.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mvsx.
From-SVN: r161999
Tom de Vries [Fri, 9 Jul 2010 14:22:45 +0000 (16:22 +0200)]
tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
2010-07-09 Tom de Vries <tjvries@xs4all.nl>
* tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
* gcc.dg/debug/dwarf2/pr31230.c: New testcase.
From-SVN: r161998
Hariharan Sandanagobalane [Fri, 9 Jul 2010 12:18:46 +0000 (12:18 +0000)]
picochip.md (commsTestPort): Emit more efficient sequence for tstport instruction.
* config/picochip/picochip.md (commsTestPort): Emit more efficient sequence
for tstport instruction.
From-SVN: r161996
Uros Bizjak [Fri, 9 Jul 2010 11:55:31 +0000 (13:55 +0200)]
i386.c (ix86_veclib_handler): Make static.
* config/i386/i386.c (ix86_veclib_handler): Make static.
From-SVN: r161995
Richard Guenther [Fri, 9 Jul 2010 11:24:09 +0000 (11:24 +0000)]
re PR middle-end/44852 (miscompilation (of e.g. newlib dtoa.c) after mem-ref2 merge)
2010-07-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44852
* tree-ssa-alias.c: Include toplev.h for exact_log2.
(indirect_ref_may_alias_decl_p): Properly handle negative offsets
in MEM_REF.
(indirect_refs_may_alias_p): Likewise.
* Makefile.in (tree-ssa-alias.o): Add $(TOPLEV_H).
* gcc.c-torture/execute/pr44852.c: New testcase.
From-SVN: r161994
Rainer Orth [Fri, 9 Jul 2010 11:13:30 +0000 (11:13 +0000)]
asm-support.S (snapshot): Replace multiplication by values.
* gcc.target/x86_64/abi/asm-support.S (snapshot): Replace
multiplication by values.
* gcc.target/x86_64/abi/asm-support-darwin.s (_snapshot): Likewise.
* gcc.target/x86_64/abi/avx/asm-support.S (snapshot): Likewise.
From-SVN: r161991
Richard Guenther [Fri, 9 Jul 2010 10:05:27 +0000 (10:05 +0000)]
re PR fortran/44882 (Bogus types in references with mismatched commons)
2010-07-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44882
* tree-vect-stmts.c (vectorizable_store): Do not assert alias
sets do conflict.
(vectorizable_load): Likewise.
* gfortran.dg/pr44882.f90: New testcase.
From-SVN: r161990
Jonathan Wakely [Fri, 9 Jul 2010 09:44:14 +0000 (09:44 +0000)]
re PR libstdc++/44875 (libstdc++ status documentation fails to mention missing c++0x io members)
2010-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/44875
* doc/xml/manual/status_cxx200x.xml: Corrections to status.
* doc/html/*: Regenerate.
From-SVN: r161989
Bernd Schmidt [Fri, 9 Jul 2010 09:03:22 +0000 (09:03 +0000)]
re PR target/40657 (allocate local variables with fewer instructions)
PR target/40657
* config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
All callers changed.
Handle the case when we're called for the epilogue.
(thumb_unexpanded_epilogue): Use it.
(thumb1_expand_epilogue): Likewise.
testsuite/
PR target/40657
* gcc.target/arm/pr40657-1.c: New test.
* gcc.target/arm/pr40657-2.c: New test.
* gcc.c-torture/execute/pr40657.c: New test.
From-SVN: r161988
Jakub Jelinek [Fri, 9 Jul 2010 06:58:42 +0000 (08:58 +0200)]
tree-vrp.c (extract_range_from_binary_expr): If both ranges are range_int_cst_p with non-negative minimum...
* tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
both ranges are range_int_cst_p with non-negative minimum,
try harder to derive smaller range.
* gcc.dg/tree-ssa/vrp50.c: New test.
* gcc.dg/vect/slp-perm-4.c (main): Make sure loop isn't vectorized.
From-SVN: r161984
Manuel López-Ibáñez [Fri, 9 Jul 2010 01:34:40 +0000 (01:34 +0000)]
genrecog.c: Include diagnostic-core.h before toplev.h.
2010-07-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
* genrecog.c: Include diagnostic-core.h before toplev.h.
* genoutput.c: Likewise.
* genextract.c: Likewise.
* genautomata.c: Likewise.
* genemit.c: Likewise.
* genpeep.c: Likewise.
* genattrtab.c: Likewise.
* genconditions.c: Likewise.
* genpreds.c: Likewise.
From-SVN: r161983
GCC Administrator [Fri, 9 Jul 2010 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r161981
Janus Weil [Thu, 8 Jul 2010 21:29:56 +0000 (23:29 +0200)]
re PR fortran/44649 ([OOP] F2008: storage_size intrinsic (also working for polymorphic types))
2010-07-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/44649
* gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
* intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
gfc_resolve_storage_size): New prototypes.
* check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
* intrinsic.c (add_functions): Add STORAGE_SIZE.
* iresolve.c (gfc_resolve_storage_size): New function.
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
arguments.
(gfc_conv_intrinsic_storage_size): New function.
(gfc_conv_intrinsic_function): Handle STORAGE_SIZE.
2010-07-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/44649
* gfortran.dg/c_sizeof_1.f90: Modified.
* gfortran.dg/storage_size_1.f08: New.
* gfortran.dg/storage_size_2.f08: New.
From-SVN: r161977
Andi Kleen [Thu, 8 Jul 2010 21:02:47 +0000 (23:02 +0200)]
lto-section-in.c (lto_section_name): Add missing comma.
* lto-section-in.c (lto_section_name): Add missing comma.
From-SVN: r161976
Anatoly Sokolov [Thu, 8 Jul 2010 20:43:22 +0000 (00:43 +0400)]
ia64.h (OVERRIDE_OPTIONS): Remove macros.
* config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
* config/ia64/ia64-protos.h (ia64_override_options): Remove.
* config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
(ia64_override_options): Rename to...
(ia64_option_override): ... this one. Make static.
From-SVN: r161975
Eric Botcazou [Thu, 8 Jul 2010 20:02:29 +0000 (20:02 +0000)]
re PR middle-end/44843 (All 32-bit fortran execution tests generate unaligned access)
PR middle-end/44843
* emit-rtl.c (set_mem_attributes_minus_bitpos): Do not rely on the
pointed-to type of the offset in a MEM_REF to compute the alignment.
From-SVN: r161974
Eric Botcazou [Thu, 8 Jul 2010 19:15:21 +0000 (19:15 +0000)]
* make_sunver.pl: Remove extra whitespace in regexp.
From-SVN: r161973
Kai Tietz [Thu, 8 Jul 2010 18:07:52 +0000 (18:07 +0000)]
final.c (final_scan_insn): Replace TARGET_UNWIND_INFO macro check by unwind_emit hook NULL check.
2010-07-08 Kai Tietz <kai.tietz@onevision.com>
* final.c (final_scan_insn): Replace
TARGET_UNWIND_INFO macro check by unwind_emit
hook NULL check.
* targhooks.c (default_unwind_emit): Removed.
* targhooks.h (default_unwind_emit): Likewise.
* target.def (unwind_emit): Set default value to NULL.
From-SVN: r161972
Kai Tietz [Thu, 8 Jul 2010 17:53:44 +0000 (17:53 +0000)]
i386-protos.h (ix86_asm_output_function_label): New prototype.
2010-07-08 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386-protos.h (ix86_asm_output_function_label):
New prototype.
* config/i386/i386.c (ix86_function_ms_hook_prologue): Check
for NULL fntype argument and allow 64-bit targets.
(ix86_asm_output_function_label): New function.
(ix86_expand_prologue): Handle 64-bit ms hook prologue.
(ix86_handle_fndecl_attribute): Likewise.
* doc/extend.texi (ms_hook_prologue): Adjust documentation.
* doc/doc/tm.texi: Regenerated.
* doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
(ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
* defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
* config/elfos.h: Likewise.
* config/i386/cygming.h: Likewise.
* config/netbsd-aout.h: Likewise.
* config/openbsd.h: Likewise.
* config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
by ix86_asm_output_function_label function call.
* varasm.c (assemble_start_function): Use
ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
From-SVN: r161971
Benjamin Kosnik [Thu, 8 Jul 2010 17:48:12 +0000 (17:48 +0000)]
stl_heap.h: Update markup.
2010-07-08 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_heap.h: Update markup.
* include/bits/move.h: Same.
* include/bits/algorithmfwd.h: Same.
* include/bits/regex.h: Same.
* include/bits/random.h: Same.
* doc/doxygen/doxygroups.cc: Same.
* doc/doxygen/user.cfg.in: Remove include/tr1_impl/regex from
input file list.
* doc/Makefile.am (doc-pdf-doxygen): Add comment, put generated
pdf in location consistent with docbook pdf generation.
* doc/Makefile.in: Regenerate.
From-SVN: r161970
Jakub Jelinek [Thu, 8 Jul 2010 17:30:41 +0000 (19:30 +0200)]
re PR fortran/44847 (ICE: OpenMP with Collapse clause and CYCLE stmt in loop)
PR fortran/44847
* match.c (match_exit_cycle): Error on EXIT also from collapsed
!$omp do loops. Error on CYCLE to non-innermost collapsed
!$omp do loops.
* gfortran.dg/gomp/pr44847.f90: New test.
From-SVN: r161967
Jan Hubicka [Thu, 8 Jul 2010 16:46:49 +0000 (18:46 +0200)]
cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls): New function.
* cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
New function.
* cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
Declare.
* ipa-cp.c (ipcp_estimate_growth): Use it.
* ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
Likewise.
From-SVN: r161966
Jan Hubicka [Thu, 8 Jul 2010 16:44:54 +0000 (18:44 +0200)]
tree-inline.c (declare_return_variable): Allocate annotation for new temporary.
* tree-inline.c (declare_return_variable): Allocate annotation for new
temporary.
From-SVN: r161965
Sebastian Pop [Thu, 8 Jul 2010 16:38:00 +0000 (16:38 +0000)]
Call maybe_fold_or_comparisons to fold OR-ed predicates.
2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/44710
* tree-if-conv.c (parse_predicate): New.
(add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.
* gcc.dg/tree-ssa/ifc-6.c: New.
* gcc.dg/tree-ssa/ifc-pr44710.c: New.
From-SVN: r161964
Sebastian Pop [Thu, 8 Jul 2010 16:37:49 +0000 (16:37 +0000)]
Add the -ftree-loop-if-convert flag.
2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
* common.opt (ftree-loop-if-convert): New flag.
* doc/invoke.texi (ftree-loop-if-convert): Documented.
* tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
when flag_tree_loop_if_convert is set.
From-SVN: r161963
Uros Bizjak [Thu, 8 Jul 2010 16:31:30 +0000 (18:31 +0200)]
i386.c: Use short syntax for function calls through function pointers.
* config/i386/i386.c: Use short syntax for function calls
through function pointers.
* config/i386/i386.md: Ditto.
From-SVN: r161962
Eric Botcazou [Thu, 8 Jul 2010 15:23:45 +0000 (15:23 +0000)]
* emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
From-SVN: r161961
Tobias Burnus [Thu, 8 Jul 2010 15:17:25 +0000 (17:17 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2010-07-08 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* array.c (gfc_match_array_ref): Better error message for
coarrays with too few ranks.
(match_subscript): Move one diagnostic to caller.
* gfortran.h (gfc_get_corank): Add prottype.
* expr.c (gfc_get_corank): New function.
* iresolve.c (resolve_bound): Fix rank for cobounds.
(gfc_resolve_lbound,gfc_resolve_lcobound, gfc_resolve_ubound,
gfc_resolve_ucobound, gfc_resolve_this_image): Update
resolve_bound call.
2010-07-08 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray_10.f90: Add an additional test.
From-SVN: r161960
Richard Guenther [Thu, 8 Jul 2010 14:58:20 +0000 (14:58 +0000)]
tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
2010-07-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
From-SVN: r161959
Jakub Jelinek [Thu, 8 Jul 2010 14:50:16 +0000 (16:50 +0200)]
dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
* dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
(loc_list_from_tree): Likewise.
(output_loc_operands): Handle outputting DW_OP_const[48]u
with loc->dtprel set.
(resolve_addr_in_expr): Handle loc->dtprel like DW_OP_addr.
From-SVN: r161958
Jan Hubicka [Thu, 8 Jul 2010 14:20:23 +0000 (16:20 +0200)]
ipa.c: Include pointer-set.h
* ipa.c: Include pointer-set.h
(cgraph_externally_visible_p): New attribute ALIASED;
when in LTO, hidden symbols are local unless they are aliased.
(function_and_variable_visibility): Compute aliased nodes;
handle LTO and hidden symbol on functions and vars.
* cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
for COMDAT symbols; handle COMDAT_GROUPS also at vars.
From-SVN: r161957
Peter Bergner [Thu, 8 Jul 2010 14:17:52 +0000 (09:17 -0500)]
re PR c/44828 (possible integer wrong code bug)
PR middle-end/44828
* gcc.c-torture/execute/pr44828.c (foo): Use signed char.
* gcc.c-torture/execute/pr44828.x: Revert.
From-SVN: r161956
Jason Merrill [Thu, 8 Jul 2010 14:00:26 +0000 (10:00 -0400)]
re PR c++/43120 (Virtual inheritance with covariant return type confuses GCC)
PR c++/43120
* class.c (update_vtable_entry_for_fn): Fix handling of dummy
virtual bases for covariant thunks.
From-SVN: r161954
H.J. Lu [Thu, 8 Jul 2010 13:40:24 +0000 (13:40 +0000)]
Add gcc.dg/pr44838.c.
2010-07-08 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/44838
* gcc.dg/pr44838.c: New.
From-SVN: r161953
Eric Botcazou [Thu, 8 Jul 2010 12:27:01 +0000 (12:27 +0000)]
cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable.
(ix86_gen_probe_stack_range): Likewise.
(override_options): Set them.
(ix86_target_stack_probe): New function.
(ix86_compute_frame_layout): Force use of push instructions to
save registers if stack checking with probes is enabled.
(get_scratch_register_on_entry): New function.
(release_scratch_register_on_entry): Likewise.
(ix86_adjust_stack_and_probe): Likewise.
(output_adjust_stack_and_probe): Likewise.
(ix86_emit_probe_stack_range): Likewise.
(output_probe_stack_range): Likewise.
(ix86_expand_prologue): Emit stack checking code if static built-in
stack checking is enabled.
Test ix86_target_stack_probe instead of TARGET_STACK_PROBE.
* config/i386/i386-protos.h (ix86_target_stack_probe): Declare.
(output_adjust_stack_and_probe): Likewise.
(output_probe_stack_range): Likewise.
* config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant.
(allocate_stack_worker_32): Test ix86_target_stack_probe instead of
TARGET_STACK_PROBE.
(allocate_stack_worker_64): Likewise.
(allocate_stack): Likewise.
(adjust_stack_and_probe): New insn.
(probe_stack_range): Likewise.
From-SVN: r161952
Richard Guenther [Thu, 8 Jul 2010 11:38:43 +0000 (11:38 +0000)]
re PR tree-optimization/44831 (internal compiler error: verify_stmts failed when compiling wine)
2010-07-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44831
* tree-ssa-phiprop.c (phiprop_insert_phi): Properly build
a MEM_REF preserving TBAA info of the original dereference.
Dereference the original pointer if the address is not
invariant.
(propagate_with_phi): Fixup type checks wrt MEM_REFs. Require
at least one invariant address that we are going to dereference.
* gcc.c-torture/compile/pr44831.c: New testcase.
* gcc.dg/tree-ssa/pr21463.c: Adjust.
From-SVN: r161950
Richard Guenther [Thu, 8 Jul 2010 10:51:46 +0000 (10:51 +0000)]
re PR tree-optimization/44861 (internal compiler error: in vectorizable_load, at tree-vect-stmts.c:3812)
2010-07-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44861
* tree-vect-stmts.c (vectorizable_store): Preserve TBAA
information when building MEM_REFs.
(vectorizable_load): Likewise.
* tree-vect-data-refs.c (vect_setup_realignment): Likewise.
* g++.dg/vect/pr44861.cc: New testcase.
From-SVN: r161949
Eric Botcazou [Thu, 8 Jul 2010 10:03:14 +0000 (10:03 +0000)]
* config/sol2-c.c: Do not include diagnostic-core.h.
From-SVN: r161948
Ramana Radhakrishnan [Thu, 8 Jul 2010 09:29:43 +0000 (09:29 +0000)]
Fix PR44768
From-SVN: r161947