- 08 Jul, 2011 23 commits
-
-
gcc/ * config/arm/neon.md (vec_shr_<mode>, vec_shl_<mode>): Disable in big-endian mode. (reduc_splus_<mode>, reduc_uplus_<mode>, reduc_smin_<mode>) (reduc_smax_<mode>, reduc_umin_<mode>, reduc_umax_<mode>) (neon_vec_unpack<US>_lo_<mode>, neon_vec_unpack<US>_hi_<mode>) (vec_unpack<US>_hi_<mode>, vec_unpack<US>_lo_<mode>) (neon_vec_<US>mult_lo_<mode>, vec_widen_<US>mult_lo_<mode>) (neon_vec_<US>mult_hi_<mode>, vec_widen_<US>mult_hi_<mode>) (vec_pack_trunc_<mode>, neon_vec_pack_trunc_<mode>): Disable for Q registers in big-endian mode. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_little_endian): New. (check_effective_target_vect_pack_trunc): Use above. (check_effective_target_vect_unpack): Likewise. (check_effective_target_vect_element_align): Test check_effective_target_arm_vect_no_misalign for ARM. From-SVN: r176050
Julian Brown committed -
From-SVN: r176049
Jason Merrill committed -
* defaults.h (REG_WORDS_BIG_ENDIAN): Provide a default. * doc/tm.texi.in (WORDS_BIG_ENDIAN): Mention REG_WORDS_BIG_ENDIAN. (REG_WORDS_BIG_ENDIAN): Document. * doc/tm.texi: Regenerate. * reload.c (operands_match_p): Take it into account. (reload_adjust_reg_for_mode): Likewise. * rtlanal.c (subreg_get_info): Likewise. From-SVN: r176048
Bernd Schmidt committed -
* genattrtab.c (evaluate_eq_attr): Allow an attribute to be defined in terms of another. (write_attr_value): Write a cast if necessary. From-SVN: r176047
Bernd Schmidt committed -
re PR c++/49673 ([C++0x] const variables initialised with constexpr constructor placed in .data not .rodata) PR c++/49673 gcc/c-family/ * c-common.c (c_apply_type_quals_to_decl): Don't check TYPE_NEEDS_CONSTRUCTING. gcc/cp/ * typeck.c (cp_apply_type_quals_to_decl): Don't check TYPE_NEEDS_CONSTRUCTING. From-SVN: r176045
Jason Merrill committed -
2011-07-08 Richard Guenther <rguenther@suse.de> * fold-const.c (fold_binary_loc): Remove index +p PTR -> PTR +p index folding. From-SVN: r176044
Richard Guenther committed -
2011-07-08 Kai Tietz <ktietz@redhat.com> * fold-const.c (fold_truth_andor): Factored out truth_andor label from fold_binary as function. (fold_binary_loc): Replace truth_andor lable by function fold_truth_andor. From-SVN: r176043
Kai Tietz committed -
Fix PR middle-end/49519. gcc/ 2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com> PR middle-end/49519 * calls.c (mem_overlaps_already_clobbered_arg_p): Additional check if address is stored in register. If so - give up. (check_sibcall_argument_overlap_1): Do not perform check of overlapping when it is call to address. gcc/tessuite/ 2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com> PR middle-end/49519 * g++.dg/torture/pr49519.C: New test. From-SVN: r176042
Kirill Yukhin committed -
* config/avr/avr.c (output_reload_insisf): Use 'REG_Z+1' instead of magic '31'. From-SVN: r176041
Georg-Johann Lay committed -
* optabs.c (expand_binop): Tighten conditions for doubleword expansions. (widen_bswap): Assert that mode bitsize and precision are the same. * stor-layout.c (get_best_mode): Skip modes that have lower precision than bitsize. * recog.c (simplify_while_replacing): Assert that bitsize and precision are the same. From-SVN: r176040
Bernd Schmidt committed -
* rtlanal.c (nonzero_bits1): Don't compare GET_MODE_SIZE against a bitsize. From-SVN: r176039
Bernd Schmidt committed -
* optabs.c (expand_binop): Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE where appropriate. (widen_leading, expand_parity, expand_ctz, expand_ffs, expand_unop, expand_abs_nojump, expand_one_cmpl_abs_nojump, expand_float, expand_fix): Likewise. * expr.c (convert_move, convert_modes, expand_expr_real_2, expand_expr_real_1, reduce_to_bit_field_precision): Likewise. * cfgexpand.c (convert_debug_memory_address, expand_debug_expr): Likewise. * convert.c (convert_to_integer): Likewise. * expmed.c (expand_shift_1): Likewise. From-SVN: r176038
Bernd Schmidt committed -
gcc: * Makefile.in (LIBGCOV): Remove. (libgcc.mvars): Remove LIBGCOV. * libgov.c: Move to ../libgcc. libgcc: * Makfile.in (LIBGCOV): New variable. ($(libgcov-objects)): Use $(srcdir) to refer to libgcov.c. * libgcov.c: New file. From-SVN: r176037
Rainer Orth committed -
gcc: * config/fixed-bit.c, config/fixed-bit.h: Move to ../libgcc. libgcc: * fixed-bit.c, fixed-bit.h: New files. * fixed-obj.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir) to refer to fixed-bit.c. From-SVN: r176036
Rainer Orth committed -
2011-07-08 Martin Jambor <mjambor@suse.cz> testsuite/ * gcc.dg/tree-ssa/sra-12.c: Skip dump scan on avr targets. From-SVN: r176035
Martin Jambor committed -
PR testsuite/48727 * g++.dg/opt/devirt2.C: Use specific pattern for sparc*-*-*. From-SVN: r176034
Rainer Orth committed -
tree-sra.c (analyze_all_variable_accesses): Dump that a struture is too big for total scalarization. 2011-07-08 Martin Jambor <mjambor@suse.cz> * tree-sra.c (analyze_all_variable_accesses): Dump that a struture is too big for total scalarization. From-SVN: r176033
Martin Jambor committed -
* configure.host (abi_baseline_subdir_switch): Describe. Provide default. (*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override. * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute baseline_subdir_switch. * testsuite/Makefile.am (site.exp): Emit it. (baseline_subdir): Use it. * testsuite/libstdc++-abi/abi.exp: Use it. * configure: Regenerate. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. From-SVN: r176032
Rainer Orth committed -
re PR tree-optimization/49662 (XFAIL: gcc.dg/graphite/interchange-XX.c, PRE confuses loop interchange) 2011-07-08 Richard Guenther <rguenther@suse.de> PR tree-optimization/49662 * gcc.dg/graphite/interchange-14.c: XFAIL. * gcc.dg/graphite/interchange-15.c: Likewise. * gcc.dg/graphite/interchange-mvt.c: Likewise. From-SVN: r176031
Richard Guenther committed -
From-SVN: r176025
GCC Administrator committed -
In particular, the mips sdb extensions accidentally implied the irix dwarf2 extensions and restrictions. Disable stabs because it's almost certainly untested for years. * config/alpha/elf.h (MIPS_DEBUGGING_INFO): Undef. (DBX_DEBUGGING_INFO): Undef. From-SVN: r176021
Richard Henderson committed -
* dwarf2out.c (output_cfi_directive): Export. Add FILE parameter. Handle some opcodes specially for debugging. * print-rtl.c: Include dwarf2out.h (print_rtx): Handle NOTE_INSN_CFI. * Makefile.in (print-rtl.o): Update. From-SVN: r176020
Richard Henderson committed -
* tree-pass.h (pass_dwarf2_frame): Declare. * passes.c (init_optimization_passes): Add it. * dwarf2cfi.c (dwarf2out_frame_debug): Make static. (create_cfi_notes): Rename from dwarf2out_frame_debug_after_prologue; make static, do not call add_cfis_to_fde. (dwarf2out_frame_debug_init, dwarf2cfi_function_init, dwarf2out_frame_init): Merge into... (execute_dwarf2_frame): ... here. New function. (dwarf2out_do_frame, dwarf2out_do_cfi_asm): Make boolean. Change saved_do_cfi_asm to a tri-state variable. (gate_dwarf2_frame, pass_dwarf2_frame): New. * dwarf2out.c (dwarf2out_begin_prologue): Only allocate the fde if it has yet to be done. Don't call dwarf2cfi_function_init. * dwarf2out.h, debug.h: Update decls. * final.c (final_start_function): Don't call dwarf2out_frame_debug_init or dwarf2out_frame_debug_after_prologue. * lto-streamer-in.c (lto_init_eh): Don't call dwarf2out_frame_init. * toplev.c (lang_dependent_init): Likewise. From-SVN: r176019
Richard Henderson committed
-
- 07 Jul, 2011 17 commits
-
-
Prepare for allocating the FDE for the current function earlier than dwarf2out_begin_prologue. * dwarf2out.c (fde_table, fde_table_allocated, fde_table_in_use, FDE_TABLE_INCREMENT): Replace with... (fde_vec): ... this, a new vector. (current_fde): Remove. Replace all users with cfun->fde. (output_call_frame_info): Use FOR_EACH_VEC_ELT over fde_vec. (size_of_aranges, dwarf2out_finish): Likewise. (dwarf2out_alloc_current_fde): Break out from ... (dwarf2out_begin_prologue): ... here. (dwarf2out_frame_init): Remove. * dwarf2cfi.c: Update all users of current_fde. (dwarf2out_frame_init): Rename from dwarf2cfi_frame_init. * dwarf2out.h: Update decls. (dw_fde_node): Add fde_index member. * function.h (struct function): Add fde member. From-SVN: r176018
Richard Henderson committed -
This patch is essentially Bernd's 006-cfilabel patch, updated for all the other changes to dwarf2out. The patch reduces the difference between the cfi-asm and non-cfi-asm code paths. We now emit the CFI notes in all cases. Later, after we're done producing the CFI insns we need, another pass over the rtl adds the necessary labels and set_loc/advance_loc CFIs. One consequence of this is that def_cfa_1 can no longer use lookup_cfa, so it just compares to an old_cfa variable instead. The major change since Bernd's patch is that all the target-specific changes are no longer necessary. * dwarf2cfi.c (add_cfi): Remove. (dwarf2out_cfi_label): Remove force argument. Only generate the label name. (add_fde_cfi): Simplify the different code paths. (add_cie_cfi): New. (old_cfa, old_cfa_remember): New. (def_cfa_1, reg_save): Remove label, add for_cie parameter. (last_reg_save_label): Remove. (dwarf2out_args_size, dwarf2out_stack_adjust, queue_reg_save, dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register, dwarf2out_frame_debug_cfa_expression, dwarf2out_frame_debug_cfa_restore, dwarf2out_frame_debug_cfa_window_save, dwarf2out_frame_debug_expr): Remove label parameter. (cfi_label_required_p, add_cfis_to_fde): New. (dwarf2out_frame_debug_after_prologue): New. (dwarf2cfi_frame_init): Initialize old_cfa. (dwarf2out_frame_debug_restore_state): Likewise. * dwarf2out.c (dwarf2out_emit_cfi): Only do output for cfi_asm. (dwarf2out_switch_text_section): Don't clear dw_fde_current_label here. * final.c (final_start_function): Call dwarf2out_frame_debug_after_prologue. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r176017
Bernd Schmidt committed -
This patch is essentially Bernd's 005-scanfirst patch, updated for the introduction of the dwarf2cfi.c file. We introduce NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL to hold the dwarf2 info during the bulk of final. The actual construction of these notes still happens during final, right at the very beginning of the pass, via the dwarf2out_frame_debug_init hook. * dwarf2cfi.c (cfi_insn): New. (dwarf2out_cfi_label): Don't emit cfi label here. (add_fde_cfi): Create a NOTE_INSN_CFI. (dwarf2out_frame_debug): Setup cfi_insn. (dwarf2out_frame_debug_init): Loop over insns creating CFI notes. (dwarf2out_cfi_begin_epilogue): Make static. (dwarf2out_frame_debug_restore_state): Make static. * dwarf2out.c (output_cfi_directive): Make static. (dwarf2out_emit_cfi): New. * dwarf2out.h: Update. * final.c (final): Remove CFI notes. (final_scan_insn): Don't call dwarf2out_cfi_begin_epilogue, dwarf2out_frame_debug_restore_state, dwarf2out_frame_debug. Handle NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL. * insn-notes.def (NOTE_INSN_CFI): New. (NOTE_INSN_CFI_LABEL): New. * rtl.h (union rtunion_def): Add rt_cfi member. (XCFI, XCCFI, NOTE_CFI, NOTE_LABEL_NUMBER): New. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r176016
Bernd Schmidt committed -
Excepting changing some functions from static to extern, this patch contains code motion only. The split is not very clean at this point, but will be refined as CFI construction is turned into its own proper pass. * dwarf2cfi.c: New file. * Makefile.in (OBJS): Add it. (GTFILES): Add dwarf2cfi.c and dwarf2out.h. * gengtype.c (open_base_files): Include dwarf2out.h. * coretypes.h (enum var_init_status): Move from ... * rtl.h: ... here. * dwarf2out.c (saved_do_cfi_asm, dwarf2out_do_frame, dwarf2out_do_cfi_asm, cie_cfi_vec, dwarf2out_cfi_label_num, expand_builtin_dwarf_sp_column, init_return_column_size, expand_builtin_init_dwarf_reg_sizes, new_cfi, add_cfi, dwarf2out_cfi_label, emit_cfa_remember, any_cfis_emitted, add_fde_cfi, lookup_cfa_1, lookup_cfa, cfa, cfa_store, cfa_remember, args_size, old_args_size, cfa_equal_p, def_cfa_1, reg_save, initial_return_save, stack_adjust_offset, barrier_args_size, compute_barrier_args_size_1, compute_barrier_args_size, dwarf2out_args_size, dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust, queued_reg_saves, reg_saved_in_data, regs_saved_in_regs, compare_reg_or_pc, record_reg_saved_in_reg, last_reg_save_label, queue_reg_save, dwarf2out_flush_queued_reg_saves, clobbers_queued_reg_save, reg_saved_in, cfa_temp, dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register, dwarf2out_frame_debug_cfa_expression, dwarf2out_frame_debug_cfa_restore, dwarf2out_frame_debug_cfa_window_save, dwarf2out_frame_debug_expr, dwarf2out_frame_debug, dwarf2out_frame_debug_init, dwarf2out_cfi_begin_epilogue, dwarf2out_frame_debug_restore_state, get_cfa_from_loc_descr): Move to dwarf2cfi.c. (dw_cfi_ref, dw_fde_ref, dw_cfi_oprnd_ref, enum dw_cfi_oprnd_type, dw_cfi_oprnd, dw_cfi_node, cfi_vec, dw_cfa_location, dw_fde_node, dw_val_ref, dw_die_ref, const_dw_die_ref, dw_loc_descr_ref, dw_loc_list_ref, enum dw_val_class, dw_vec_const, dw_val_node, dw_loc_descr_node): Move to dwarf2out.h. (current_fde, output_cfi_directive, build_cfa_loc, get_address_mode, mem_loc_descriptor): Export. (build_cfa_aligned_loc): Export. Take CFA as a parameter. (dwarf2out_frame_init): Extract CIE generation code to dwarf2cfi_frame_init. From-SVN: r176015
Richard Henderson committed -
PR c++/49663 * pt.c (push_deduction_access_scope): Preserve processing_template_decl across push_to_top_level. And revert: * class.c (pushclass): Accept NULL argument. (popclass): Deal with popping null class. * pt.c (push_access_scope, pop_access_scope): Use them rather than push_to_top_level/pop_from_top_level. * name-lookup.c (lookup_name_real_1): Check current_class_type. From-SVN: r176013
Jason Merrill committed -
2011-07-07 Mikael Morin <mikael.morin@sfr.fr> PR fortran/49648 * gfortran.dg/result_in_spec_4.f90: New test. From-SVN: r176012
Mikael Morin committed -
2011-07-07 Mikael Morin <mikael.morin@sfr.fr> PR fortran/49648 * resolve.c (resolve_symbol): Force resolution of function result's array specification. From-SVN: r176011
Mikael Morin committed -
PR target/49660 * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add MASK_V8PLUS, remove commented out flag and reorder. From-SVN: r176008
Eric Botcazou committed -
PR c/49644 * typeck.c (cp_build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with one non-complex and one complex argument, call save_expr on both operands. * g++.dg/torture/pr49644.C: New test. From-SVN: r176006
Jakub Jelinek committed -
PR c/49644 * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with one non-complex and one complex argument, call c_save_expr on both operands. * gcc.c-torture/execute/pr49644.c: New test. From-SVN: r176004
Jakub Jelinek committed -
2011-07-07 H.J. Lu <hongjiu.lu@intel.com> * lib/target-supports.exp (check_effective_target_ia32): New. (check_effective_target_x32): Likewise. (check_effective_target_vect_cmdline_needed): Also check x32. From-SVN: r176000
H.J. Lu committed -
2011-07-07 Matthias Klose <doko@ubuntu.com> * libtool-version: Bump soversion. From-SVN: r175999
Matthias Klose committed -
2011-07-07 Martin Jambor <mjambor@suse.cz> PR middle-end/49495 * cgraphunit.c (verify_edge_corresponds_to_fndecl): New function. (verify_cgraph_node): Some functinality moved to verify_edge_corresponds_to_fndecl, call it. From-SVN: r175998
Martin Jambor committed -
* gcc.target/arm/pr40657-2.c: Remove -march option and unneeded dg-prune-output. * gcc.target/arm/pr42235.c: Likewise. * gcc.target/arm/pr42495.c: Likewise. * gcc.target/arm/pr42574.c: Likewise. * gcc.target/arm/thumb-branch1.c: Likewise. From-SVN: r175997
Janis Johnson committed -
* gcc.target/arm/pr39839.c: Don't specify -mthumb or -march, remove unneeded prune of possible warning. * gcc.target/arm/pr40956.c: Likewise. * gcc.target/arm/pr42505.c: Likewise. From-SVN: r175996
Janis Johnson committed -
* gcc.c-torture/compile/pr41679.c: Move from gcc.target/arm. * gcc.c-torture/compile/pr46883.c: Likewise. * gcc.c-torture/compile/pr46934.c: Likewise. From-SVN: r175995
Janis Johnson committed -
* gcc.target/arm/pr41679.c: Remove test directives in preparation for move to ../../gcc.c-torture/compile. * gcc.target/arm/pr46883.c: Likewise. * gcc.target/arm/pr46934.c: Likewise. From-SVN: r175994
Janis Johnson committed
-