aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-07-13Remove -mfused-madd and add -mfma.H.J. Lu2-11/+10
2011-07-13 H.J. Lu <hongjiu.lu@intel.com> * doc/invoke.texi (x86): Remove -mfused-madd and add -mfma. From-SVN: r176230
2011-07-13tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Tighten overlap ↵Richard Sandiford2-6/+11
check. gcc/ * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Tighten overlap check. From-SVN: r176229
2011-07-13tree.h (categorize_ctor_elements): Remove comment.Richard Sandiford8-213/+278
gcc/ * tree.h (categorize_ctor_elements): Remove comment. Fix long line. (count_type_elements): Delete. (complete_ctor_at_level_p): Declare. * expr.c (flexible_array_member_p): New function, split out from... (count_type_elements): ...here. Make static. Replace allow_flexarr parameter with for_ctor_p. When for_ctor_p is true, return the number of elements that should appear in the top-level constructor, otherwise return an estimate of the number of scalars. (categorize_ctor_elements): Replace p_must_clear with p_complete. (categorize_ctor_elements_1): Likewise. Use complete_ctor_at_level_p. (complete_ctor_at_level_p): New function, borrowing union logic from old categorize_ctor_elements_1. (mostly_zeros_p): Return true if the constructor is not complete. (all_zeros_p): Update call to categorize_ctor_elements. * gimplify.c (gimplify_init_constructor): Update call to categorize_ctor_elements. Don't call count_type_elements. Unconditionally prevent clearing for variable-sized types, otherwise rely on categorize_ctor_elements to detect incomplete initializers. gcc/cp/ * typeck2.c (split_nonconstant_init_1): Pass the initializer directly, rather than a pointer to it. Return true if the whole of the value was initialized by the generated statements. Use complete_ctor_at_level_p instead of count_type_elements. gcc/testsuite/ 2011-07-12 Chung-Lin Tang <cltang@codesourcery.com> * gcc.target/arm/pr48183.c: New test. From-SVN: r176228
2011-07-13tree-vrp.c (simplify_conversion_using_ranges): Make sure the final type is ↵Richard Guenther4-0/+19
integral. 2011-07-13 Richard Guenther <rguenther@suse.de> * tree-vrp.c (simplify_conversion_using_ranges): Make sure the final type is integral. * gcc.dg/torture/20110713-1.c: New testcase. From-SVN: r176227
2011-07-13sched-int.h (struct _dep): Add member cost.Bernd Schmidt4-0/+29
* sched-int.h (struct _dep): Add member cost. (DEP_COST, UNKNOWN_DEP_COST): New macros. * sched-deps.c (init_dep_1): Initialize DEP_COST. * haifa-sched.c (dep_cost_1): Use and set DEP_COST. (sched_change_pattern): Reset it for dependent insns. From-SVN: r176226
2011-07-13Makefile.in (CRT0STUFF_T_CFLAGS): Remove.Rainer Orth9-71/+93
gcc: * Makefile.in (CRT0STUFF_T_CFLAGS): Remove. ($(T)crt0.o, $(T)mcrt0.o, s-crt0): Remove. * config/i386/netware-crt0.c: Move to ../libgcc/config/i386. * config/i386/t-nwld (CRTSTUFF_T_CFLAGS, CRT0STUFF_T_CFLAGS): Remove. (CRT0_S, MCRT0_S): Remove. ($(T)libgcc.def, $(T)libc.def, $(T)libcpre.def, $(T)posixpre.def): Remove. (s-crt0): Remove. * config.gcc (i[3456x]86-*-netware*): Remove extra_parts. libgcc: * config/i386/netware-crt0.c: New file. * config/i386/t-nwld: Rename to ... * config/i386/t-slibgcc-nwld: ... this. * config/i386/t-nwld: New file. * config.host (i[3456x]86-*-netware*): Add i386/t-slibgcc-nwld to tmake_file. Add crt0.o, libgcc.def, libc.def, libcpre.def, posixpre.def to extra_parts. From-SVN: r176225
2011-07-13libgo/testsuite/gotest: Run tests in source file order.Ian Lance Taylor1-2/+2
From-SVN: r176223
2011-07-13Daily bump.GCC Administrator1-1/+1
From-SVN: r176222
2011-07-12name-lookup.h (cp_binding_level): Rename from cxx_scope.Diego Novillo7-177/+183
* name-lookup.h (cp_binding_level): Rename from cxx_scope. Update all users. (struct cp_binding_level): Fix indentation. From-SVN: r176218
2011-07-12s/recurson/recursion/Jason Merrill1-2/+2
From-SVN: r176217
2011-07-12cse.c (insert_with_costs): Put semi-colon after empty loop body on the next ↵Eric Botcazou11-12/+42
line. * cse.c (insert_with_costs): Put semi-colon after empty loop body on the next line. * emit-rtl.c (push_to_sequence): Likewise. * haifa-sched.c (max_issue): Likewise. * matrix-reorg.c (add_allocation_site): Likewise. * postreload-gcse.c (eliminate_partially_redundant_load): Likewise. * reload.c (alternative_allows_const_pool_ref): Likewise. * sched-rgn.c (rgn_add_block): Likewise. (rgn_fix_recovery_cfg): Likewise. * tree.c (attribute_list_contained): Likewise. c-family/ * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop body on the next line. From-SVN: r176216
2011-07-12i386.c: Tidy processor feature bitmasks.Uros Bizjak3-71/+63
* config/i386/i386.c: Tidy processor feature bitmasks. (m_P4_NOCONA): New. From-SVN: r176215
2011-07-12re PR rtl-optimization/49474 (ppc ICEs with -O3 (bootstrapping with -O3 and ↵Andrew Pinski4-1/+27
--disable-checking)) 2011-07-12 Andrew Pinski <pinskia@gmail.com> PR rtl-opt/49474 * cprop.c (find_implicit_sets): Correct the condition. 2011-07-12 Andrew Pinski <pinskia@gmail.com> PR rtl-opt/49474 * gcc.c-torture/compile/pr49474.c: New testcase. From-SVN: r176213
2011-07-12re PR target/49713 (Conflicting types for 'arm_dbx_register_number')Richard Henderson4-45/+54
PR target/49713 * dwarf2out.h (dwarf_frame_regnum): Remove. * dwarf2out.c (based_loc_descr): Revert last change. Initialize regno earlier from DWARF_FRAME_REGNUM. Never use dbx_reg_number. * dwarf2cfi.c (dw_stack_pointer_regnum, dw_frame_pointer_regnum): New. (execute_dwarf2_frame): Initialize them. (DW_STACK_POINTER_REGNUM, DW_FRAME_POINTER_REGNUM): Remove; replace users of the macros with the variables. (expand_builtin_dwarf_sp_column): Revert last change. (expand_builtin_init_dwarf_reg_sizes): Likewise. Compute the result of DWARF_FRAME_REGNUM into a local variable. From-SVN: r176212
2011-07-12re PR target/49714 (Revision 176128 introduced many ICEs in ↵Richard Henderson2-6/+9
insn_default_length, at config/i386/i386.md:600) PR target/49714 * config/i386/i386.c (x86_output_mi_thunk): Use machopic_indirect_call_target instead of machopic_indirection_name directly. From-SVN: r176211
2011-07-12prefix.h: Wrap up in extern "C" block.Laurent GUERBY35-62/+372
* prefix.h: Wrap up in extern "C" block. ada/ * adadecode.c: Wrap up in extern "C" block. * adadecode.h: Likewise. * adaint.c: Likewise. Remove 'const' keyword. * adaint.h: Likewise. * argv.c: Likewise. * atree.h: Likewise. * cio.c: Likewise. * cstreams.c: Likewise. * env.c: Likewise. * exit.c: Likewise. * fe.h: Likewise. * final.c: Likewise. * init.c: Likewise. * initialize.c: Likewise. * link.c: Likewise. * namet.h: Likewise. * nlists.h: Likewise. * raise.c: Likewise. * raise.h: Likewise. * repinfo.h: Likewise. * seh_init.c: Likewise. * targext.c: Likewise. * tracebak.c: Likewise. * uintp.h: Likewise. * urealp.h: Likewise. * xeinfo.adb: Wrap up generated C code in extern "C" block. * xsinfo.adb: Likewise. * xsnamest.adb: Likewise. * gcc-interface/gadaint.h: Wrap up in extern "C" block. * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block. * gcc-interface/misc.c: Likewise. * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER. (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and ada/targext.o here... (GNAT_ADA_OBJS): ...and not here. (GNAT1_ADA_OBJS): Add ada/b_gnat1.o. (GNATBIND_OBJS): Reorder. Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> From-SVN: r176210
2011-07-12AMD bdver2 EnablementHarsha Jagasia8-24/+175
2011-07-12 Harsha Jagasia <harsha.jagasia@amd.com> AMD bdver2 Enablement * config.gcc (i[34567]86-*-linux* | ...): Add bdver2. (case ${target}): Add bdver2. * config/i386/driver-i386.c (host_detect_local_cpu): Let -march=native recognize bdver2 processors. * config/i386/i386-c.c (ix86_target_macros_internal): Add bdver2 def_and_undef * config/i386/i386.c (struct processor_costs bdver2_cost): New bdver2 cost table. (m_BDVER2): New definition. (m_AMD_MULTIPLE): Includes m_BDVER2. (initial_ix86_tune_features): Add bdver2 tuning. (processor_target_table): Add bdver2 entry. (static const char *const cpu_names): Add bdver2 entry. (ix86_option_override_internal): Add bdver2 instruction sets. (ix86_issue_rate): Add bdver2. (ix86_adjust_cost): Add bdver2. (has_dispatch): Add bdver2. * config/i386/i386.h (TARGET_BDVER2): New definition. (enum target_cpu_default): Add TARGET_CPU_DEFAULT_bdver2. (enum processor_type): Add PROCESSOR_BDVER2. * config/i386/i386.md (define_attr "cpu"): Add bdver2. * config/i386/i386.opt ( mdispatch-scheduler): Add bdver2 to description. From-SVN: r176209
2011-07-12re PR target/49714 (Revision 176128 introduced many ICEs in ↵Richard Henderson2-2/+8
insn_default_length, at config/i386/i386.md:600) PR target/49714 * config/i386/i386.c (x86_output_mi_thunk): Fix mode for destination address in memory on some paths. From-SVN: r176208
2011-07-12tm.texi.in (FUNCTION_ARG_PADDING): Mention TARGET_FUNCTION_ARG_ROUND_BOUNDARY.Bernd Schmidt7-11/+51
* doc/tm.texi.in (FUNCTION_ARG_PADDING): Mention TARGET_FUNCTION_ARG_ROUND_BOUNDARY. (TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Add hook. * function.c (locate_and_pad_parm): Take it into account. * target.def (function_arg_round_boundary): New hook. * targhooks.c (default_function_arg_round_boundary): New function. * targhooks.h (default_function_arg_round_boundary): Declare. * doc/tm.texi: Regenerate. From-SVN: r176207
2011-07-12tree-ssa-copyrename.c (rename_ssa_copies): Zero statistics.Richard Guenther2-8/+14
2011-07-12 Richard Guenther <rguenther@suse.de> * tree-ssa-copyrename.c (rename_ssa_copies): Zero statistics. Do not perform no-op changes. From-SVN: r176206
2011-07-12Delete moved source files.Rainer Orth3-1316/+0
From-SVN: r176205
2011-07-12predicates.md (neon_struct_operand): Make a normal predicate.Richard Sandiford3-9/+23
gcc/ * config/arm/predicates.md (neon_struct_operand): Make a normal predicate. (neon_struct_or_register_operand): New predicate. * config/arm/neon.md (movmisalign<mode>): Replace predicates with neon_struct_or_register_operand. (*movmisalign<mode>_neon_store, *movmisalign<mode>_neon_load): Use neon_struct_operand instead of memory_operand. From-SVN: r176204
2011-07-12interpret.cc (check_handler): Fix bit rot.Andrew Haley2-2/+7
2011-07-12 Andrew Haley <aph@redhat.com> * interpret.cc (check_handler): Fix bit rot. (breakpoint_at): Likewise. From-SVN: r176200
2011-07-12natClass.cc (finalize): Make sure that the class really has an engine.Andrew Haley2-1/+8
2011-07-12 Andrew Haley <aph@redhat.com> * java/lang/natClass.cc (finalize): Make sure that the class really has an engine. From-SVN: r176199
2011-07-12cgraph.h (cgraph_get_node_or_alias): Removed declaration.Martin Jambor5-30/+17
2011-07-12 Martin Jambor <mjambor@suse.cz> * cgraph.h (cgraph_get_node_or_alias): Removed declaration. * cgraph.c (cgraph_get_node_or_alias): Removed. (change_decl_assembler_name): Changed all calls to cgraph_get_node_or_alias to a call to cgraph_get_node. (cgraph_make_decl_local): Likewise. * lto-symtab.c (lto_symtab_resolve_symbols): Likewise. * varasm.c (default_binds_local_p_1): Likewise. (decl_binds_to_current_def_p): Likewise. From-SVN: r176196
2011-07-12re PR tree-optimization/49712 (internal compiler error: in gen_lsm_tmp_name, ↵Jakub Jelinek4-0/+39
at tree-ssa-loop-im.c:2048) PR tree-optimization/49712 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Handle TARGET_MEM_REF. * gcc.c-torture/execute/pr49712.c: New test. From-SVN: r176195
2011-07-12Daily bump.GCC Administrator1-1/+1
From-SVN: r176192
2011-07-11re PR c++/49672 ([C++0x] Internal error when passing variadic template args ↵Jason Merrill4-18/+60
to a lambda function) PR c++/49672 * pt.c (extract_fnparm_pack): Split out from... (make_fnparm_pack): ...here. (instantiate_decl): Handle non-pack parms after a pack. * semantics.c (maybe_add_lambda_conv_op): Don't in a template. From-SVN: r176183
2011-07-11libgo: Define CC_FOR_BUILD in Makefile.Ian Lance Taylor4-2/+11
From-SVN: r176182
2011-07-11libgo/runtime: Change std::abort to abort.Ian Lance Taylor1-1/+1
From-SVN: r176181
2011-07-11genautomata.c (add_arc): Return void.Bernd Schmidt2-15/+10
* genautomata.c (add_arc): Return void. All callers changed. (make_automaton): Remove dead code. From-SVN: r176179
2011-07-11dwarf2cfi.c (DW_STACK_POINTER_REGNUM): New.Richard Henderson4-75/+108
* dwarf2cfi.c (DW_STACK_POINTER_REGNUM): New. (DW_FRAME_POINTER_REGNUM): New. (expand_builtin_init_dwarf_reg_sizes): Use unsigned for rnum. (def_cfa_1): Do not convert reg to DWARF_FRAME_REGNUM here. (dwf_regno): New. (dwarf2out_flush_queued_reg_saves, dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_register, dwarf2out_frame_debug_cfa_expression, dwarf2out_frame_debug_expr): Use it. * dwarf2out.c (based_loc_descr): Use dwarf_frame_regnum. * dwarf2out.h (dwarf_frame_regnum): New. (struct cfa_loc): Document the domain of the reg member. From-SVN: r176178
2011-07-11* decl2.c (decl_constant_var_p): Use decl_maybe_constant_var_p.Jason Merrill2-18/+10
From-SVN: r176177
2011-07-11re PR c++/44609 (Invalid template code causes infinite loop of error messages)Jason Merrill7-6/+78
PR c++/44609 * cp-tree.h (struct tinst_level): Add errors field. * pt.c (neglectable_inst_p, limit_bad_template_recurson): New. (push_tinst_level): Don't start another decl in that case. (reopen_tinst_level): Adjust errors field. * decl2.c (cp_write_global_declarations): Don't complain about undefined inline if its template was defined. * mangle.c (mangle_decl_string): Handle failure from push_tinst_level. From-SVN: r176176
2011-07-11re PR libstdc++/49559 ([C++0x] stable_sort calls self-move-assignment operator)Paolo Carlini8-109/+434
2011-07-11 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/49559 * include/bits/stl_algo.h (__move_merge_backward): Remove. (__move_merge_adaptive, __move_merge_adaptive_backward): New. (__merge_adaptive): Use the latter two. (__rotate_adaptive): Avoid self move-assignment. * include/bits/stl_algobase.h (move_backward): Fix comment. * testsuite/25_algorithms/stable_sort/49559.cc: New. * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise. * testsuite/25_algorithms/inplace_merge/moveable.cc: Extend. * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise. * testsuite/util/testsuite_rvalref.h (rvalstruct::operator= (rvalstruct&&)): Check for self move-assignment. From-SVN: r176174
2011-07-11i386.c (ix86_trampoline_init): Switch arms of if expr.Uros Bizjak2-105/+97
* config/i386/i386.c (ix86_trampoline_init): Switch arms of if expr. Use offset everywhere. Always assert that offset <= TRAMPOLINE_SIZE. From-SVN: r176173
2011-07-11ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.Andrew Haley2-1/+9
2011-07-11 Andrew Haley <aph@redhat.com> * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache. From-SVN: r176172
2011-07-11testsuite_allocator.h (propagating_allocator<>:: operator=(const ↵Paolo Carlini2-4/+10
propagating_allocator<>&)): Retun *this. 2011-07-11 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/util/testsuite_allocator.h (propagating_allocator<>:: operator=(const propagating_allocator<>&)): Retun *this. From-SVN: r176169
2011-07-11re PR debug/49676 (inefficiency: DW_AT_GNU_call_site_value calculates ↵Jakub Jelinek4-13/+243
everything << 32) PR debug/49676 * dwarf2out.c (int_shift_loc_descriptor): New function. (int_loc_descriptor): If shorter, emit i as (i >> shift), shift, DW_OP_shl for suitable shift value. Similarly, try to optimize large negative values using DW_OP_neg of a positive value if shorter. (size_of_int_shift_loc_descriptor): New function. (size_of_int_loc_descriptor): Adjust to match int_loc_descriptor changes. (mem_loc_descriptor) <case CONST_INT>: Emit zero-extended constants that fit into DWARF2_ADDR_SIZE bytes as int_loc_descriptor + DW_OP_GNU_convert instead of DW_OP_GNU_const_type if the former is shorter. (resolve_addr_in_expr): Optimize DW_OP_plus_uconst with a large addend as added DW_OP_plus if it is shorter. * gcc.dg/guality/csttest.c: New test. From-SVN: r176167
2011-07-11re PR fortran/49698 (Unmanageable compiler error)Jakub Jelinek4-2/+28
PR fortran/49698 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initialize inner_size to gfc_index_one_node instead of integer_one_node. * gfortran.dg/pr49698.f90: New test. From-SVN: r176164
2011-07-11configure.ac (i?86-*-solaris2*): Use libgcc copy of i386/t-crtstuff.Rainer Orth3-6/+8
* configure.ac (i?86-*-solaris2*): Use libgcc copy of i386/t-crtstuff. * configure: Regenerate. From-SVN: r176163
2011-07-11sol2.h [!USE_GLD] (CTORS_SECTION_ASM_OP): Define.Rainer Orth2-0/+12
* config/i386/sol2.h [!USE_GLD] (CTORS_SECTION_ASM_OP): Define. (DTORS_SECTION_ASM_OP): Define. From-SVN: r176162
2011-07-11uninit-pred-8_b.c: Disable dominator optimizations.Jeff Law2-1/+5
* gcc.dg/uninit-pred-8_b.c: Disable dominator optimizations. From-SVN: r176160
2011-07-11* EXCLUDES (libgcov.c): Remove.Rainer Orth2-1/+4
From-SVN: r176158
2011-07-11dfp-bit.c, dfp-bit.h: Move to ../libgcc.Rainer Orth9-47/+1391
gcc: * config/dfp-bit.c, config/dfp-bit.h: Move to ../libgcc. * config/t-dfprules: Move to ../libgcc/config. * config.gcc (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Remove t-dfprules from tmake_file. (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise. (i[34567]86-*-cygwin*): Likewise. (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise. (powerpc-*-linux*, powerpc64-*-linux*): Likewise. * Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): Remove. (libgcc.mvars): Remove DFP_ENABLE, DFP_CFLAGS, D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS. libgcc: * dfp-bit.c, dfp-bit.h: New files. * Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): New variables. ($(d32pbit-o)): Use $(srcdir) to refer to dfp-bit.c ($(d64pbit-o)): Likewise. ($(d128pbit-o)): Likewise. * config/t-dfprules: New file. * config.host (i[34567]86-*-linux*): Add t-dfprules to tmake_file. (i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Likewise. (x86_64-*-linux*): Likewise. (x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise. (i[34567]86-*-cygwin*): Likewise. (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise. (powerpc-*-linux*, powerpc64-*-linux*): Likewise. From-SVN: r176156
2011-07-11tree-vrp.c (simplify_conversion_using_ranges): Manually translate the source ↵Richard Guenther2-18/+48
value-range through the conversion chain. 2011-07-11 Richard Guenther <rguenther@suse.de> * tree-vrp.c (simplify_conversion_using_ranges): Manually translate the source value-range through the conversion chain. From-SVN: r176154
2011-07-11Check ia32 effective target.H.J. Lu3-2/+8
2011-07-11 H.J. Lu <hongjiu.lu@intel.com> * gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Check ia32. * go.test/go-test.exp (go-set-goarch): Likewise. From-SVN: r176153
2011-07-11Add my name (Daniel Carrera) to the "Write After Approval" list.Daniel Carrera1-0/+1
From-SVN: r176152
2011-07-11expr.c (expand_expr_real_1): Use expand_insn for movmisalign.Richard Sandiford2-21/+22
gcc/ * expr.c (expand_expr_real_1): Use expand_insn for movmisalign. From-SVN: r176150
2011-07-11config.gcc (s390-*-linux*): If 'enabled_targets' is 'all', build a bi-arch ↵Arthur Loiret3-2/+17
compiler defaulting to 31-bit. 2011-07-11 Arthur Loiret <aloiret@debian.org> * config.gcc (s390-*-linux*): If 'enabled_targets' is 'all', build a bi-arch compiler defaulting to 31-bit. In this case: (tmake_file): Add s390/t-linux64. * doc/install.texi: Add s390-linux to the list of targets supporting --enable-targets=all. From-SVN: r176146