GCC Administrator [Tue, 21 Aug 2012 00:18:14 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190552
Oleg Endo [Mon, 20 Aug 2012 21:25:17 +0000 (21:25 +0000)]
Fix PR numbers for ChangeLog entries.
From-SVN: r190547
Florian Weimer [Mon, 20 Aug 2012 21:13:23 +0000 (23:13 +0200)]
Fix PR C++/19351: integer overflow in operator new[]
2012-08-20 Florian Weimer <fweimer@redhat.com>
PR c++/19351
* call.c (build_operator_new_call): Add size_check argument and
evaluate it.
* cp-tree.h (build_operator_new_call): Adjust declaration.
* init.c (build_new_1): Compute array size check and apply it.
2012-08-10 Florian Weimer <fweimer@redhat.com>
PR c++/19351
* g++.dg/init/new38.C: New test.
* g++.dg/init/new39.C: New test.
From-SVN: r190546
Oleg Endo [Mon, 20 Aug 2012 20:54:20 +0000 (20:54 +0000)]
re PR rtl-optimization/50489 ([UPC/IA64] mis-schedule of MEM ref with -ftree-vectorize and -fschedule-insns2)
PR target/50489
* config/sh/sh.md (rotcr, *rotcr, shar, shlr): New insns and splits.
(ashrdi3_k, lshrdi3_k): Rewrite as insn_and_split.
* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p): New function.
* config/sh/sh-protos.h (sh_lshrsi_clobbers_t_reg_p): Declare it.
PR target/50489
* gcc.target/sh/pr54089-1.c: New.
From-SVN: r190545
Oleg Endo [Mon, 20 Aug 2012 20:51:06 +0000 (20:51 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
* config/sh/sh.md (*cset_zero): New insns.
PR target/51244
* gcc.target/sh/pr51244-11.c: New.
From-SVN: r190544
Mark Wielaard [Mon, 20 Aug 2012 20:27:46 +0000 (20:27 +0000)]
dwarf2out.c: For DWARF 4+, output DW_AT_high_pc as constant offset.
* dwarf2out.h (enum dw_val_class): Add dw_val_class_high_pc.
* dwarf2out.c (dw_val_equal_p): Handle dw_val_class_high_pc.
(add_AT_low_high_pc): New function.
(AT_lbl): Handle dw_val_class_high_pc.
(print_die): Likewise.
(attr_checksum): Likewise.
(attr_checksum_ordered): Likewise.
(same_dw_val_p): Likewise.
(size_of_die): Likewise.
(value_format): Likewise.
(output_die): Likewise.
(gen_subprogram_die): Use add_AT_low_high_pc.
(add_high_low_attributes): Likewise.
(dwarf2out_finish): Likewise.
From-SVN: r190543
Tobias Burnus [Mon, 20 Aug 2012 19:49:46 +0000 (21:49 +0200)]
re PR fortran/54301 (Add optional warning if pointer assigning a local variable to a nonlocal pointer)
2012-08-20 Tobias Burnus <burnus@net-b.de>
PR fortran/54301
* expr.c (gfc_check_pointer_assign): Warn when a pointer,
which is a function result, might outlive its target.
2012-08-20 Tobias Burnus <burnus@net-b.de>
PR fortran/54301
* gfortran.dg/warn_target_lifetime_2.f90: New.
From-SVN: r190542
Jakub Jelinek [Mon, 20 Aug 2012 18:56:49 +0000 (20:56 +0200)]
re PR rtl-optimization/54294 ([alpha] Bootstrap comparison failure due to fwprop handling of debug insns)
PR rtl-optimization/54294
* fwprop.c (all_uses_available_at): Ignore debug insns in between
def_insn and target_insn when checking whether the shortcut is
possible.
From-SVN: r190541
Eric Botcazou [Mon, 20 Aug 2012 18:50:13 +0000 (18:50 +0000)]
* config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.
From-SVN: r190540
Paolo Carlini [Mon, 20 Aug 2012 17:38:53 +0000 (17:38 +0000)]
re PR c++/10416 ('unused variable' warning ignores ctor/dtor side-effects)
/cp
2012-08-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/10416
* decl.c (poplevel): Check TYPE_HAS_NONTRIVIAL_DESTRUCTOR for
Wunused_variable too.
/testsuite
2012-08-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/10416
* g++.dg/warn/Wunused-var-17.C: New.
From-SVN: r190538
Patrick Marlier [Mon, 20 Aug 2012 16:22:17 +0000 (16:22 +0000)]
re PR middle-end/53992 (Combining -fopenmp and -fgnu-tm results in segfault or misbehaving binaries)
gcc/
2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
PR middle-end/53992
* omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
testsuite/
2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
PR middle-end/53992
* gcc.dg/gomp/pr53992.c: New test.
From-SVN: r190536
Diego Novillo [Mon, 20 Aug 2012 14:23:32 +0000 (10:23 -0400)]
Fix -ftime-report for C++ lookup.
Found this while running -ftime-report on a largish C++ source file.
We need to start TV_NAME_LOOKUP conditionally inside poplevel()
because it may be called from another lookup routine that already has
TV_NAME_LOOKUP going.
Tested on x86_64. Committed to trunk.
2012-08-20 Diego Novillo <dnovillo@google.com>
* decl.c (poplevel): Start TV_NAME_LOOKUP conditionally.
From-SVN: r190535
Richard Earnshaw [Mon, 20 Aug 2012 14:13:16 +0000 (14:13 +0000)]
re PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong value extension)
PR tree-ssa/54295
* tree-ssa-math-opts.c (is_widening_mult_rhs_p): Delete rhs_code
declaration and setter.
From-SVN: r190534
Richard Earnshaw [Mon, 20 Aug 2012 12:49:47 +0000 (12:49 +0000)]
re PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong value extension)
PR tree-ssa/54295
* tree-ssa-math-opts.c (widening_mult_conversion_strippable_p):
New function.
(is_widening_mult_rhs_p): Use it.
* gcc.c-torture/execute/
20120817-1.c: New test.
From-SVN: r190533
Joseph Myers [Mon, 20 Aug 2012 12:31:25 +0000 (13:31 +0100)]
configure.ac (ffs): Check for declaration.
* configure.ac (ffs): Check for declaration.
* configure, config.in: Regenerate.
From-SVN: r190532
Richard Guenther [Mon, 20 Aug 2012 12:04:38 +0000 (12:04 +0000)]
tree-flow.h (register_new_name_mapping): Remove.
2012-08-20 Richard Guenther <rguenther@suse.de>
* tree-flow.h (register_new_name_mapping): Remove.
* tree-into-ssa.c (register_new_name_mapping): Likewise.
(add_new_name_mapping): Do not push/pop timevar here.
(create_new_def_for): Instead do it here. Initialize
update-ssa here, handle a NULL def.
* tree-vrp.c (build_assert_expr_for): Use create_new_def_for.
From-SVN: r190531
Richard Earnshaw [Mon, 20 Aug 2012 10:57:45 +0000 (10:57 +0000)]
thumb-16bit-ops.c (f): This test uses a 16-bit add instruction.
* gcc.target/arm/thumb-16bit-ops.c (f): This test uses a 16-bit
add instruction.
(f2): New test that really does need adds.
From-SVN: r190530
Richard Guenther [Mon, 20 Aug 2012 10:27:37 +0000 (10:27 +0000)]
name-lookup.c (store_binding_p): New predicate, split out from ...
2012-08-20 Richard Guenther <rguenther@suse.de>
* name-lookup.c (store_binding_p): New predicate, split out from ...
(store_binding): ... here. Always store binding and require
target vector with enough space.
(store_bindings): Collect to store bindings and reserve space
for them, then store them.
(store_class_bindings): Likewise.
From-SVN: r190529
Richard Guenther [Mon, 20 Aug 2012 10:26:45 +0000 (10:26 +0000)]
re PR middle-end/54327 (Segmentation fault in init_ggc)
2012-08-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54327
* gimple-fold.c (get_maxval_strlen): Do not walk use-def chains
if the use is registered for SSA update.
* gcc.dg/torture/pr54327.c: New testcase.
From-SVN: r190528
Jakub Jelinek [Mon, 20 Aug 2012 09:12:05 +0000 (11:12 +0200)]
re PR middle-end/54321 (ice in tree_low_cst at -O3)
PR tree-optimization/54321
* tree-ssa-forwprop.c (simplify_builtin_call): Pass 0 instead of 1
as second argument to tree_low_cst call on val2.
* gcc.c-torture/compile/pr54321.c: New test.
From-SVN: r190526
Richard Guenther [Mon, 20 Aug 2012 09:03:20 +0000 (09:03 +0000)]
gimple.h (gimple_statement_base): Annotate with GTY chain_next.
2012-08-20 Richard Guenther <rguenther@suse.de>
* gimple.h (gimple_statement_base): Annotate with GTY chain_next.
From-SVN: r190525
Richard Guenther [Mon, 20 Aug 2012 07:49:41 +0000 (07:49 +0000)]
re PR bootstrap/54326 (GCC does not build with G++ version 3.4.0)
2012-08-20 Richard Guenther <rguenther@suse.de>
PR bootstrap/54326
* genoutput.c (note_constraint): Properly use CONST_CAST.
From-SVN: r190524
Tobias Burnus [Mon, 20 Aug 2012 05:47:46 +0000 (07:47 +0200)]
re PR fortran/54301 (Add optional warning if pointer assigning a local variable to a nonlocal pointer)
2012-08-20 Tobias Burnus <burnus@net-b.de>
PR fortran/54301
* expr.c (gfc_check_pointer_assign): Warn when the pointer
might outlive its target.
* gfortran.h (struct gfc_option_t): Add warn_target_lifetime.
* options.c (gfc_init_options, set_wall, gfc_handle_option):
handle it.
* invoke.texi (-Wtarget-lifetime): Document it.
(-Wall): Implied it.
* lang.opt (-Wtarget-lifetime): New flag.
2012-08-20 Tobias Burnus <burnus@net-b.de>
PR fortran/54301
* gfortran.dg/warn_target_lifetime_1.f90: New.
From-SVN: r190522
GCC Administrator [Mon, 20 Aug 2012 00:17:46 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190521
Jan-Benedict Glaw [Sun, 19 Aug 2012 19:15:45 +0000 (19:15 +0000)]
* ChangeLog: Remove entry that shouldn't be there.
From-SVN: r190518
Joseph Myers [Sun, 19 Aug 2012 15:11:40 +0000 (16:11 +0100)]
crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc even if inhibit_libc.
* crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc
even if inhibit_libc.
From-SVN: r190517
Thomas Koenig [Sun, 19 Aug 2012 15:05:41 +0000 (15:05 +0000)]
re PR fortran/54298 (Add warning when doing equal/nonequal floating-point comparisons)
2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/54298
* gfortran.h (struct gfc_option_t): Add warn_compare_reals.
* lang.opt: Add Wcompare-reals.
* invoke.texi: Document -Wcompare-reals.
* resolve.c (resolve_operator): If -Wcompare-reals is in effect,
warn about equality/inequality comparisions for REAL and COMPLEX.
* options.c (gfc_init_options): Set warn_compare_reals.
(set_Wall): Include warn_compare_reals in Wall.
(gfc_handle_option): Handle Wcompare_reals.
2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/54298
* gfortran.dg/real_compare_1.f90: New test case.
* gfortran.dg/bessel_5.f90 Add -Wno-compare-reals to options.
From-SVN: r190516
Eric Botcazou [Sun, 19 Aug 2012 14:17:22 +0000 (14:17 +0000)]
layout.adb (Set_Elem_Alignment): Cap the alignment of access types to that of a regular access type for...
* layout.adb (Set_Elem_Alignment): Cap the alignment of access types
to that of a regular access type for non-strict-alignment platforms.
* gcc-interface/utils.c (finish_fat_pointer_type): Do not set the
alignment for non-strict-alignment platforms.
From-SVN: r190515
Eric Botcazou [Sun, 19 Aug 2012 14:07:58 +0000 (14:07 +0000)]
decl.c (gnat_to_gnu_entity): Use proper dummy type for the temporary COMPONENT_REF built for a derived...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper
dummy type for the temporary COMPONENT_REF built for a derived tagged
type with discriminant.
From-SVN: r190514
Mikael Morin [Sun, 19 Aug 2012 10:03:10 +0000 (10:03 +0000)]
Make-lang.in: Fix typo.
cp/
* Make-lang.in: Fix typo.
From-SVN: r190513
Jan-Benedict Glaw [Sun, 19 Aug 2012 08:31:25 +0000 (08:31 +0000)]
* ChangeLog: Fix whitespace.
From-SVN: r190512
Nick Clifton [Sun, 19 Aug 2012 07:11:35 +0000 (07:11 +0000)]
re PR c/54306 (ARM iwmmxt2 commit adds imbalanced #endif in mmintrin.h)
PR target/54306
* config/arm/mmintrin.h: Remove spurious #endif.
From-SVN: r190511
Jan-Benedict Glaw [Sun, 19 Aug 2012 06:15:03 +0000 (06:15 +0000)]
avr-log.c (avr_log_vadump): Properly use int-promoted enum values.
* config/avr/avr-log.c (avr_log_vadump): Properly use
int-promoted enum values.
* config/avr/avr.h (struct mcu_type_s): Change `arch' from
int to enum avr_arch.
* config/avr/gen-avr-mmcu-texi.c (main): Use correct initializer.
From-SVN: r190510
Jan Hubicka [Sun, 19 Aug 2012 05:55:20 +0000 (07:55 +0200)]
re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
PR lto/45375
* ipa-inline.c (want_inline_small_function_p): Bypass
inline limits for hinted functions.
(edge_badness): Dump hints; decrease badness for hinted funcitons.
* ipa-inline.h (enum inline_hints_vals): New enum.
(inline_hints): New type.
(edge_growth_cache_entry): Add hints.
(dump_inline_summary): Update.
(dump_inline_hints): Declare.
(do_estimate_edge_hints): Declare.
(estimate_edge_hints): New inline function.
(reset_edge_growth_cache): Update.
* predict.c (cgraph_maybe_hot_edge_p): Do not ice on indirect edges.
* ipa-inline-analysis.c (dump_inline_hints): New function.
(estimate_edge_devirt_benefit): Return true when function should be
hinted.
(estimate_calls_size_and_time): New hints argument; set it when
devritualization happens.
(estimate_node_size_and_time): New hints argument.
(do_estimate_edge_time): Cache hints.
(do_estimate_edge_growth): Update.
(do_estimate_edge_hints): New function
From-SVN: r190509
GCC Administrator [Sun, 19 Aug 2012 00:17:52 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190508
John David Anglin [Sat, 18 Aug 2012 23:16:53 +0000 (23:16 +0000)]
re PR middle-end/53823 (FAIL: gcc.c-torture/execute/930921-1.c execution at -O0 and -O1)
PR middle-end/53823
* expmed.c (expand_mult): Skip synth_mult for negative coefficients
if the mode is larger than a wide int and it is too costly to multiply
by a positive multiplier and negate the result.
From-SVN: r190505
Mikael Morin [Sat, 18 Aug 2012 22:00:10 +0000 (22:00 +0000)]
Add the working testcase from PR fortran/39290.
testsuite/
PR fortran/39290
* gfortran.dg/interface_37.f90: New test.
From-SVN: r190504
Steven Bosscher [Sat, 18 Aug 2012 13:44:00 +0000 (13:44 +0000)]
sparseset.c (sparseset_alloc): Use non-clearing allocation.
* sparseset.c (sparseset_alloc): Use non-clearing allocation. Tell
valgrind not to worry about reading from unitialized memory.
From-SVN: r190503
Steven Bosscher [Sat, 18 Aug 2012 10:35:36 +0000 (10:35 +0000)]
re PR middle-end/54313 (GCC fails to bootstrap with MALLOC_PERTURB – Segfault in bitmap_obstack_free)
PR middle-end/54313
* dse.c (dse_step7): Don't free kill_on_calls bitmap, it is
freed when its obstack is release.
From-SVN: r190502
Andrew Pinski [Sat, 18 Aug 2012 08:24:06 +0000 (01:24 -0700)]
alloc-pool.c (pool_alloc): Add valgrind markers.
2012-08-18 Andrew Pinski <pinskia@gmail.com>
* alloc-pool.c (pool_alloc): Add valgrind markers.
(pool_free): Likewise.
From-SVN: r190501
Walter Lee [Sat, 18 Aug 2012 03:21:55 +0000 (03:21 +0000)]
Define stubs for feedback instrumentation.
* config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
(FEEDBACK_ENTER): Define.
(FEEDBACK_REENTER): Define.
(FEEDBACK_ENTRY): Define.
* config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
(FEEDBACK_ENTER): Define.
(FEEDBACK_REENTER): Define.
(FEEDBACK_ENTRY): Define.
From-SVN: r190499
GCC Administrator [Sat, 18 Aug 2012 00:18:18 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190498
Andreas Schwab [Fri, 17 Aug 2012 21:56:48 +0000 (21:56 +0000)]
floatformat.c (floatformat_to_double): Correctly handle numbers between 1 and 2.
* floatformat.c (floatformat_to_double): Correctly handle numbers
between 1 and 2. Simplify handling of denormal number.
(main): Test with 1.1.
From-SVN: r190493
H.J. Lu [Fri, 17 Aug 2012 19:59:46 +0000 (19:59 +0000)]
Define MAX_FIXED_MODE_SIZE/TARGET_MEMBER_TYPE_FORCES_BLK for i386
gcc/
PR target/20020
* config/i386/i386.c (ix86_member_type_forces_blk): New function.
(TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
* config/i386/i386.h (MAX_FIXED_MODE_SIZE): New macro.
gcc/testsuite/
PR target/20020
* gcc.target/i386/pr20020-1.c: New test.
* gcc.target/i386/pr20020-2.c: Likewise.
* gcc.target/i386/pr20020-3.c: Likewise.
Co-Authored-By: Gary Funck <gary@intrepid.com>
From-SVN: r190492
Marc Glisse [Fri, 17 Aug 2012 17:53:57 +0000 (19:53 +0200)]
simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of a concatenation.
2012-08-17 Marc Glisse <marc.glisse@inria.fr>
gcc/
* simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
a concatenation.
gcc/testsuite/
* gcc.target/i386/perm-concat.c: New test.
From-SVN: r190490
H.J. Lu [Fri, 17 Aug 2012 15:50:44 +0000 (15:50 +0000)]
Convert MEMBER_TYPE_FORCES_BLK to target hook
* stor-layout.c (compute_record_mode): Replace
MEMBER_TYPE_FORCES_BLK with targetm.member_type_forces_blk.
(layout_type): Likewise.
* system.h: Poison MEMBER_TYPE_FORCES_BLK.
* target.def (member_type_forces_blk): New target hook.
* targhooks.c (default_member_type_forces_blk): New.
* targhooks.h (default_member_type_forces_blk): Likewise.
* doc/tm.texi.in (MEMBER_TYPE_FORCES_BLK): Removed.
(TARGET_MEMBER_TYPE_FORCES_BLK): New hook.
* doc/tm.texi: Regenerated.
* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Removed.
* config/ia64/ia64.c (ia64_member_type_forces_blk): New
function.
(TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
* config/rs6000/rs6000.c (TARGET_MEMBER_TYPE_FORCES_BLK): New
macro.
(rs6000_member_type_forces_blk): New function.
* config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Removed.
* config/xtensa/xtensa.c (xtensa_member_type_forces_blk): New
function.
(TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
* config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Removed.
From-SVN: r190488
Diego Novillo [Fri, 17 Aug 2012 15:37:57 +0000 (11:37 -0400)]
re PR bootstrap/54281 (Fails to bootstrap with --disable-nls)
2012-08-17 Diego Novillo <dnovillo@google.com>
PR bootstrap/54281
* configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
* config.in: Regenerate.
* configure: Regenerate.
* intl.h: Always include libintl.h if HAVE_LIBINTL_H is
set.
From-SVN: r190487
Julian Brown [Fri, 17 Aug 2012 15:06:06 +0000 (15:06 +0000)]
Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to -fexceptions -fnon-call-exceptions if not defined.
libgcc/
* Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to
-fexceptions -fnon-call-exceptions if not defined.
($(lib2-divmod-o), $(lib2-divmod-s-o)): Use above.
* config/arm/t-bpabi (LIB2_DIVMOD_EXCEPTION_FLAGS): Define.
gcc/testsuite/
* gcc.target/arm/div64-unwinding.c: New test.
From-SVN: r190483
Andreas Schwab [Fri, 17 Aug 2012 12:33:09 +0000 (12:33 +0000)]
linux-atomic.c (__sync_lock_test_and_set_1): Fix type.
* config/m68k/linux-atomic.c (__sync_lock_test_and_set_1): Fix
type.
From-SVN: r190480
Richard Guenther [Fri, 17 Aug 2012 10:49:30 +0000 (10:49 +0000)]
bitmap.h (struct bitmap_element_def): GTY annotate next/prev.
2012-08-17 Richard Guenther <rguenther@suse.de>
* bitmap.h (struct bitmap_element_def): GTY annotate next/prev.
(struct bitmap_head_def): GTY skip current field.
From-SVN: r190479
Nick Clifton [Fri, 17 Aug 2012 10:27:10 +0000 (10:27 +0000)]
fr30.md (cbranchsi4): Remove mode from comparison.
* config/fr30/fr30.md (cbranchsi4): Remove mode from
comparison.
(branch_true): Likewise.
(branch_false): Likewise.
From-SVN: r190478
Nick Clifton [Fri, 17 Aug 2012 09:58:53 +0000 (09:58 +0000)]
mcore.md (cbranchsi4): Remove mode from comparison.
* config/mcore/mcore.md (cbranchsi4): Remove mode from
comparison.
From-SVN: r190477
Nick Clifton [Fri, 17 Aug 2012 09:54:51 +0000 (09:54 +0000)]
iq2000.md (cbranchsi4): Remove mode from comparison and label.
* config/iq2000/iq2000.md (cbranchsi4): Remove mode from
comparison and label.
(branch_zero): Likewise.
(branch_zero_inverted): Likewise.
(branch_equality): Likewise.
(branch_equality_inverted): Likewise.
(extend-and-compare): Disable until reload issues can be
resolved.
* config/iq2000/iq2000.c (gen_conditional_branch): Use VOIDmode
for comparison.
(iq2000_function_arg_advance): Remove CONST_CAST2.
From-SVN: r190476
Steven Bosscher [Fri, 17 Aug 2012 09:42:06 +0000 (09:42 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))
PR middle-end/54146
* tree-ssa-loop-im.c (lim_bitmap_obstack): New bitmap_obstack.
(memref_free): Don't free the bitmaps individually here.
(mem_ref_alloc): Allocate the bitmaps on the new bitmap obstack.
(analyze_memory_references): Likewise.
(tree_ssa_lim_initialize): Initialize the new bitmap obstack.
(tree_ssa_lim_finalize): Release it.
* dse.c (dse_bitmap_obstack): New bitmap obstack.
(dse_obstack): New obstack.
(get_group_info): Allocate the bitmaps on the new bitmap obstack.
(dse_step0): Allocate the scratch bitmap on reg_obstack. Initialize
the new bitmap obstack and normal obstack. Use XNEWVEC for bb_table.
(record_store): Allocate regs_set on reg_obstack.
(dse_step1): Allocate regs_live on reg_obstack.
(dse_step2_init): Allocate offset_map_n and offset_map_p on the new
obstack.
(dse_step3_scan): Allocate bitmaps on the new bitmap obstack.
(dse_step3): Likewise.
(dse_confluence_0): Likewise.
(dse_confluence_n): Likewise.
(dse_transfer_function): Likewise.
(dse_step7): Destroy the new obstacks, and everything allocated on
them, in one big sweep.
(rest_of_handle_dse): Update.
* cfgexpand.c (stack_var_bitmap_obstack): New bitmap obstack.
(add_stack_var_conflict): Allocate bitmaps on it.
(add_scope_conflicts_1): Likewise.
(add_scope_conflicts): Likewise.
(update_alias_info_with_stack_vars): Likewise.
(init_vars_expansion): Move TREE_USED fiddling expand_used_vars.
Initialize the new bitmap obstack.
(fini_vars_expansion): Release it.
(estimated_stack_frame_size): Use init_vars_expansion to set things up
and always clean up at the end.
(expand_used_vars): Do the TREE_USED trickery here. Always call
fini_vars_expansion.
* tree-ssa-live.h (struct tree_live_info_d): Make livein and liveout
arrays of bitmap_head to avoid one indirection per bitmap access.
(live_on_entry, live_on_exit, live_var_map, live_merge_and_clear,
make_live_on_entry): Update.
* tree-ssa-live.c (partition_view_bitmap): Don't double-free 'used'.
(liveness_bitmap_obstack): New bitmap obstack.
(remove_unused_locals): Use it to allocate all bitmaps on. Update
for livein/liveout changes in tree-ssa-live.h.
(delete_tree_live_info): Release the bitmap obstack.
(loe_visit_block, live_worklist, set_var_live_on_entry,
calculate_live_on_exit, dump_live_info): Update.
(calculate_live_ranges): Initialize the bitmap.
* tree-ssa-ter.c (ter_bitmap_obstack): New bitmap obstack.
(new_temp_expr_table): Allocate bitmap on it.
(make_dependent_on_partition, add_to_partition_kill_list,
add_dependence, process_replaceable): Likewise.
(find_replaceable_exprs): Initialize and release the new obstack here.
* df-problems.c (df_lr_add_problem): Allocate persistent bitmap
for out_of_date_transfer_functions on df_bitmap_obstack.
(df_live_add_problem): Likewise.
(df_chain_add_problem): Likewise.
(df_word_lr_add_problem): Likewise.
From-SVN: r190475
Nick Clifton [Fri, 17 Aug 2012 09:16:29 +0000 (09:16 +0000)]
t-mep (mep-pragma.o): Use $(COMPILER) to compile mep-pragma.c.
* config/mep/t-mep (mep-pragma.o): Use $(COMPILER) to compile
mep-pragma.c.
From-SVN: r190474
Georg-Johann Lay [Fri, 17 Aug 2012 09:09:44 +0000 (09:09 +0000)]
t-avr (gen-avr-mmcu-texi): Use $(CC) to compile gen-avr-mmcu-texi.c.
* config/avr/t-avr (gen-avr-mmcu-texi): Use $(CC) to compile
gen-avr-mmcu-texi.c.
From-SVN: r190473
Richard Earnshaw [Fri, 17 Aug 2012 08:50:29 +0000 (08:50 +0000)]
arm.md (arm_addsi3): New variant for Thumb2 16-bit ADD instruction.
* arm.md (arm_addsi3): New variant for Thumb2 16-bit ADD instruction.
* arm.c (thumb2_reorg): Don't convert an ADD instruction that's
already 16 bits.
From-SVN: r190472
Richard Guenther [Fri, 17 Aug 2012 08:03:54 +0000 (08:03 +0000)]
hash-table.h (class hash_table): Use a descriptor template argument instead of decomposed element type and...
2012-08-17 Richard Guenther <rguenther@suse.de>
* hash-table.h (class hash_table): Use a descriptor template
argument instead of decomposed element type and support
functions.
(struct pointer_hash): New generic typed pointer-hash.
(struct typed_free_remove, struct typed_noop_remove): Generic
hash_table support pieces.
* coverage.c (struct counts_entry): Add hash_table support
members.
* tree-ssa-ccp.c (gimple_htab): Use pointer_hash.
* tree-ssa-coalesce.c (struct ssa_name_var_hash): New generic
SSA name by SSA_NAME_VAR hash.
(coalesce_ssa_name): Use it.
* tree-ssa-pre.c (struct pre_expr_d): Add hash_table support.
(expression_to_id): Adjust.
(struct expr_pred_trans_d): Add hash_table support.
(phi_translate_table): Adjust.
(phi_trans_lookup): Likewise.
(phi_trans_add): Likewise.
(do_regular_insertion): Likewise.
* tree-ssa-tail-merge.c (struct same_succ_def): Add hash_table
support.
(same_succ_htab): Adjust.
(find_same_succ_bb): Likewise.
(find_same_succ): Likewise.
(update_worklist): Likewise.
* tree-ssa-threadupdate.c (struct redirection_data): Add hash_table
support.
(redirection_data): Adjust.
From-SVN: r190471
Richard Guenther [Fri, 17 Aug 2012 07:53:05 +0000 (07:53 +0000)]
params.def (integer-share-limit): Decrease from 256 to 251, add rationale.
2012-08-17 Richard Guenther <rguenther@suse.de>
* params.def (integer-share-limit): Decrease from 256 to 251,
add rationale.
From-SVN: r190470
Richard Guenther [Fri, 17 Aug 2012 07:51:31 +0000 (07:51 +0000)]
tree-sra.c (modify_function): Free redirect_callers vector.
2012-08-17 Richard Guenther <rguenther@suse.de>
* tree-sra.c (modify_function): Free redirect_callers vector.
* ipa-split.c (split_function): Free args_to_pass vector.
* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Free
body_cost_vec properly.
(vect_enhance_data_refs_alignment): Likewise.
* tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
vec_oprnds.
(new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
* tree-vect-slp.c (vect_free_slp_instance): Free the instance.
(vect_analyze_slp_instance): Free everything.
(destroy_bb_vec_info): Free the SLP instances.
From-SVN: r190469
Iain Sandoe [Fri, 17 Aug 2012 07:30:24 +0000 (07:30 +0000)]
rs6000.c (macho_branch_islands): Adjust for changes to vec.h.
* config/rs6000/rs6000.c (macho_branch_islands): Adjust for changes
to vec.h.
From-SVN: r190468
Jakub Jelinek [Fri, 17 Aug 2012 07:17:56 +0000 (09:17 +0200)]
invoke.texi (-Wsizeof-pointer-memaccess): Document.
* doc/invoke.texi (-Wsizeof-pointer-memaccess): Document.
c/
* c-tree.h (c_last_sizeof_arg): Declare.
* c-parser.c (struct c_tree_loc_pair): New type.
(c_parser_expr_list): Add sizeof_arg argument. Fill it in if
non-NULL.
(c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
(c_parser_postfix_expression_after_primary): Likewise. Call
sizeof_pointer_memaccess_warning if needed.
(sizeof_ptr_memacc_comptypes): New function.
* c-typeck.c (c_last_sizeof_arg): New global variable.
(c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
cp/
* cp-tree.def (SIZEOF_EXPR): Move to c-common.def.
c-family/
* c-common.c (sizeof_pointer_memaccess_warning): New function.
* c.opt (-Wsizeof-pointer-memaccess): Add new option.
* c-opts.c (c_common_handle_option): Enable it for -Wall.
* c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
* c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
fortran/
* array.c (gfc_match_array_ref): Fix up memset arguments.
testsuite/
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: New test.
From-SVN: r190467
David Edelsohn [Fri, 17 Aug 2012 02:19:04 +0000 (02:19 +0000)]
config.host (*-*-aix*): Move rs6000/t-ibm-ldouble after rs6000/t-slibgcc-aix.
* config.host (*-*-aix*): Move rs6000/t-ibm-ldouble after
rs6000/t-slibgcc-aix.
From-SVN: r190465
Sandra Loosemore [Fri, 17 Aug 2012 00:47:05 +0000 (20:47 -0400)]
2012-08-16 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/mips/mips-dsp.md (mips_dpau_h_qbl, mips_dpau_h_qbr)
(mips_dpsu_h_qbl, mips_dpsu_h_qbr, mips_dpaq_s_w_ph)
(mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph, mips_dpaq_sa_l_w)
(mips_dpsq_sa_l_w, mips_maq_s_w_phl, mips_maq_s_w_phr)
(mips_maq_sa_w_phl, mips_maq_sa_w_phr): Add accum_in attribute.
From-SVN: r190464
Hans-Peter Nilsson [Fri, 17 Aug 2012 00:18:35 +0000 (00:18 +0000)]
re PR middle-end/54261 (reverse sync/atomic operators when only sync_compare_and_swap_optab libfuncs implemented)
PR middle-end/54261
* optabs.c (expand_atomic_fetch_op): Save and restore code when
retrying after failed attempt.
From-SVN: r190463
GCC Administrator [Fri, 17 Aug 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190462
Oleg Endo [Thu, 16 Aug 2012 23:19:45 +0000 (23:19 +0000)]
re PR target/54236 ([SH] Improve addc and subc insn utilization)
PR target/54236
* config/sh/sh.md (addc): Add commutative modifier.
(*addc, *minus_plus_one, *subc, *negc): New insns and splits.
PR target/54236
* gcc.target/sh/pr54236-1.c: New.
From-SVN: r190459
Oleg Endo [Thu, 16 Aug 2012 23:16:53 +0000 (23:16 +0000)]
re PR target/39423 ([SH] performance regression: lost mov @(disp,Rn))
PR target/39423
* config/sh/sh.md (*movsi_index_disp, *movhi_index_disp): Handle
potential T_REG clobber. Convert zero extending split to
insn_and_split.
From-SVN: r190458
Oleg Endo [Thu, 16 Aug 2012 23:13:11 +0000 (23:13 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
* config/sh/sh.md (ashlsi3_d): Do not split if it would result
in a T_REG clobber. Correct comment.
(ashlsi3_n): Correct comment.
From-SVN: r190457
Hans-Peter Nilsson [Thu, 16 Aug 2012 22:42:09 +0000 (22:42 +0000)]
* lib/target-supports.exp (check_effective_target_sync_int_long)
(check_effective_target_sync_char_short): Enable for crisv32-*
and cris-*.
From-SVN: r190456
Hans-Peter Nilsson [Thu, 16 Aug 2012 22:05:32 +0000 (22:05 +0000)]
re PR middle-end/54261 (reverse sync/atomic operators when only sync_compare_and_swap_optab libfuncs implemented)
PR middle-end/54261
* gcc.dg/torture/pr54261-1.c: New test.
From-SVN: r190455
Hans-Peter Nilsson [Thu, 16 Aug 2012 22:03:33 +0000 (22:03 +0000)]
re PR middle-end/54261 (reverse sync/atomic operators when only sync_compare_and_swap_optab libfuncs implemented)
PR middle-end/54261
* optabs.c (expand_atomic_fetch_op): Save and restore code when
retrying after failed attempt.
From-SVN: r190454
Yuri Rumyantsev [Thu, 16 Aug 2012 19:58:11 +0000 (21:58 +0200)]
i386-protos.h (ix86_split_lea_for_addr): Add additional argument.
2012-08-16 Yuri Rumyantsev <ysrumyan@gmail.com>
* config/i386/i386-protos.h (ix86_split_lea_for_addr) : Add
additional argument.
* config/i386/i386.md (ix86_split_lea_for_addr) : Add
additional argument curr_insn.
* config/i386/i386.c (ix86_split_lea_for_addr): Load base or index
register first, depending on their defintion distances.
(ix86_lea_outperforms): Prefer LEA only if split cost exceeds
AGU stall.
(find_nearest_reg-def): New function. Find register with
nearest definition.
From-SVN: r190452
Walter Lee [Thu, 16 Aug 2012 19:54:59 +0000 (19:54 +0000)]
Add a stub header file "feedback.h," needed to compile glibc and linux.
Add a stub header file "feedback.h," needed to compile glibc and
linux.
* config.gcc (tilegx-*-linux*): Add feedback.h.
(tilepro-*-linux*): Likewise.
* config/tilegx/feedback.h: New file.
* config/tilepro/feedback.h: New file.
From-SVN: r190451
Diego Novillo [Thu, 16 Aug 2012 18:24:22 +0000 (14:24 -0400)]
revert: re PR bootstrap/54281 (Fails to bootstrap with --disable-nls)
2012-08-16 Diego Novillo <dnovillo@google.com>
Revert
PR bootstrap/54281
* double-int.h: Move including of gmp.h ...
* system.h: ... here.
* realmpfr.h: Do not include gmp.h.
* tree-ssa-loop-niter.c: Do not include gmp.h.
From-SVN: r190449
Segher Boessenkool [Thu, 16 Aug 2012 14:43:00 +0000 (16:43 +0200)]
darwin.h (TARGET_IEEE_QUAD): Fix comment.
2012-08-16 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/darwin.h (TARGET_IEEE_QUAD): Fix comment.
From-SVN: r190446
Richard Guenther [Thu, 16 Aug 2012 14:27:51 +0000 (14:27 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))
2012-08-16 Richard Guenther <rguenther@suse.de>
PR middle-end/54146
* tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
exit vector.
* ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
* cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
* tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
* tree-into-ssa.c (get_ssa_name_ann): Allocate info only when
needed.
* tree-ssa-loop-im.c (analyze_memory_references): Adjust.
(tree_ssa_lim_finalize): Free all mem_refs.
* tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
scc when bailing out.
* modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
* ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
* graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
FOR_EACH_LOOP_BREAK.
From-SVN: r190445
Diego Novillo [Thu, 16 Aug 2012 13:28:13 +0000 (09:28 -0400)]
re PR bootstrap/54281 (Fails to bootstrap with --disable-nls)
2012-08-16 Diego Novillo <dnovillo@google.com>
PR bootstrap/54281
* double-int.h: Move including of gmp.h ...
* system.h: ... here.
* realmpfr.h: Do not include gmp.h.
* tree-ssa-loop-niter.c: Do not include gmp.h.
fortran/ChangeLog
* gfortran.h: Do not include gmp.h.
From-SVN: r190444
Steven Bosscher [Thu, 16 Aug 2012 10:52:14 +0000 (10:52 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))
PR middle-end/54146
* tree-flow.h (compute_global_livein): Remove prototype.
* tree-into-ssa.c (compute_global_livein): Remove function.
* tree-ssa-loop-manip.c: Include gimple-pretty-print.h.
(find_sibling_superloop): New function.
(compute_live_loop_exits): New function.
(add_exit_phis_edge): Rename to add_exit_phi. Do not allow
inserting a PHI in a block that is not a loop exit for VAR.
Add dumping if TDF_DETAILS.
(add_exit_phis_var): Rewrite.
(add_exit_phis): Update.
(get_loops_exits): Rewrite to return an array of per-loop exits
rather than one bitmap with all loop exits.
(find_uses_to_rename_bb): Ignore virtual PHI nodes.
(rewrite_into_loop_closed_ssa): Update.
From-SVN: r190442
Nick Clifton [Thu, 16 Aug 2012 10:41:44 +0000 (10:41 +0000)]
i386elf.h (ASM_OUTPUT_ASCII): Cast _ascii_bytes before passing it to ASM_OUTPUT_LIMITED_STRING.
* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Cast _ascii_bytes
before passing it to ASM_OUTPUT_LIMITED_STRING.
From-SVN: r190441
Nick Clifton [Thu, 16 Aug 2012 09:56:11 +0000 (09:56 +0000)]
* config/bfin/bfin.c (hwloop_optimize): Fix use of VEC_last macro.
From-SVN: r190440
Nick Clifton [Thu, 16 Aug 2012 09:49:21 +0000 (09:49 +0000)]
t-avr: Replace occurrences of $(CC) with $(COMPILER).
* config/avr/t-avr: Replace occurrences of $(CC) with $(COMPILER).
* config/avr/avr.c (avr_legitimize_reload_address): Add casts
for reload_type enums.
(DEF_BUILTIN): Cast the icode to enum insn_code.
From-SVN: r190439
Sandra Loosemore [Thu, 16 Aug 2012 02:17:19 +0000 (22:17 -0400)]
Revert unintended change from last commit
From-SVN: r190437
Maxim Kuvyrkov [Thu, 16 Aug 2012 02:13:21 +0000 (02:13 +0000)]
Add missing ChangeLog entry for r190406
From-SVN: r190436
Segher Boessenkool [Thu, 16 Aug 2012 01:49:57 +0000 (03:49 +0200)]
longlong.h: (powerpc): Delete _ARCH_PWR and _ARCH_COM handling.
2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
libgcc/
* longlong.h: (powerpc): Delete _ARCH_PWR and _ARCH_COM handling.
From-SVN: r190434
Segher Boessenkool [Thu, 16 Aug 2012 01:36:47 +0000 (03:36 +0200)]
aix43.h (ASM_CPU_SPEC): Use %(asm_default) instead of -mppc.
2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
gcc/
* config/rs6000/aix43.h (ASM_CPU_SPEC): Use %(asm_default)
instead of -mppc.
* config/rs6000/aix51.h (ASM_CPU_SPEC): Ditto.
From-SVN: r190433
Segher Boessenkool [Thu, 16 Aug 2012 01:34:27 +0000 (03:34 +0200)]
aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
gcc/
* config/rs6000/aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
(RS6000_CALL_GLUE): Adjust for single assembler syntax.
* config/rs6000/aix51.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
Ditto.
* config/rs6000/aix52.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
Ditto.
* config/rs6000/aix53.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
Ditto.
* config/rs6000/aix61.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
Ditto.
* config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
* config/rs6000/darwin.md (whole file): Adjust to single
assembler syntax.
* config/rs6000/darwin64.h (TARGET_DEFAULT): Delete
MASK_NEW_MNEMONICS.
* config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
* config/rs6000/dfp.md: (whole file): Adjust to single
assembler syntax.
* config/rs6000/eabi.h (TARGET_DEFAULT): Delete
MASK_NEW_MNEMONICS.
* config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
* config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
* config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
* config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
* config/rs6000/rs6000-cpus.def (whole file): Delete
POWERPC_BASE_MASK.
* config/rs6000/rs6000-tables.opt: Regenerate.
* config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete.
(num_insns_constant_wide): Adjust comments.
(whole file): Adjust to single assembler syntax.
(output_cbranch): Adjust comment.
* config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Delete.
* config/rs6000/rs6000.md: (whole file): Adjust to single
assembler syntax.
* config/rs6000/rs6000.opt (mnew-mnemonics): Delete.
(mold-mnemonics): Delete.
* config/rs6000/spe.md: (whole file): Adjust to single
assembler syntax.
* config/rs6000/sync.md: (whole file): Adjust to single
assembler syntax.
* config/rs6000/sysv4.h (TARGET_DEFAULT): Delete
MASK_NEW_MNEMONICS.
(ASM_OUTPUT_REG_PUSH): Adjust.
(ASM_OUTPUT_REG_POP): Adjust.
* config/rs6000/sysv4le.h (TARGET_DEFAULT): Delete
MASK_NEW_MNEMONICS.
* config/rs6000/vsx.md: (whole file): Adjust to single
assembler syntax.
* config/rs6000/vxworks.h (TARGET_DEFAULT): Delete
MASK_NEW_MNEMONICS.
* doc/invoke.texi: Adjust documentation to reflect the
removal of -mnew-mnemonics and -mold-mnemonics.
libgcc/
* longlong.h: (whole file, powerpc): Adjust to single assembler syntax.
From-SVN: r190432
Segher Boessenkool [Thu, 16 Aug 2012 01:18:01 +0000 (03:18 +0200)]
rs6000-common.c (rs6000_handle_option): Delete handling for -mno-powerpc and -mpowerpc.
2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
gcc/
* common/config/rs6000/rs6000-common.c (rs6000_handle_option):
Delete handling for -mno-powerpc and -mpowerpc.
* config/rs6000/aix43.h (ASM_CPU_SPEC): Similar.
(ASM_DEFAULT_SPEC): Use -mppc instead of -mcom.
* config/rs6000/aix51.h (ASM_CPU_SPEC, ASM_DEFAULT_SPEC): Ditto.
* config/rs6000/aix52.h (TARGET_DEFAULT): Delete MASK_POWERPC.
* config/rs6000/aix53.h (TARGET_DEFAULT): Ditto.
* config/rs6000/aix61.h (TARGET_DEFAULT): Ditto.
* config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
* config/rs6000/darwin64.h (TARGET_DEFAULT): Ditto.
* config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
* config/rs6000/driver-rs6000.c (asm_names): Delete handling
for -mcpu=common and -mpowerpc.
* config/rs6000/eabi.h (TARGET_DEFAULT): Delete MASK_POWERPC.
* config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
* config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
* config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
* config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
* config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING):
Use RS6000_BTM_ALWAYS instead of RS6000_BTM_POWERPC.
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
Adjust.
(rs6000_cpu_cpp_builtins): Adjust.
* config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete MASK_POWERPC.
(rs6000_builtin_mask_calculate): Adjust.
(rs6000_emit_move): Delete code for ! TARGET_POWERPC.
(rs6000_init_libfuncs): Ditto.
(rs6000_output_function_prologue): Ditto.
(rs6000_opt_masks): Delete MASK_POWERPC.
(rs6000_builtin_mask_names): Delete RS6000_BTM_POWERPC.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete handling for
-mpowerpc.
(RS6000_BTM_POWERPC): Delete.
(RS6000_BTM_COMMON): Delete RS6000_BTM_POWERPC.
* config/rs6000/rs6000.md (extendqisi2 patterns): Adjust for
TARGET_POWERPC always on.
(extendqihi2 patterns): Similar.
(various unnamed subtract patterns): Similar.
(bswaphi2 patterns): Similar.
(divmodsi4): Similar.
(udiv<GPR:mode>3): Similar.
(div<GPR:mode>3 patterns): Similar.
(udivmodsi4): Similar.
(mulhcall): Delete.
(mullcall): Delete.
(divss_call): Delete.
(divus_call): Delete.
(quoss_call): Delete.
(quous_call): Delete.
(insvsi patterns): Adjust.
(addsf3 patterns): Adjust.
(subsf3 patterns): Adjust.
(mulsf3 patterns): Adjust.
(divsf3 patterns): Adjust.
(*fmasf4_fpr): Adjust.
(*fmssf4_fpr): Adjust.
(*nfmasf4_fpr): Adjust.
(*nfmssf4_fpr): Adjust.
(*floatunssidf2_internal): Adjust.
(fix_trunc<SFDF:mode>si2_internal): Adjust.
(fctiwz_<SFDF:mode>): Adjust.
(mulsidi3 patterns): Adjust.
(smulsi3_highpart patterns): Adjust.
(umulsi3_highpart patterns): Adjust.
(fix_trunctfsi2 patterns): Adjust.
(prefetch): Adjust.
* config/rs6000/rs6000.opt (mpowerpc): Replace by stub option.
(mno-powerpc): Delete.
* config/rs6000/sync.md (load_locked<ATOMIC:mode>): Adjust.
(store_conditional<ATOMIC:mode>): Adjust.
(atomic_compare_and_swap<ATOMIC:mode>): Adjust.
(atomic_exchange<ATOMIC:mode>): Adjust.
(atomic_<fetchop_name><ATOMIC:mode>): Adjust.
(atomic_nand<ATOMIC:mode>): Adjust.
(atomic_fetch_<fetchop_name><ATOMIC:mode>): Adjust.
(atomic_fetch_nand<ATOMIC:mode>): Adjust.
(atomic_<fetchop_name>_fetch<ATOMIC:mode>): Adjust.
(atomic_nand_fetch<ATOMIC:mode>): Adjust.
* config/rs6000/sysv4.h (TARGET_DEFAULT): Delete MASK_POWERPC.
* config/rs6000/sysv4le.h (TARGET_DEFAULT): Ditto.
* config/rs6000/vxworks.h (TARGET_DEFAULT): Ditto.
* doc/invoke.texi: Adjust documentation.
From-SVN: r190430
Segher Boessenkool [Thu, 16 Aug 2012 01:01:30 +0000 (03:01 +0200)]
rs6000.h (RS6000_BTM_ALWAYS): New.
2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
gcc/
* config/rs6000/rs6000.h (RS6000_BTM_ALWAYS): New.
From-SVN: r190429
Segher Boessenkool [Thu, 16 Aug 2012 01:00:05 +0000 (03:00 +0200)]
aix52.h (ASM_CPU_SPEC): Fix typo.
2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
gcc/
* config/rs6000/aix52.h (ASM_CPU_SPEC): Fix typo.
* config/rs6000/aix53.h (ASM_CPU_SPEC): Ditto.
* config/rs6000/aix61.h (ASM_CPU_SPEC): Ditto.
* config/rs6000/driver-rs6000.c (asm_names): Ditto.
From-SVN: r190428
Segher Boessenkool [Thu, 16 Aug 2012 00:57:37 +0000 (02:57 +0200)]
re PR target/54142 (ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`))
2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
gcc/
PR target/54142
* config/rs6000/driver-rs6000.c (asm_names): Use %(asm_default)
instead of -mcom.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Ditto.
From-SVN: r190427
GCC Administrator [Thu, 16 Aug 2012 00:18:24 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190426
Sandra Loosemore [Wed, 15 Aug 2012 23:56:52 +0000 (19:56 -0400)]
MIPS Technologies, Inc.
2012-08-15 Sandra Loosemore <sandra@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
Julian Brown <julian@codesourcery.com>
MIPS Technologies, Inc.
gcc/
* config/mips/mips.md (dspmac, dspmacsat, accext, accmod, dspalu)
(dspalusat): Add insn types.
* config/mips/mips-dsp.md (add<DSPV:mode>3)
(mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>)
(sub<DSPV:mode>3, mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc)
(mips_addwc, mips_modsub, mips_raddu_w_qb, mips_absq_s_<DSPQ:dspfmt2>)
(mips_precrq_qb_ph, mips_precrq_ph_w, mips_precrq_rs_ph_w)
(mips_precrqu_s_qb_ph, mips_preceq_w_phl, mips_preceq_w_phr)
(mips_precequ_ph_qbl, mips_precequ_ph_qbr, mips_precequ_ph_qbla)
(mips_precequ_ph_qbra, mips_preceu_ph_qbl, mips_preceu_ph_qbr)
(mips_preceu_ph_qbla, mips_preceu_ph_qbra, mips_shll_<DSPV:dspfmt2>)
(mips_shll_s_<DSPQ:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>, mips_shrl_qb)
(mips_shra_ph, mips_shra_r_<DSPQ:dspfmt2>, mips_bitrev, mips_insv)
(mips_repl_qb, mips_repl_ph)
(mips_cmp<DSPV:dspfmt1_1>_eq_<DSPV:dspfmt2>)
(mips_cmp<DSPV:dspfmt1_1>_lt_<DSPV:dspfmt2>)
(mips_cmp<DSPV:dspfmt1_1>_le_<DSPV:dspfmt2>, mips_cmpgu_eq_qb)
(mips_cmpgu_lt_qb, mips_cmpgu_le_qb, mips_pick_<DSPV:dspfmt2>)
(mips_packrl_ph, mips_wrdsp, mips_rddsp): Change type to dspalu.
(mips_dpau_h_qbl, mips_dpau_h_qbr, mips_dpsu_h_qbl, mips_dpsu_h_qbr)
(mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph)
(mips_maq_s_w_phl, mips_maq_s_w_phr, mips_maq_sa_w_phr): Set type to
dspmac.
(mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_sa_w_phl): Set type to
dspmacsat.
(mips_extr_w, mips_extr_r_w, mips_extr_rs_w, mips_extp, mips_extpdp):
Set type to accext.
(mips_shilo, mips_mthlip): Set type to accmod.
* config/mips/mips-dspr2.md (mips_absq_s_qb, mips_addu_s_ph)
(mips_adduh_r_qb): Set type to dspalusat.
(mips_addu_ph, mips_adduh_qb, mips_append, mips_balign)
(mips_cmpgdu_eq_qb, mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb)
(mips_precr_qb_ph, mips_precr_sra_ph_w, mips_precr_sra_r_ph_w)
(mips_prepend, mips_shra_qb, mips_shra_r_qb, mips_shrl_ph)
(mips_subu_ph, mips_subuh_qb, mips_subuh_r_qb, mips_addqh_ph)
(mips_addqh_r_ph, mips_addqh_w, mips_addqh_r_w, mips_subqh_ph)
(mips_subqh_r_ph, mips_subqh_w, mips_subqh_r_w): Set type to dspalu.
(mips_dpa_w_ph, mips_dps_w_ph, mips_mulsa_w_ph, mips_dpax_w_ph)
(mips_dpsx_w_ph, mips_dpaqx_s_w_ph, mips_dpsqx_s_w_ph): Set type to
dspmac. Set accum_in attribute.
(mips_subu_s_ph): Set type to dspalusat.
(mips_dpaqx_sa_w_ph, mips_dpsqx_sa_w_ph): Set type to dspmacsat.
Set accum_in attribute.
* config/mips/mips-protos.h (mips_dspalu_bypass_p): Add prototype.
* config/mips/mips.c (dspalu_bypass_table): New.
(mips_dspalu_bypass_p): New.
* config/mips/24k.md (r24k_dsp_alu, r24k_dsp_mac, r24k_dsp_mac_sat)
(r24k_dsp_acc_ext, r24k_dsp_acc_mod): New insn reservations.
(r24k_int_mult, r24k_int_mthilo, r24k_dsp_mac, r24k_dsp_mac_sat)
(r24k_dsp_acc_ext, r24k_dsp_acc_mod, r24k_dsp_alu): New bypasses.
* config/mips/74k.md (r74k_dsp_alu, r74k_dsp_alu_sat, r74k_dsp_mac)
(r74k_dsp_mac_sat, r74k_dsp_acc_ext, r74k_dsp_acc_mod): New insn
reservations.
(r74k_dsp_mac, r74k_dsp_mac_sat, r74k_int_mult, r74k_int_mul3)
(r74k_dsp_mac, r74k_dsp_mac_sat): New bypasses.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r190423
Ulrich Weigand [Wed, 15 Aug 2012 22:15:44 +0000 (22:15 +0000)]
spu.c: Include "cfgloop.h".
* config/spu/spu.c: Include "cfgloop.h".
(spu_machine_dependent_reorg): Call loop_optimizer_init and
loop_optimizer_finalize. Use bb_loop_depth instead of loop_depth.
Directly compare loop_father values where appropriate.
* config/spu/t-spu-elf (spu.o): Update dependencies.
From-SVN: r190421
Janus Weil [Wed, 15 Aug 2012 22:11:03 +0000 (00:11 +0200)]
re PR fortran/54243 ([OOP] ICE (segfault) in gfc_type_compatible for invalid BT_CLASS)
2012-08-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/54243
PR fortran/54244
* resolve.c (check_typebound_baseobject): Check for class_ok attribute.
(resolve_procedure_interface,resolve_fl_derived0): Copy class_ok
attribute.
2012-08-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/54243
PR fortran/54244
* gfortran.dg/typebound_call_24.f03: New.
From-SVN: r190420
Eric Botcazou [Wed, 15 Aug 2012 20:56:21 +0000 (20:56 +0000)]
Add missing entry for merge from cxx-conversion branch.
From-SVN: r190419
Tom Tromey [Wed, 15 Aug 2012 18:37:30 +0000 (18:37 +0000)]
cxx11.cc (struct datum): New.
* testsuite/libstdc++-prettyprinters/cxx11.cc (struct datum):
New.
(global): New global.
(main): Add test for unique_ptr.
* python/libstdcxx/v6/printers.py
(UniquePointerPrinter.to_string): Extract the pointer and also
print its type.
From-SVN: r190417
H.J. Lu [Wed, 15 Aug 2012 16:59:04 +0000 (16:59 +0000)]
Add $(TARGET_H) dependency to tree-cfg.o
* Makefile.in (tree-cfg.o): Also depend on $(TARGET_H).
From-SVN: r190416
Bill Schmidt [Wed, 15 Aug 2012 13:27:29 +0000 (13:27 +0000)]
re PR tree-optimization/54245 (incorrect optimisation)
gcc:
2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/54245
* gimple-ssa-strength-reduction.c (legal_cast_p_1): New function.
(legal_cast_p): Split out logic to legal_cast_p_1.
(analyze_increments): Avoid introducing multiplies in smaller types.
gcc/testsuite:
2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/54245
* gcc.dg/tree-ssa/pr54245.c: New test.
From-SVN: r190412
Bill Schmidt [Wed, 15 Aug 2012 13:17:42 +0000 (13:17 +0000)]
re PR tree-optimization/54240 (Routine hoist_adjacent_loads does not work properly after r189366)
gcc:
2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/54240
* tree-ssa-phiopt.c (hoist_adjacent_loads): Correct test for
existence of conditional move with given mode.
gcc/testsuite:
2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/54240
* gcc.target/powerpc/pr54240.c: New test.
* gcc.target/mips/pr54240.c: Likewise.
From-SVN: r190411