aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-09-13neon.md (neon_vabd<mode>_2, [...]): New define_insn patterns for combine.Sevak Sargsyan4-0/+88
2011-09-13 Sevak Sargsyan <sevak.sargsyan@ispras.ru> * config/arm/neon.md (neon_vabd<mode>_2, neon_vabd<mode>_3): New define_insn patterns for combine. * gcc.target/arm/neon-combine-sub-abs-into-vabd.c: New test. From-SVN: r178817
2011-09-13reorg.c: Always define make_return_insns.Giuseppe Scrivano2-4/+4
gcc/ 2011-09-13 Giuseppe Scrivano <gscrivano@gnu.org> * reorg.c: Always define make_return_insns. From-SVN: r178813
2011-09-13c++/48320 - Template parameter packs cannot be expanded in default template ↵Dodji Seketeli4-47/+115
arguments gcc/cp/ PR c++/48320 * pt.c (template_parameter_pack_p): Support TEMPLATE_PARM_INDEX nodes. Add a comment. (arg_from_parm_pack_p): New static function, factorized out from tsubst_pack_expansion and extended to support non-type parameter packs represented with TEMPLATE_PARM_INDEX nodes. (tsubst_pack_expansion): Use arg_from_parm_pack_p. gcc/testsuite/ PR c++/48320 * g++.dg/cpp0x/variadic116.C: New test case. From-SVN: r178811
2011-09-13re PR other/49533 (Revision 174989 (ipa-inline-transform.c) regressions)Jan Hubicka2-1/+12
PR other/49533 * cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output. From-SVN: r178810
2011-09-13ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos.Jan Hubicka2-2/+7
other/49533 * ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos. From-SVN: r178809
2011-09-13arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.Paul Brook11-7/+320
2011-09-13 Paul Brook <paul@codesourcery.com> gcc/ * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. (ARM_TARGET2_DWARF_FORMAT): Provide default definition. * config/arm/linux-eabi.h (ARM_TARGET2_DWARF_FORMAT): Define. * config/arm/symbian.h (ARM_TARGET2_DWARF_FORMAT): Define. * config/arm/uclinux-eabi.h(ARM_TARGET2_DWARF_FORMAT): Define. * config/arm/t-bpabi (EXTRA_HEADERS): Add unwind-arm-common.h. * config/arm/t-symbian (EXTRA_HEADERS): Add unwind-arm-common.h. * config/c6x/c6x.c (c6x_output_file_unwind): Don't rely on dwarf2 code enabling unwind tables. (c6x_debug_unwind_info): New function. (TARGET_ARM_EABI_UNWINDER): Define. (TARGET_DEBUG_UNWIND_INFO): Define. * config/c6x/c6x.h (DWARF_FRAME_RETURN_COLUMN): Define. (TARGET_EXTRA_CFI_SECTION): Remove. * config/c6x/t-c6x-elf (EXTRA_HEADERS): Set. * ginclude/unwind-arm-common.h: New file. libgcc/ * config.host (tic6x-*-*): Add c6x/t-c6x-elf. Set unwind_header. * unwind-c.c (PERSONALITY_FUNCTION): Use UNWIND_POINTER_REG. * unwind-arm-common.inc: New file. * config/arm/unwind-arm.c: Use unwind-arm-common.inc. * config/arm/unwind-arm.h: Use unwind-arm-common.h. (_GLIBCXX_OVERRIDE_TTYPE_ENCODING): Define. * config/c6x/libunwind.S: New file. * config/c6x/pr-support.c: New file. * config/c6x/unwind-c6x.c: New file. * config/c6x/unwind-c6x.h: New file. * config/c6x/t-c6x-elf: New file. libstdc++-v3/ * libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation. * libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base. * libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove __ARM_EABI_UNWINDER__ check. (parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING. (get_ttype_entry): Use generic implementation on ARM EABI. (check_exception_spec): Use _Unwind_decode_typeinfo_ptr and UNWIND_STACK_REG. (PERSONALITY_FUNCTION): Set ttype_base. From-SVN: r178808
2011-09-13re PR target/50358 (AVR: Implement [u]maddqihi4 [u]msubqihi4 patterns on the ↵Georg-Johann Lay4-0/+315
enhanced core) PR target/50358 * config/avr/predicates.md (const_1_to_6_operand): New predicate. * config/avr/avr.md: (extend_s): New code attribute. (mul_r_d): New code attribute. (*maddqihi4, *umaddqihi4): New insns. (*msubqihi4, *umsubqihi4): New insns. (*usmaddqihi4, *sumaddqihi4): New insns. (*usmsubqihi4, *susubdqihi4): New insns. (*umaddqihi4.uconst, *maddqihi4.sconst): New insn-and-splits. (*umsubqihi4.uconst, *msubqihi4.sconst): New insn-and-splits. (*umsubqihi4.uconst.ashift): New insn-and-split. (*msubqihi4.sconst.ashift): New insn-and-split. (*sumaddqihi4.uconst): New insn-and-split. (*sumsubqihi4.uconst): New insn-and-split. * config/avr/avr.c (avr_rtx_costs): Report costs of above in case PLUS:HI and MINUS:HI. From-SVN: r178806
2011-09-13SMS: Minor misc. fixesRevital Eres2-15/+16
From-SVN: r178804
2011-09-13Daily bump.GCC Administrator1-1/+1
From-SVN: r178803
2011-09-12rtl.c (copy_rtx): Do not handle frame_related, jump or call flags specially.Bernd Schmidt2-6/+5
* rtl.c (copy_rtx): Do not handle frame_related, jump or call flags specially. From-SVN: r178798
2011-09-12re PR bootstrap/50010 (bootstrap comparison failure without CFI directives)Jakub Jelinek2-5/+21
PR bootstrap/50010 * dwarf2cfi.c (add_cfis_to_fde): Ignore non-active insns in between NOTE_INSN_CFI notes, with the exception of NOTE_INSN_SWITCH_TEXT_SECTIONS. From-SVN: r178795
2011-09-12mips.c (mips_epilogue): New structure.Richard Sandiford6-8/+160
gcc/ 2011-09-11 Bernd Schmidt <bernds@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * config/mips/mips.c (mips_epilogue): New structure. (mips16e_save_restore_reg): Queue REG_CFA_RESTORE notes when restoring registers. (mips_epilogue_emit_cfa_restores): New function. (mips_epilogue_set_cfa): Likewise. (mips_restore_reg): Queue REG_CFA_RESTORE notes. When restoring the current CFA register from the stack, redefine the CFA in terms of the stack pointer. (mips_expand_epilogue): Set up mips_epilogue. Attach CFA information to the epilogue instructions. gcc/testsuite/ * gcc.target/mips/mips.exp (mips_option_groups): Add debug options. * gcc.target/mips/interrupt_handler-2.c: New test. * gcc.target/mips/interrupt_handler-3.c: Likewise. From-SVN: r178794
2011-09-12mips.c (mips16e_save_restore_reg): Add a reg_parm_p argument.Richard Sandiford2-9/+18
gcc/ * config/mips/mips.c (mips16e_save_restore_reg): Add a reg_parm_p argument. (mips16e_build_save_restore): Update accordingly. From-SVN: r178793
2011-09-12pt.c (type_unification_real): Fix handling of DEDUCE_CONV with no deducible ↵Jason Merrill5-6/+60
template parameters. * pt.c (type_unification_real): Fix handling of DEDUCE_CONV with no deducible template parameters. * call.c (rejection_reason_code): Add rr_template_conversion. (print_z_candidate): Handle it. (template_conversion_rejection): New. (build_user_type_conversion_1): Use it. From-SVN: r178791
2011-09-12call.c (merge_conversion_sequences): Set bad_p and user_conv_p on all of the ↵Jason Merrill4-17/+56
second conversion sequence. * call.c (merge_conversion_sequences): Set bad_p and user_conv_p on all of the second conversion sequence. (build_user_type_conversion_1): Set bad_p on the ck_user conv. (convert_like_real): Handle bad ck_ref_bind with user_conv_p in the first section. Fix loop logic. (initialize_reference): Call convert_like for diagnostics when we have a (bad) conversion. From-SVN: r178790
2011-09-12* call.c (convert_class_to_reference)Jason Merrill2-159/+10
(convert_class_to_reference_1): Remove. (reference_binding): Use build_user_type_conversion_1 instead. From-SVN: r178789
2011-09-12call.c (initialize_reference): Add flags parm.Jason Merrill5-8/+17
* call.c (initialize_reference): Add flags parm. * decl.c (grok_reference_init): Likewise. (check_initializer): Pass it. * typeck.c (convert_for_initialization): Likewise. * cp-tree.h: Adjust. From-SVN: r178788
2011-09-12cp-tree.h (LOOKUP_NO_RVAL_BIND): New.Jason Merrill3-25/+44
* cp-tree.h (LOOKUP_NO_RVAL_BIND): New. * call.c (conditional_conversion): Use it. (reference_binding): Fix handling of xvalues. From-SVN: r178787
2011-09-12call.c (implicit_conversion): Check BRACE_ENCLOSED_INITIALIZER_P before ↵Jason Merrill2-2/+7
forcing instantiation. * call.c (implicit_conversion): Check BRACE_ENCLOSED_INITIALIZER_P before forcing instantiation. From-SVN: r178786
2011-09-12re PR rtl-optimization/50212 (ICE: in ei_container, at basic-block.h:610 ↵Jakub Jelinek4-2/+30
with -fnon-call-exceptions -freorder-blocks-and-partition) PR rtl-optimization/50212 * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges): Skip also lps with NULL landing_pad or non-LABEL_P landing_pad. * g++.dg/other/pr50212.C: New test. From-SVN: r178785
2011-09-12re PR debug/50299 (entryval: bigendian 32bit->64bit extension breaks address ↵Jakub Jelinek5-21/+58
match) PR debug/50299 * calls.c (load_register_parameters): Use use_reg_mode instead of use_reg when adding a single register CALL_INSN_FUNCTION_USAGE entry. (expand_call): Set EXPR_LIST mode to TYPE_MODE of the argument for stack CALL_INSN_FUNCTION_USAGE uses. * expr.h (use_reg_mode): New prototype. (use_reg): Changed into inline around use_reg_mode. * expr.c (use_reg): Renamed to... (use_reg_mode): ... this. Added MODE argument, set EXPR_LIST mode to that mode instead of VOIDmode. * var-tracking.c (prepare_call_arguments): Don't track parameters whose EXPR_LIST mode is VOIDmode, BLKmode or X mode isn't convertible to it using lowpart_subreg. Convert VALUE and REG/MEM to the EXPR_LIST mode. From-SVN: r178784
2011-09-12re PR target/43746 (-fmerge-constants and -fmerge-all-constants don't work ↵Georg-Johann Lay4-77/+177
at AVR target) gcc/ PR target/43746 * config/avr/avr.c (AVR_SECTION_PROGMEM): New Define. (progmem_section): New Variable. (avr_asm_init_sections): Initialize it. (TARGET_ASM_SELECT_SECTION): Define to... (avr_asm_select_section): ... this new Function. (avr_replace_prefix): New Function. (avr_asm_function_rodata_section): Use it. (avr_insert_attributes): Don't add section attribute for PROGMEM. (avr_section_type_flags): Use avr_progmem_p instead of section name to detect if object is in PROGMEM. (avr_asm_named_section): Set section name prefix for objects in PROGMEM. testsuite/ PR target/43746 * testsuite/gcc.target/avr/torture/avr-torture.exp (AVR_TORTURE_OPTIONS): Add test cases "-O2 -fdata-sections" and "-O2 -fmerge-all-constants". From-SVN: r178779
2011-09-12re PR bootstrap/50352 (arm-linux-gnueabi bootstrap failure due to -Wformat ↵Jakub Jelinek2-1/+7
error in arm.md) PR bootstrap/50352 * config/arm/arm.md (*push_fp_multi): Add % before %( and %) in the sprintf format string. From-SVN: r178778
2011-09-12re PR middle-end/50343 (FAIL: gfortran.dg/graphite/id-22.f)Richard Guenther2-0/+9
2011-09-12 Richard Guenther <rguenther@suse.de> PR tree-optimization/50343 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that the reduction is over an SSA name before checking its definition. From-SVN: r178775
2011-09-12Daily bump.GCC Administrator1-1/+1
From-SVN: r178774
2011-09-11re PR fortran/50327 (Front-end optimization generates wrong code for BLAS's ↵Thomas Koenig4-0/+102
srotmg) 2011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/50327 * frontend-passes.c (dummy_expr_callback): New function. (convert_do_while): New function. (optimize_namespace): Call code walker to convert do while loops. 2011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/50327 * gfortran.dg/do_while_1.f90: New test. From-SVN: r178768
2011-09-11re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure ↵Janus Weil7-35/+216
argument) 2011-09-11 Janus Weil <janus@gcc.gnu.org> PR fortran/35831 PR fortran/47978 * interface.c (check_dummy_characteristics): New function to check the characteristics of dummy arguments. (gfc_compare_interfaces,gfc_check_typebound_override): Call it here. 2011-09-11 Janus Weil <janus@gcc.gnu.org> PR fortran/35831 PR fortran/47978 * gfortran.dg/dynamic_dispatch_5.f03: Fix invalid test case. * gfortran.dg/proc_decl_26.f90: New. * gfortran.dg/typebound_override_2.f90: New. * gfortran.dg/typebound_proc_6.f03: Changed wording in error message. From-SVN: r178767
2011-09-11utils.c (maybe_unconstrained_array): In the reference to unconstrained array ↵Eric Botcazou6-11/+71
case, deal with each branch of a COND_EXPR. * gcc-interface/utils.c (maybe_unconstrained_array): In the reference to unconstrained array case, deal with each branch of a COND_EXPR. * gcc-interface/utils2.c (build_allocator): Deal with each branch of a COND_EXPR in the initializer, if present. From-SVN: r178766
2011-09-11decl.c (maybe_pad_type): Do not try to change the form of an addressable type.Eric Botcazou6-0/+79
* gcc-interface/decl.c (maybe_pad_type): Do not try to change the form of an addressable type. * gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New. Deal with those cases for which creating a temporary is mandatory. From-SVN: r178764
2011-09-11trans.c (call_to_gnu): Use local variable.Eric Botcazou2-15/+15
* gcc-interface/trans.c (call_to_gnu): Use local variable. Make sure this is a real formal parameter before testing whether it is by ref. From-SVN: r178763
2011-09-11gigi.h (build_call_0_expr): Delete.Eric Botcazou5-110/+94
* gcc-interface/gigi.h (build_call_0_expr): Delete. (build_call_1_expr): Likewise. (build_call_2_expr): Likewise. (build_call_n_expr): New prototype. * gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr. * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto. (Handled_Sequence_Of_Statements_to_gnu): Likewise. (Exception_Handler_to_gnu_zcx): Likewise. (gnat_to_gnu): Likewise. (build_binary_op_trapv): Likewise. * gcc-interface/utils2.c (build_call_0_expr): Delete. (build_call_1_expr): Likewise. (build_call_2_expr): Likewise. (build_call_n_expr): New function. (build_call_raise): Use build_call_n_expr. (build_call_raise_range): Likewise. (build_call_raise_column): Likewise. (build_call_alloc_dealloc_proc): Likewise. (maybe_wrap_malloc): Likewise. (maybe_wrap_free): Likewise. From-SVN: r178762
2011-09-11trans.c (build_return_expr): Use void_type_node for MODIFY_EXPR.Eric Botcazou3-6/+22
* gcc-interface/trans.c (build_return_expr): Use void_type_node for MODIFY_EXPR. * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Assert that the result type is null if ENABLE_CHECKING. Set operation_type at the end unconditionally if not set in the previous cases. Use build2 and void_type_node for MODIFY_EXPR. (build_allocator): Use NULL_TREE for MODIFY_EXPR. From-SVN: r178761
2011-09-11cris.md: Use match_test rather than eq/ne symbol_ref throughout file.Richard Sandiford2-11/+11
gcc/ * config/cris/cris.md: Use match_test rather than eq/ne symbol_ref throughout file. From-SVN: r178760
2011-09-11mips.md: Use match_test rather than eq/ne symbol_ref throughout file.Richard Sandiford5-41/+46
gcc/ * config/mips/mips.md: Use match_test rather than eq/ne symbol_ref throughout file. * config/mips/sb1.md: Likewise. * config/mips/predicates.md: Replace (match_test "!...") with (not (match_test "...")) * config/mips/constraints.md: Likewise. From-SVN: r178759
2011-09-11Daily bump.GCC Administrator1-1/+1
From-SVN: r178753
2011-09-10Check ia32 instead of ilp32.H.J. Lu2-1/+5
2011-09-10 H.J. Lu <hongjiu.lu@intel.com> * gcc.dg/sibcall-6.c: Check ia32 instead of ilp32. From-SVN: r178749
2011-09-10Fix using package name as composite literal struct key.Ian Lance Taylor2-3/+36
From-SVN: r178747
2011-09-10Daily bump.GCC Administrator1-1/+1
From-SVN: r178745
2011-09-09re PR target/49030 (ICE in get_arm_condition_code, at config/arm/arm.c:17180)Georg-Johann Lay2-0/+7
PR target/49030 * gcc.dg/torture/pr49030.c: Run only if target int32plus. From-SVN: r178736
2011-09-09arm-cores.def (generic-armv7-a): New architecture.Andrew Stubbs9-5/+42
2011-09-09 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/arm/arm-cores.def (generic-armv7-a): New architecture. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/arm.c (arm_file_start): Output .arch directive when user passes -mcpu=generic-*. (arm_issue_rate): Add genericv7a support. * config/arm/arm.h (EXTRA_SPECS): Add asm_cpu_spec. (ASM_CPU_SPEC): New define. * config/arm/elf.h (ASM_SPEC): Use %(asm_cpu_spec). * config/arm/semi.h (ASM_SPEC): Likewise. * doc/invoke.texi (ARM Options): Document -mcpu=generic-* and -mtune=generic-*. From-SVN: r178731
2011-09-09re PR target/49614 (FAIL: gcc.dg/vmx/gcc-bug-i.c -O0 (test for excess errors))Iain Sandoe2-1/+6
gcc/testsuite: PR target/49614 * gcc.dg/vmx/gcc-bug-i.c (inline_me): Declare 'inline'. From-SVN: r178730
2011-09-09re PR tree-optimization/50328 (reduction with constant or invariant not ↵Richard Guenther4-2/+38
vectorized) 2011-09-09 Richard Guenther <rguenther@suse.de> PR tree-optimization/50328 * tree-vect-loop.c (vect_is_simple_reduction_1): Allow one constant or default-def operand. * gcc.dg/vect/fast-math-vect-outer-7.c: New testcase. From-SVN: r178728
2011-09-09tree-ssa-pre.c (create_expression_by_pieces): Fold the last statement.Richard Guenther2-0/+9
2011-09-09 Richard Guenther <rguenther@suse.de> * tree-ssa-pre.c (create_expression_by_pieces): Fold the last statement. From-SVN: r178727
2011-09-09gimple.h (fold_stmt_inplace): Adjust to take a gimple_stmt_iterator instead ↵Richard Guenther8-42/+65
of a statement. 2011-09-09 Richard Guenther <rguenther@suse.de> * gimple.h (fold_stmt_inplace): Adjust to take a gimple_stmt_iterator instead of a statement. * gimple-fold.c (fold_stmt_inplace): Likewise. * sese.c (graphite_copy_stmts_from_block): Adjust. * tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise. * tree-ssa-forwprop.c (forward_propagate_into_comparison): Use fold_stmt. (forward_propagate_addr_into_variable_array_index): Likewise. (forward_propagate_addr_expr_1): adjust. (associate_plusminus): Likewise. (ssa_forward_propagate_and_combine): Likewise. * tree-ssa-mathopts.c (replace_reciprocal): Adjust. (execute_cse_reciprocals): Likewise. * tree-ssa.c (insert_debug_temp_for_var_def): Adjust. From-SVN: r178726
2011-09-09mn10300.c (mn10300_split_and_operand_count): Return a positive value to ↵Nick Clifton2-1/+24
indicate that the bits at the bottom of the register... * config/mn10300/mn10300.c (mn10300_split_and_operand_count): Return a positive value to indicate that the bits at the bottom of the register should be cleared. From-SVN: r178724
2011-09-09tree-ssa-operands.c (swap_tree_operands): Always adjust existing operand ↵Richard Guenther2-9/+13
positions. 2011-09-09 Richard Guenther <rguenther@suse.de> * tree-ssa-operands.c (swap_tree_operands): Always adjust existing operand positions. From-SVN: r178723
2011-09-09re PR middle-end/50333 (internal compiler error: in extract_ops_from_tree, ↵Richard Guenther4-1/+30
at gimple.h:1909) 2011-09-09 Richard Guenther <rguenther@suse.de> PR middle-end/50333 * tree-data-ref.c (split_constant_offset): Do not try to handle ternary ops. * gcc.dg/torture/pr50333.c: New testcase. From-SVN: r178720
2011-09-09Daily bump.GCC Administrator1-1/+1
From-SVN: r178717
2011-09-08re PR c/50332 (FAIL: gcc.dg/attr-invalid.c)Dodji Seketeli2-2/+8
Fix PR c/50332 gcc/testsuite/ * gcc.dg/attr-invalid.c: Adjust as __attribute__((used) is no longer ignored on typedefs. From-SVN: r178712
2011-09-08utils.c (unchecked_convert): Use a field of the right precision when ↵Eric Botcazou2-12/+38
converting to or from an integral type... * gcc-interface/utils.c (unchecked_convert): Use a field of the right precision when converting to or from an integral type whose precision is not equal to its size. From-SVN: r178711