platform/upstream/linaro-gcc.git
11 years ago * tree-vect-loop.c (vect_transform_loop): Initialize
jakub [Wed, 22 Aug 2012 13:00:13 +0000 (13:00 +0000)]
* tree-vect-loop.c (vect_transform_loop): Initialize
check_profitability to false.

* tree-predcom.c (try_combine_chains): Free the worklist vector
at the end.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190592 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-22 Marc Glisse <marc.glisse@inria.fr>
glisse [Wed, 22 Aug 2012 12:29:23 +0000 (12:29 +0000)]
2012-08-22  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/54317

gcc/
* tree-vrp.c (extract_range_from_binary_expr_1): Test for
double_int overflow.
Remove dead tests.

gcc/testsuite/
* gcc.dg/tree-ssa/vrp79.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190591 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-vrp.c (find_assert_locations): Skip also edges
jakub [Wed, 22 Aug 2012 09:19:39 +0000 (09:19 +0000)]
* tree-vrp.c (find_assert_locations): Skip also edges
from the entry block.

* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Call
free_stmt_vec_info on orig_cond after gsi_removing it.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Always
free body_cost_vec vector.
(vect_analyze_data_refs): If gather is unsuccessful,
free_data_ref (dr).
* tree-inline.c (tree_function_versioning): Free
old_transforms_to_apply vector.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190590 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents
steven [Wed, 22 Aug 2012 08:59:56 +0000 (08:59 +0000)]
* tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents
of this a VEC and add a bitmap obstack.
(ssa_conflicts_new): Allocate the obstack and grow the VEC cleared
to the right size.
(ssa_conflicts_delete): Free the VEC and release the obstack.
(ssa_conflicts_test_p, ssa_conflicts_test_p, ssa_conflicts_add_one,
ssa_conflicts_merge, ssa_conflicts_dump): Update for above changes.
(truct live_track_d): Add another bitmap obstack here.
(new_live_track): Initialize it and use it for all bitmaps.
(delete_live_track): Don't free the bitmaps one at a time, just
release the obstack.
(create_outofssa_var_map): Fix to conform to GCC code style rules.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190589 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * Makefile.in (vis_hide, gen-hide-list): Do not make definitions
jsm28 [Wed, 22 Aug 2012 08:36:23 +0000 (08:36 +0000)]
* Makefile.in (vis_hide, gen-hide-list): Do not make definitions
depend on --enable-shared.
($(lib1asmfuncs-o)): Use %.vis files independent of
--enable-shared.
* static-object.mk ($(base)$(objext), $(base).vis)
($(base)_s$(objext)): Use same rules for visibility handling as in
shared-object.mk.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190588 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-22 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 22 Aug 2012 05:54:24 +0000 (05:54 +0000)]
2012-08-22  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (gfc_copy_class_to_class,
        gfc_trans_arrayfunc_assign): Free loop and ss data.
        * trans-intrinsic.c (gfc_trans_arrayfunc_assign): Free ss data.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190586 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/m32c/constraints.md: New file.
