Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
* 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
|
|
From-SVN: r162084
|
|
PR rtl-optimization/44752
* genautomata.c (main): Don't emit an empty file even if there
is no automaton.
From-SVN: r162083
|
|
* 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
|
|
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
|
|
* 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
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
From-SVN: r162065
|
|
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
|
|
2010-07-11 Kai Tietz <kai.tietz@onevision.com>
PR libfortran/44698
* io/unix.c (flush_buf): Add _commit for WIN32.
From-SVN: r162060
|
|
2010-07-11 Mikael Morin <mikael@gcc.gnu.org>
* arith.c (gfc_arith_done_1): Release mpfr internal caches.
From-SVN: r162058
|
|
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
|
|
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
|
|
From-SVN: r162053
|
|
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
|
|
From-SVN: r162051
|
|
2010-07-10 Mikael Morin <mikael@gcc.gnu.org>
* MAINTAINERS (Reviewers): Update my e-mail address
From-SVN: r162046
|
|
* 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
From-SVN: r162029
|
|
* lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool
nodes.
From-SVN: r162025
|
|
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
|
|
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
|
|
* config/arm/arm.md (cbranchqi4): Fix array size.
(addsi3_cbranch): Also andle alternative 2 like alternative 3 when
calculating length.
From-SVN: r162022
|
|
From-SVN: r162021
|
|
* config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
From-SVN: r162020
|
|
* 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
|
|
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
|
|
From-SVN: r162016
|
|
* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
* configure: Regenerate.
From-SVN: r162015
|
|
* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
CALL_EXPR.
From-SVN: r162014
|
|
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
|
|
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
|