froydnj [Wed, 22 Aug 2012 02:23:19 +0000 (02:23 +0000)]
* config/m32c/constraints.md: New file.
* config/m32c/t-m32c (MD_FILES): Add constraints.
* config/m32c/m32c-protos.h (m32c_const_ok_for_constraint_p): Delete.
(m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
(m32c_reg_class_from_constraint): Delete.
(m32c_extra_constraint_p, m32c_extra_constraint_p2): Delete.
(m32c_matches_constraint_p): Declare.
* config/m32c/m32c.h (CONSTRAINT_LEN): Delete.
(REG_CLASS_FROM_CONSTRAINT): Delete.
(CONST_OK_FOR_CONSTRAINT_P): Delete.
(CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Delete.
(EXTRA_CONSTRAINT_STR): Delete.
(EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Delete.
* config/m32c/m32c.c: Include tm-constrs.h
(m32c_reg_class_from_constraint): Delete.
(m32c_const_ok_for_constraint_p): Delete.
(m32c_extra_constraint_p2): Rename to...
(m32c_matches_constraint_p): ...this.  Make it return bool.  Tweak
formatting.
(m32c_extra_constraint_p): Delete.
(m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
(m32c_split_move): Use satisfies_constraint_Ss.
* config/m32c/predicates.md (memsym_operand): Use
satisfies_constraint_Si.
(memimmed_operand): Use satisfies_constraint_Sp.
(m32c_psi_scale, m32c_1bit8_operand): Use satisfies_constraint_Ilb.
(m32c_1bit16_operand): Use satisfies_constraint_Ilw.
(m32c_1mask8_operand): Use satisfies_constraint_ImB.
(m32c_1mask16_operand): Use satisfies_constraint_Imw.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190585 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
froydnj [Wed, 22 Aug 2012 02:21:17 +0000 (02:21 +0000)]
* config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
(CONSTRAINT_LEN, EXTRA_CONSTRAINT): Delete.
* config/mep/mep.c (mep_reg_class_from_constraint): Delete.
(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
* config/mep/mep-protos.h (mep_reg_class_from_constraint): Delete.
(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190584 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Wed, 22 Aug 2012 00:18:07 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190583 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/sh/sh.md (cmpeqdi_t, cmpgtdi_t, cmpgedi_t, cmpgeudi_t,
olegendo [Tue, 21 Aug 2012 23:38:47 +0000 (23:38 +0000)]
* config/sh/sh.md (cmpeqdi_t, cmpgtdi_t, cmpgedi_t, cmpgeudi_t,
cmpgtudi_t, *movsicc_t_false, *movsicc_t_true, divsi_inv20, negsi_cond,
truncdihi2, ic_invalidate_line_i, ic_invalidate_line_sh4a,
ic_invalidate_line_media, movdf_i4, calli_pcrel, call_valuei,
call_valuei_pcrel, sibcalli_pcrel, sibcall_compact,
sibcall_valuei_pcrel, sibcall_value_compact, casesi_worker_1,
casesi_worker_2, bandreg_m2a, borreg_m2a, bxorreg_m2a, sp_switch_1,
sp_switch_2, stack_protect_set_si, stack_protect_set_si_media,
stack_protect_set_di_media, stack_protect_test_si,
stack_protect_test_si_media, stack_protect_test_di_media): Convert to
multi-line asm output strings.
(divsi_inv_qitable, divsi_inv_hitable): Use single-alternative asm
output.
(*andsi3_bclr, rotldi3_mextr, rotrdi3_mextr, calli, call_valuei_tbr_rel,
movml_push_banked, movml_pop_banked, bclr_m2a, bclrmem_m2a, bset_m2a,
bsetmem_m2a, bst_m2a, bld_m2a, bldsign_m2a, bld_reg, *bld_regqi,
band_m2a, bor_m2a, bxor_m2a, mextr_rl, *mextr_lr, ): Use tab char
instead of '\\t'.
(iordi3): Use braced string.
(*movsi_pop): Use tab chars instead of spaces.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190580 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/39423
olegendo [Tue, 21 Aug 2012 23:34:54 +0000 (23:34 +0000)]
PR target/39423
* config/sh/sh.md (*movhi_index_disp): Add support for SH2A movu.w insn.

PR target/39423
* gcc.target/sh/pr39423-2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190579 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoRestore df_free_collection_rec call in df_bb_verify
hjl [Tue, 21 Aug 2012 21:07:01 +0000 (21:07 +0000)]
Restore df_free_collection_rec call in df_bb_verify

PR middle-end/54332
* df-scan.c (df_bb_verify): Restore df_free_collection_rec call
inside the insn traversal loop.

* vec.h (vec_reserve): Remove the stack allocation check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190576 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-21 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 21 Aug 2012 21:01:36 +0000 (21:01 +0000)]
2012-08-21  Tobias Burnus  <burnus@net-b.de>

        * parse.c (parse_contained): Include EXEC_END_PROCEDURE
        in ns->code to make sure the gfc_code is freed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190575 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/morestack.S (__morestack_non_split): Increase amount
ian [Tue, 21 Aug 2012 20:51:42 +0000 (20:51 +0000)]
* config/i386/morestack.S (__morestack_non_split): Increase amount
of space allocated for non-split code stack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190574 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-21 Marc Glisse <marc.glisse@inria.fr>
glisse [Tue, 21 Aug 2012 13:27:00 +0000 (13:27 +0000)]
2012-08-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* fold-const.c (fold_ternary_loc): Detect identity permutations.
Canonicalize permutations more.
* tree-ssa-forwprop.c (is_combined_permutation_identity): New function.
(simplify_permutation): Likewise.
(ssa_forward_propagate_and_combine): Call it.

gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-19.c: New testcase.
* gcc.dg/fold-perm.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190561 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-21 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 21 Aug 2012 11:48:42 +0000 (11:48 +0000)]
2012-08-21  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
the affine expansion cache.
* tree-ssa-dom.c (free_expr_hash_elt_contents): New function,
split out from ...
(free_expr_hash_elt): ... this one.
(record_cond): Properly free a not needed hashtable element.
(lookup_avail_expr): Likewise.
* tree-into-ssa.c (init_ssa_renamer): Specify a free function
for the var_infos hashtable.
(update_ssa): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190560 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-21 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 21 Aug 2012 11:26:16 +0000 (11:26 +0000)]
2012-08-21  Richard Guenther  <rguenther@suse.de>

* alloc-pool.c (pool_alloc): Fix valgrind annotation.
* tree.h: Fix typo and complete flags documentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190559 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-21 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 21 Aug 2012 10:03:38 +0000 (10:03 +0000)]
2012-08-21  Richard Guenther  <rguenther@suse.de>

cp/
* cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
(ATTR_IS_DEPENDENT): Likewise.
(ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of
TREE_LANG_FLAG_0 on TREE_VECs.

* tree.h (struct tree_base): Add union to make it possible to
re-use the upper 4 bytes for tree codes that do not need as
many flags as others.  Move visited and default_def_flag to
common bits section in exchange for saturating_flag and
unsigned_flag.  Add SSA name version and tree vec length
fields here.
(struct tree_vec): Remove length field here.
(struct tree_ssa_name): Remove version field here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190558 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * MAINTAINERS (Write After Approval): Add myself.
hariharans [Tue, 21 Aug 2012 09:59:59 +0000 (09:59 +0000)]
    * MAINTAINERS (Write After Approval): Add myself.
        (picochip port): Remove myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190557 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR fortran/48636
hubicka [Tue, 21 Aug 2012 06:54:01 +0000 (06:54 +0000)]
PR fortran/48636
* ipa-inline.c (want_inline_small_function_p): Take loop_iterations hint.
(edge_badness): Likewise.
* ipa-inline.h (inline_hints_vals): Add INLINE_HINT_loop_iterations.
(inline_summary): Add loop_iterations.
* ipa-inline-analysis.c: Include tree-scalar-evolution.h.
(dump_inline_hints): Dump loop_iterations.
(reset_inline_summary): Free loop_iterations.
(inline_node_duplication_hook): Update loop_iterations.
(dump_inline_summary): Dump loop_iterations.
(will_be_nonconstant_expr_predicate): New function.
(estimate_function_body_sizes): Analyze loops.
(estimate_node_size_and_time): Set hint loop_iterations.
(inline_merge_summary): Merge loop iterations.
(inline_read_section): Stream in loop_iterations.
(inline_write_summary): Stream out loop_iterations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190556 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agomksysinfo: Fix syscall.F_GETLK and friends for 32-bit x86.
ian [Tue, 21 Aug 2012 05:29:30 +0000 (05:29 +0000)]
mksysinfo: Fix syscall.F_GETLK and friends for 32-bit x86.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190554 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Tue, 21 Aug 2012 00:18:14 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190552 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago Fix PR numbers for ChangeLog entries.
olegendo [Mon, 20 Aug 2012 21:25:17 +0000 (21:25 +0000)]
Fix PR numbers for ChangeLog entries.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190547 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix PR C++/19351: integer overflow in operator new[]
fw [Mon, 20 Aug 2012 21:13:23 +0000 (21:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190546 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/50489
olegendo [Mon, 20 Aug 2012 20:54:20 +0000 (20:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190545 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/51244
olegendo [Mon, 20 Aug 2012 20:51:06 +0000 (20:51 +0000)]
PR target/51244
* config/sh/sh.md (*cset_zero): New insns.

PR target/51244
* gcc.target/sh/pr51244-11.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190544 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agodwarf2out.c: For DWARF 4+, output DW_AT_high_pc as constant offset.
mark [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190543 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-20 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 20 Aug 2012 19:49:46 +0000 (19:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190542 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/54294
jakub [Mon, 20 Aug 2012 18:56:49 +0000 (18:56 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190541 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.
ebotcazou [Mon, 20 Aug 2012 18:50:13 +0000 (18:50 +0000)]
* config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190540 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Mon, 20 Aug 2012 17:38:53 +0000 (17:38 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190538 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
pmarlier [Mon, 20 Aug 2012 16:22:17 +0000 (16:22 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190536 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix -ftime-report for C++ lookup.
dnovillo [Mon, 20 Aug 2012 14:23:32 +0000 (14:23 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190535 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-ssa/54295
rearnsha [Mon, 20 Aug 2012 14:13:16 +0000 (14:13 +0000)]
PR tree-ssa/54295
* tree-ssa-math-opts.c (is_widening_mult_rhs_p): Delete rhs_code
declaration and setter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190534 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-ssa/54295
rearnsha [Mon, 20 Aug 2012 12:49:47 +0000 (12:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190533 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * configure.ac (ffs): Check for declaration.
jsm28 [Mon, 20 Aug 2012 12:31:25 +0000 (12:31 +0000)]
* configure.ac (ffs): Check for declaration.
* configure, config.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190532 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-20 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 20 Aug 2012 12:04:38 +0000 (12:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190531 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.target/arm/thumb-16bit-ops.c (f): This test uses a 16-bit
rearnsha [Mon, 20 Aug 2012 10:57:45 +0000 (10:57 +0000)]
* gcc.target/arm/thumb-16bit-ops.c (f): This test uses a 16-bit
add instruction.
(f2): New test that really does need adds.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190530 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-20 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 20 Aug 2012 10:27:37 +0000 (10:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190529 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-20 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 20 Aug 2012 10:26:45 +0000 (10:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190528 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/54321
jakub [Mon, 20 Aug 2012 09:12:05 +0000 (09:12 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190526 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-20 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 20 Aug 2012 09:03:20 +0000 (09:03 +0000)]
2012-08-20  Richard Guenther  <rguenther@suse.de>

* gimple.h (gimple_statement_base): Annotate with GTY chain_next.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190525 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-20 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 20 Aug 2012 07:49:41 +0000 (07:49 +0000)]
2012-08-20  Richard Guenther  <rguenther@suse.de>

PR bootstrap/54326
* genoutput.c (note_constraint): Properly use CONST_CAST.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190524 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-20 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 20 Aug 2012 05:47:46 +0000 (05:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190522 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Mon, 20 Aug 2012 00:17:46 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190521 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ChangeLog: Remove entry that shouldn't be there.
jbglaw [Sun, 19 Aug 2012 19:15:45 +0000 (19:15 +0000)]
* ChangeLog: Remove entry that shouldn't be there.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190518 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc
jsm28 [Sun, 19 Aug 2012 15:11:40 +0000 (15:11 +0000)]
* crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc
even if inhibit_libc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190517 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
tkoenig [Sun, 19 Aug 2012 15:05:41 +0000 (15:05 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190516 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * layout.adb (Set_Elem_Alignment): Cap the alignment of access types
ebotcazou [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 non-strict-alignment platforms.
* gcc-interface/utils.c (finish_fat_pointer_type): Do not set the
alignment for non-strict-alignment platforms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190515 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper
ebotcazou [Sun, 19 Aug 2012 14:07:58 +0000 (14:07 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190514 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agocp/
mikael [Sun, 19 Aug 2012 10:03:10 +0000 (10:03 +0000)]
cp/
* Make-lang.in: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190513 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ChangeLog: Fix whitespace.
jbglaw [Sun, 19 Aug 2012 08:31:25 +0000 (08:31 +0000)]
* ChangeLog: Fix whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190512 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54306
nickc [Sun, 19 Aug 2012 07:11:35 +0000 (07:11 +0000)]
PR target/54306
* config/arm/mmintrin.h: Remove spurious #endif.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190511 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/avr/avr-log.c (avr_log_vadump): Properly use
denisc [Sun, 19 Aug 2012 06:15:03 +0000 (06:15 +0000)]
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190510 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR lto/45375
hubicka [Sun, 19 Aug 2012 05:55:20 +0000 (05:55 +0000)]
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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190509 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sun, 19 Aug 2012 00:17:52 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190508 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/53823
danglin [Sat, 18 Aug 2012 23:16:53 +0000 (23:16 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190505 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd the working testcase from PR fortran/39290.
mikael [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190504 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * sparseset.c (sparseset_alloc): Use non-clearing allocation. Tell
steven [Sat, 18 Aug 2012 13:44:00 +0000 (13:44 +0000)]
* sparseset.c (sparseset_alloc): Use non-clearing allocation.  Tell
valgrind not to worry about reading from unitialized memory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190503 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54313
steven [Sat, 18 Aug 2012 10:35:36 +0000 (10:35 +0000)]
PR middle-end/54313
* dse.c (dse_step7): Don't free kill_on_calls bitmap, it is
freed when its obstack is release.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190502 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-18 Andrew Pinski <pinskia@gmail.com>
pinskia [Sat, 18 Aug 2012 08:24:06 +0000 (08:24 +0000)]
2012-08-18  Andrew Pinski  <pinskia@gmail.com>

* alloc-pool.c (pool_alloc): Add valgrind markers.
(pool_free): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190501 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDefine stubs for feedback instrumentation.
walt [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190499 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sat, 18 Aug 2012 00:18:18 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190498 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago* floatformat.c (floatformat_to_double): Correctly handle numbers
schwab [Fri, 17 Aug 2012 21:56:48 +0000 (21:56 +0000)]
* floatformat.c (floatformat_to_double): Correctly handle numbers
between 1 and 2.  Simplify handling of denormal number.
(main): Test with 1.1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190493 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDefine MAX_FIXED_MODE_SIZE/TARGET_MEMBER_TYPE_FORCES_BLK for i386
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190492 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-17 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 17 Aug 2012 17:53:57 +0000 (17:53 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190490 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoConvert MEMBER_TYPE_FORCES_BLK to target hook
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190488 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-17 Diego Novillo <dnovillo@google.com>
dnovillo [Fri, 17 Aug 2012 15:37:57 +0000 (15:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190487 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago libgcc/
jules [Fri, 17 Aug 2012 15:06:06 +0000 (15:06 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190483 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago* config/m68k/linux-atomic.c (__sync_lock_test_and_set_1): Fix
schwab [Fri, 17 Aug 2012 12:33:09 +0000 (12:33 +0000)]
* config/m68k/linux-atomic.c (__sync_lock_test_and_set_1): Fix
type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190480 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-17 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 17 Aug 2012 10:49:30 +0000 (10:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190479 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/fr30/fr30.md (cbranchsi4): Remove mode from
nickc [Fri, 17 Aug 2012 10:27:10 +0000 (10:27 +0000)]
* config/fr30/fr30.md  (cbranchsi4): Remove mode from
comparison.
(branch_true): Likewise.
(branch_false): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190478 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/mcore/mcore.md (cbranchsi4): Remove mode from
nickc [Fri, 17 Aug 2012 09:58:53 +0000 (09:58 +0000)]
* config/mcore/mcore.md (cbranchsi4): Remove mode from
comparison.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190477 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/iq2000/iq2000.md (cbranchsi4): Remove mode from
nickc [Fri, 17 Aug 2012 09:54:51 +0000 (09:54 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190476 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54146
steven [Fri, 17 Aug 2012 09:42:06 +0000 (09:42 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190475 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/mep/t-mep (mep-pragma.o): Use $(COMPILER) to compile
nickc [Fri, 17 Aug 2012 09:16:29 +0000 (09:16 +0000)]
* config/mep/t-mep (mep-pragma.o): Use $(COMPILER) to compile
mep-pragma.c.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190474 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/avr/t-avr (gen-avr-mmcu-texi): Use $(CC) to compile
gjl [Fri, 17 Aug 2012 09:09:44 +0000 (09:09 +0000)]
* config/avr/t-avr (gen-avr-mmcu-texi): Use $(CC) to compile
gen-avr-mmcu-texi.c.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190473 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * arm.md (arm_addsi3): New variant for Thumb2 16-bit ADD instruction.
rearnsha [Fri, 17 Aug 2012 08:50:29 +0000 (08:50 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190472 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-17 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 17 Aug 2012 08:03:54 +0000 (08:03 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190471 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-17 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 17 Aug 2012 07:53:05 +0000 (07:53 +0000)]
2012-08-17  Richard Guenther  <rguenther@suse.de>

* params.def (integer-share-limit): Decrease from 256 to 251,
add rationale.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190470 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-17 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 17 Aug 2012 07:51:31 +0000 (07:51 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190469 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/rs6000/rs6000.c (macho_branch_islands): Adjust for changes
iains [Fri, 17 Aug 2012 07:30:24 +0000 (07:30 +0000)]
* config/rs6000/rs6000.c (macho_branch_islands): Adjust for changes
to vec.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190468 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/invoke.texi (-Wsizeof-pointer-memaccess): Document.
jakub [Fri, 17 Aug 2012 07:17:56 +0000 (07:17 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190467 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config.host (*-*-aix*): Move rs6000/t-ibm-ldouble after
dje [Fri, 17 Aug 2012 02:19:04 +0000 (02:19 +0000)]
    * config.host (*-*-aix*): Move rs6000/t-ibm-ldouble after
        rs6000/t-slibgcc-aix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190465 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-16 Sandra Loosemore <sandra@codesourcery.com>
sandra [Fri, 17 Aug 2012 00:47:05 +0000 (00:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190464 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54261
hp [Fri, 17 Aug 2012 00:18:35 +0000 (00:18 +0000)]
PR middle-end/54261
* optabs.c (expand_atomic_fetch_op): Save and restore code when
retrying after failed attempt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190463 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Fri, 17 Aug 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190462 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54236
olegendo [Thu, 16 Aug 2012 23:19:45 +0000 (23:19 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190459 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/39423
olegendo [Thu, 16 Aug 2012 23:16:53 +0000 (23:16 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190458 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54089
olegendo [Thu, 16 Aug 2012 23:13:11 +0000 (23:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190457 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * lib/target-supports.exp (check_effective_target_sync_int_long)
hp [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-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190456 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54261
hp [Thu, 16 Aug 2012 22:05:32 +0000 (22:05 +0000)]
PR middle-end/54261
* gcc.dg/torture/pr54261-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190455 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54261
hp [Thu, 16 Aug 2012 22:03:33 +0000 (22:03 +0000)]
PR middle-end/54261
* optabs.c (expand_atomic_fetch_op): Save and restore code when
retrying after failed attempt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190454 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-16 Yuri Rumyantsev <ysrumyan@gmail.com>
uros [Thu, 16 Aug 2012 19:58:11 +0000 (19:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190452 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd a stub header file "feedback.h," needed to compile glibc and
walt [Thu, 16 Aug 2012 19:54:59 +0000 (19:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190451 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-16 Diego Novillo <dnovillo@google.com>
dnovillo [Thu, 16 Aug 2012 18:24:22 +0000 (18:24 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190449 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-16 Segher Boessenkool <segher@kernel.crashing.org>
segher [Thu, 16 Aug 2012 14:43:00 +0000 (14:43 +0000)]
2012-08-16  Segher Boessenkool  <segher@kernel.crashing.org>

       * config/rs6000/darwin.h (TARGET_IEEE_QUAD): Fix comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190446 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-16 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 16 Aug 2012 14:27:51 +0000 (14:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190445 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-16 Diego Novillo <dnovillo@google.com>
dnovillo [Thu, 16 Aug 2012 13:28:13 +0000 (13:28 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190444 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54146
steven [Thu, 16 Aug 2012 10:52:14 +0000 (10:52 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190442 138bc75d-0d04-0410-961f-82ee72b054a4