]> gcc.gnu.org Git - gcc.git/log
gcc.git
12 years agoipa-inline-transform.c (inline_call): Only account size changes for !DECL_EXTERNAL.
Jan Hubicka [Fri, 26 Oct 2012 16:52:09 +0000 (18:52 +0200)]
ipa-inline-transform.c (inline_call): Only account size changes for !DECL_EXTERNAL.

* ipa-inline-transform.c (inline_call): Only account size changes
for !DECL_EXTERNAL.

From-SVN: r192849

12 years agore PR debug/54971 (SRA pessimizes debug info by not creating debug stmts for fields...
Martin Jambor [Fri, 26 Oct 2012 16:13:00 +0000 (18:13 +0200)]
re PR debug/54971 (SRA pessimizes debug info by not creating debug stmts for fields without replacements)

2012-10-26  Martin Jambor  <mjambor@suse.cz>

PR debug/54971
* tree-sra.c (struct access): New flag grp_to_be_debug_replaced.
(dump_access): Dump the new flag.
(analyze_access_subtree): Set the new flag when appropriate.
(create_access_replacement): Handle debug replacements differently.
(generate_subtree_copies): Handle the grp_to_be_debug_replaced flag.
(init_subtree_with_zero): Likewise.
(sra_modify_expr): Likewise.
(load_assign_lhs_subreplacements): Likewise.
(sra_modify_assign): Likewise.

From-SVN: r192848

12 years agore PR c++/54984 (Array allocated with new in a template class is default initialised)
Paolo Carlini [Fri, 26 Oct 2012 14:03:32 +0000 (14:03 +0000)]
re PR c++/54984 (Array allocated with new in a template class is default initialised)

/cp
2012-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54984
* init.c (build_new): Don't turn a null *init into a pointer to
empty vector orig_init.

/testsuite
2012-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54984
* g++.dg/template/new11.C: New.

From-SVN: r192846

12 years agoi386.c (insn_is_function_arg): Add check on CALL instruction.
Yuri Rumyantsev [Fri, 26 Oct 2012 12:07:58 +0000 (12:07 +0000)]
i386.c (insn_is_function_arg): Add check on CALL instruction.

        * config/i386/i386.c (insn_is_function_arg) : Add check on CALL
        instruction.
        (ix86_dependencies_evaluation_hook): Insert dependencies in all
        predecessors of call block for non-trivial region avoiding creation
        of loop-carried dependency to avoid cross-block motion of HW registers.

From-SVN: r192842

12 years agore PR tree-optimization/54824 (ICE in verify_loop_structure)
Richard Biener [Fri, 26 Oct 2012 10:12:35 +0000 (10:12 +0000)]
re PR tree-optimization/54824 (ICE in verify_loop_structure)

2012-10-26  Richard Biener  <rguenther@suse.de>

PR middle-end/54824
* tree-optimize.c (execute_fixup_cfg): Insert __builtin_unreachable
at the end of blocks with no successors.

* gcc.dg/torture/pr54824.c: New testcase.

From-SVN: r192841

12 years agoChangeLog/
Alexander Ivchenko [Fri, 26 Oct 2012 09:45:46 +0000 (09:45 +0000)]
ChangeLog/
        * gcc/common/config/i386/i386-common.c
        (OPTION_MASK_ISA_FXSR_SET): New.
        (OPTION_MASK_ISA_XSAVE_SET): Likewise.
        (OPTION_MASK_ISA_XSAVEOPT_SET): Likewise.
        (ix86_handle_option): Handle mfxsr, mxsave, mxsaveopt options.
        * gcc/config.gcc (i[34567]86-*-*): Add fxsrintrin.h,
        xsaveintrin.h, xsaveoptintrin.h.
        (x86_64-*-*): Likewise.
        * config/i386/fxsrintrin.h: New header.
        * config/i386/xsaveintrin.h: Likewise.
        * config/i386/xsaveoptintrin.h: Likewise.
        * gcc/config/i386/driver-i386.c (host_detect_local_cpu): Detect
        FXSR/XSAVE/XSAVEOPT support.
        * gcc/config/i386/i386-builtin-types.def
        (VOID_FTYPE_PVOID_INT64): New function type.
        * gcc/config/i386/i386-c.c: Define __FXSR__, __XSAVE__
        and __XSAVEOPT__ if needed.
        * gcc/config/i386/i386.c (ix86_target_string): Define -mfxsr,
         -mxsave and -mxsaveopt options.
        (PTA_FXSR): New.
        (PTA_XSAVE): Likewise.
        (PTA_XSAVEOPT): Likewise.
        (ix86_option_override_internal): Handle new option.
        (processor_alias_table): Added PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT.
        (ix86_valid_target_attribute_inner_p): Add OPT_mfxsr,
        OPT_mxsave, OPT_mxsaveopt.
        (ix86_builtins): Add IX86_BUILTIN_FXSAVE, IX86_BUILTIN_FXRSTOR,
        IX86_BUILTIN_FXSAVE64, IX86_BUILTIN_XSAVE, IX86_BUILTIN_XSAVE64,
        IX86_BUILTIN_XRSTOR, IX86_BUILTIN_XRSTOR64, IX86_BUILTIN_XSAVEOPT,
        IX86_BUILTIN_XSAVEOPT64.
        (ix86_expand_builtin): Handle these built-ins.
        * gcc/config/i386/i386.h (TARGET_FXSR): New.
        (TARGET_XSAVE): Likewise.
        (TARGET_XSAVEOPT): Likewise.
        * gcc/config/i386/i386.md (ANY_XSAVE): New int iterator.
        (ANY_XSAVE64): Likewise.
        (xsave): New int attribute.
        (fxsave): New instruction.
        (fxsave64): Likewise.
        (fxrstor): Likewise.
        (fxrstor64): Likewise.
        (<xsave>): Likewise.
        (<xsave>_rex64): Likewise.
        (xrstor): Likewise.
        (xrstor_rex64): Likewise.
        (xrstor64): Likewise.
        * gcc/config/i386/i386.opt (mfxsr): New.
        (mxsave): Likewise.
        (mxsaveopt): Likewise.
        * gcc/config/i386/x86intrin.h: Include
        xsaveintrin.h, fxsrintrin.h, xsaveoptintrin.h.

testsuite/ChangeLog
        * gcc.target/i386/fxsave-1.c: New.
        * gcc.target/i386/fxsave64-1.c: Ditto.
        * gcc.target/i386/fxrstor-1.c: Ditto.
        * gcc.target/i386/fxrstor64-1.c: Ditto.
        * gcc.target/i386/xsave-1.c: Ditto.
        * gcc.target/i386/xsave64-1.c: Ditto.
        * gcc.target/i386/xrstor-1.c: Ditto.
        * gcc.target/i386/xrstor64-1.c: Ditto.
        * gcc.target/i386/xsaveopt-1.c: Ditto.
        * gcc.target/i386/xsaveopt64-1.c: Ditto.
        * gcc.target/i386/sse-12.c: Add -mfxsr, -mxsaveopt.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r192840

12 years agot-rtems: Revert previous commit.
Ralf Corsepius [Fri, 26 Oct 2012 08:07:52 +0000 (10:07 +0200)]
t-rtems: Revert previous commit.

2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>

* config/avr/t-rtems: Revert previous commit.

From-SVN: r192838

12 years agore PR bootstrap/55049 (bootstrap failed with --with-multilib-list=m32,m64,mx32)
Richard Sandiford [Fri, 26 Oct 2012 06:41:53 +0000 (06:41 +0000)]
re PR bootstrap/55049 (bootstrap failed with  --with-multilib-list=m32,m64,mx32)

gcc/
PR bootstrap/55049
* Makefile.in (rtlanal.o): Add dependency on addresses.h.
* rtl.h (address_info): New structure.
(strip_address_mutations, decompose_address, decompose_lea_address)
(decompose_mem_address, update_address, get_index_scale)
(get_index_code): Declare.
* rtlanal.c: Include addresses.h.
(strip_address_mutations, must_be_base_p, must_be_index_p)
(set_address_segment, set_address_base, set_address_index)
(set_address_disp, decompose_incdec_address, decompose_automod_address)
(extract_plus_operands, baseness, decompose_normal_address)
(decompose_address, decompose_lea_address, decompose_mem_address)
(update_address, get_index_scale, get_index_code): New functions.
* lra-constraints.c (strip_subreg): New function.
(address, extract_loc_address_regs, extract_address_regs)
(get_index_scale): Delete.
(process_addr_reg): Apply strip_subreg to the location.
(uses_hard_regs_p): Use decompose_mem_address.
(valid_address_p, base_plus_disp_to_reg, can_add_disp_p)
(equiv_address_substitution): Take an address_info rather
than an address.  Remove other arguments.  Avoid using Pmode.
(process_address): Use decompose_mem_address and decompose_lea_address.
Update calls to above functions.

From-SVN: r192837

12 years agolra-constraints.c (process_address): Tighten arguments to base_reg_class.
Richard Sandiford [Fri, 26 Oct 2012 06:41:33 +0000 (06:41 +0000)]
lra-constraints.c (process_address): Tighten arguments to base_reg_class.

gcc/
* lra-constraints.c (process_address): Tighten arguments to
base_reg_class.  Use simplify_gen_binary to generate PLUS rtxes.

From-SVN: r192836

12 years agolra-constraints.c (get_index_scale, [...]): New functions.
Richard Sandiford [Fri, 26 Oct 2012 06:38:23 +0000 (06:38 +0000)]
lra-constraints.c (get_index_scale, [...]): New functions.

gcc/
* lra-constraints.c (get_index_scale, can_add_disp_p): New functions.
(equiv_address_substitution): Use them.

From-SVN: r192835

12 years agolra-constraints.c (valid_address_p): New function, split out from...
Richard Sandiford [Fri, 26 Oct 2012 06:37:54 +0000 (06:37 +0000)]
lra-constraints.c (valid_address_p): New function, split out from...

gcc/
* lra-constraints.c (valid_address_p): New function, split out from...
(process_address): ...here.

From-SVN: r192834

12 years agolra-constraints.c (process_address): Describe the kinds of address that we might...
Richard Sandiford [Fri, 26 Oct 2012 06:37:28 +0000 (06:37 +0000)]
lra-constraints.c (process_address): Describe the kinds of address that we might see.

gcc/
* lra-constraints.c (process_address): Describe the kinds of address
that we might see.

From-SVN: r192833

12 years agolra-int.h (lra_assert): Redefine it gcc_checking_assert.
Vladimir Makarov [Fri, 26 Oct 2012 03:41:19 +0000 (03:41 +0000)]
lra-int.h (lra_assert): Redefine it gcc_checking_assert.

2012-10-25  Vladimir Makarov  <vmakarov@redhat.com>

* lra-int.h (lra_assert): Redefine it gcc_checking_assert.
* lra-constraints.c (check_and_process_move): Remove #if
ENABLE_ASSERT_CHECKING.

From-SVN: r192832

12 years agortems.h (TARGET_OS_CPP_BUILTINS): Remove __USE_INIT_FINI__.
Ralf Corsepius [Fri, 26 Oct 2012 01:00:29 +0000 (03:00 +0200)]
rtems.h (TARGET_OS_CPP_BUILTINS): Remove __USE_INIT_FINI__.

2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>

* config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
__USE_INIT_FINI__.
* config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.

From-SVN: r192828

12 years agoDaily bump.
GCC Administrator [Fri, 26 Oct 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192827

12 years agoRemove unnecessary sparc constraint.
David S. Miller [Thu, 25 Oct 2012 22:19:47 +0000 (15:19 -0700)]
Remove unnecessary sparc constraint.

* config/sparc/constraints.md ("U"): Delete.
* config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
* config/sparc/sync.md: Likewise.

From-SVN: r192824

12 years agoChange hash_table to support a comparator type different from the value type stored...
Lawrence Crowl [Thu, 25 Oct 2012 21:45:28 +0000 (21:45 +0000)]
Change hash_table to support a comparator type different from the value type stored in the hash table.

Change hash_table to support a comparator type different from the
value type stored in the hash table.  The 'find' functions now may
take a different type from the value type.  This requires introducing
a second typedef into the Descriptor conceptual type.  Change the
Descriptor concept to use typedefs value_type and compare_type instead
of T.  Change all users to match.

Add usage documentation to hash-table.h.

Tested on x86-64.

Index: gcc/ChangeLog

2012-10-25  Lawrence Crowl  <crowl@google.com>

* hash-table.h: Add usage documentation.
(template struct typed_free_remove): Clarify documentation.
Rename template parameter.
(struct typed_noop_remove): Likewise.
(descriptor concept): Change typedef T to value_type.
Add typedef compare_type.  Use more precise template parameter name,
Descriptor instead of Descr.  Update users to match.
(struct hash_table): Change 'find' parameters to use compare_type
instead of the value type.

From-SVN: r192823

12 years agocunroll-4.c: Update; we now remove the loop at ivcanon time.
Jan Hubicka [Thu, 25 Oct 2012 19:24:19 +0000 (21:24 +0200)]
cunroll-4.c: Update; we now remove the loop at ivcanon time.

* gcc.dg/tree-ssa/cunroll-4.c: Update; we now remove the loop
at ivcanon time.

From-SVN: r192822

12 years agoipa-cp.c (ipcp_discover_new_direct_edges): If something was turned to direct call...
Jan Hubicka [Thu, 25 Oct 2012 19:23:15 +0000 (21:23 +0200)]
ipa-cp.c (ipcp_discover_new_direct_edges): If something was turned to direct call update the summary.

* ipa-cp.c (ipcp_discover_new_direct_edges): If something was turned
to direct call update the summary.
* ipa-inline-transform.c (inline_call): Sanity check that summaries
match the predicted effect; fix updating of summary after edge
redirection.
* ipa-inline-analysis.c (inline_node_duplication_hook): Do not try
to update the summary and recompute it instead.
(estimate_function_body_sizes): Fix self size estimation; double
check that it agrees with inline_update_overall_summary.
(estimate_edge_size_and_time): Handle devirtualizaiton costs.
(estimate_edge_devirt_benefit): Update to be called from
estimate_edge_size_and_time.
(estimate_calls_size_and_time): Update.
(estimate_node_size_and_time): Watch overflows.
(inline_merge_summary): Likewise.
* ipa-prob.c: Include ipa-inline.h
(ipa_make_edge_direct_to_target): After redirection update the summary.

From-SVN: r192821

12 years agore PR debug/55063 (Thousands of failures in the libstdc++-v3 tests after revision...
Cary Coutant [Thu, 25 Oct 2012 18:30:27 +0000 (18:30 +0000)]
re PR debug/55063 (Thousands of failures in the libstdc++-v3 tests after revision 192739)

gcc/
PR debug/55063
* dwarf2out.c (prune_unused_types_prune): Check whether DIE is
already a declaration.

From-SVN: r192820

12 years agolibgo: Solaris portability patches.
Ian Lance Taylor [Thu, 25 Oct 2012 18:26:34 +0000 (18:26 +0000)]
libgo: Solaris portability patches.

From Rainer Orth.

From-SVN: r192819

12 years agolra-assigns.c (assign_by_spills): Add non-reload pseudos assigned to hard register...
Vladimir Makarov [Thu, 25 Oct 2012 16:54:14 +0000 (16:54 +0000)]
lra-assigns.c (assign_by_spills): Add non-reload pseudos assigned to hard register to changed_pseudo_bitmap.

2012-10-25  Vladimir Makarov  <vmakarov@redhat.com>

* lra-assigns.c (assign_by_spills): Add non-reload pseudos
assigned to hard register to changed_pseudo_bitmap.

From-SVN: r192817

12 years agoconfig.gcc (microblaze*-*-rtems*): New target.
Ralf Corsepius [Thu, 25 Oct 2012 16:44:27 +0000 (18:44 +0200)]
config.gcc (microblaze*-*-rtems*): New target.

2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>

* config.gcc (microblaze*-*-rtems*): New target.
* config/microblaze/rtems.h: New.
* config/microblaze/t-rtems: New.

From-SVN: r192815

12 years agore PR c++/53761 (ICE on incorrect transparent union (first field has floating point...
Paolo Carlini [Thu, 25 Oct 2012 16:14:59 +0000 (16:14 +0000)]
re PR c++/53761 (ICE on incorrect transparent union (first field has floating point type))

/cp
2012-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53761
* class.c (finish_struct_1): Reject aggregates decorated with
__transparent_union__ which cannot be made transparent because
the type of the first field has a different ABI from the class
overall.

/testsuite
2012-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53761
* g++.dg/ext/transparent-union.C: New.

From-SVN: r192814

12 years agoCore 1402
Jason Merrill [Thu, 25 Oct 2012 15:54:00 +0000 (11:54 -0400)]
Core 1402

Core 1402
cp/
* call.c (joust): An implicitly deleted move function is
worse than any non-deleted function.
* method.c (process_subob_fn): No special rules for move.
(synthesized_method_walk, implicitly_declare_fn): Likewise.
Warn about virtual base with non-trivial move assignment.
* cp-tree.h (struct lang_decl_fn): Remove suppress_implicit_decl.
(FNDECL_SUPPRESS_IMPLICIT_DECL): Remove.
c-family/
* c.opt (Wvirtual-move-assign): New.

From-SVN: r192813

12 years ago* semantics.c (finish_omp_threadprivate): Call complete_type.
Jason Merrill [Thu, 25 Oct 2012 15:53:40 +0000 (11:53 -0400)]
* semantics.c (finish_omp_threadprivate): Call complete_type.

From-SVN: r192812

12 years agoc.opt (Winherited-variadic-ctor): New.
Jason Merrill [Thu, 25 Oct 2012 15:53:31 +0000 (11:53 -0400)]
c.opt (Winherited-variadic-ctor): New.

c-family/
* c.opt (Winherited-variadic-ctor): New.
cp/
* class.c (one_inherited_ctor): Warn about variadic inherited ctor.

From-SVN: r192811

12 years agoFix previous commit.
Jan Hubicka [Thu, 25 Oct 2012 15:00:06 +0000 (15:00 +0000)]
Fix previous commit.

From-SVN: r192810

12 years agore PR lto/54980 (gimple check: expected gimple_cond(error_mark), have gimple_call...
Jan Hubicka [Thu, 25 Oct 2012 14:52:32 +0000 (16:52 +0200)]
re PR lto/54980 (gimple check: expected gimple_cond(error_mark), have gimple_call() in gimple_cond_set_lhs, at gimple.h:2578)

PR tree-optimize/54980
* tree-ssa-loop-ivcanon.c (constant_after_peeling): Fix
obvious typo.
(loop_edge_to_cancel): Be sure that the edge is from an conditional
so we can cancel it.

From-SVN: r192809

12 years agore PR c++/54427 (Expose more vector extensions)
Marc Glisse [Thu, 25 Oct 2012 13:02:42 +0000 (15:02 +0200)]
re PR c++/54427 (Expose more vector extensions)

2012-10-25  Marc Glisse  <marc.glisse@inria.fr>

PR c++/54427

gcc/
* tree.c (signed_or_unsigned_type_for): Handle vectors.

gcc/cp/
* typeck.c (build_x_conditional_expr): Handle VEC_COND_EXPR.
* call.c (build_conditional_expr_1): Likewise.

gcc/c-family/
* c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.

gcc/testsuite/
* g++.dg/ext/vector19.C: New testcase.

From-SVN: r192808

12 years agoipa-inline.c (recursive_inlining): Redirect to master clone before testing profitability.
Jan Hubicka [Thu, 25 Oct 2012 12:23:08 +0000 (14:23 +0200)]
ipa-inline.c (recursive_inlining): Redirect to master clone before testing profitability.

* ipa-inline.c (recursive_inlining): Redirect to master
clone before testing profitability.

From-SVN: r192807

12 years agoconfig.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
Ralf Corsepius [Thu, 25 Oct 2012 12:06:06 +0000 (14:06 +0200)]
config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.

2012-10-25  Ralf Corsépius <ralf.corsepius@rtems.org>

* config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.

From-SVN: r192805

12 years agore PR target/54902 (, ICE (segfault) building on arm-linux-gnueabi)
Richard Biener [Thu, 25 Oct 2012 11:16:12 +0000 (11:16 +0000)]
re PR target/54902 (, ICE (segfault) building on arm-linux-gnueabi)

2012-10-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/54902
* tree-ssa-pre.c (fini_eliminate): Return TODO.
(do_pre): Adjust.
(execute_fre): Likewise.
* tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
blocks before computing dominators.

* g++.dg/torture/pr54902.C: New testcase.

From-SVN: r192804

12 years agore PR c++/34892 (ICE with ellipsis in default template argument)
Paolo Carlini [Thu, 25 Oct 2012 09:12:22 +0000 (09:12 +0000)]
re PR c++/34892 (ICE with ellipsis in default template argument)

/cp
2012-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34892
* parser.c (cp_parser_template_parameter): When
cp_parser_parameter_declaration parsed a default argument don't
see if *is_parameter_pack needs setting.

/testsuite
2012-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34892
* g++.dg/template/crash114.C: New.

From-SVN: r192802

12 years agoexpr.c (emit_block_move_via_loop): Use simplify_gen_binary rather than gen_rtx_PLUS.
Richard Sandiford [Thu, 25 Oct 2012 09:08:09 +0000 (09:08 +0000)]
expr.c (emit_block_move_via_loop): Use simplify_gen_binary rather than gen_rtx_PLUS.

gcc/
* expr.c (emit_block_move_via_loop): Use simplify_gen_binary
rather than gen_rtx_PLUS.

From-SVN: r192801

12 years agoconfig.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
Ralf Corsepius [Thu, 25 Oct 2012 08:08:04 +0000 (10:08 +0200)]
config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.

2012-10-25  Ralf Corsépius <ralf.corsepius@rtems.org>

* config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.

From-SVN: r192799

12 years agore PR bootstrap/55068 (AIX bootstrap in push_reload() after LRA merge)
Vladimir Makarov [Thu, 25 Oct 2012 04:19:43 +0000 (04:19 +0000)]
re PR bootstrap/55068 (AIX bootstrap in push_reload() after LRA merge)

2012-10-24  Vladimir Makarov  <vmakarov@redhat.com>

PR bootstrap/55068
PR regression/55050
* ira.c (setup_reg_renumber): Fix assert.
* ira-emit.c (emit_move_list): Update equivalences only for LRA.

From-SVN: r192797

12 years agoconfig.host (powerpc-*-rtems*): Add rs6000/t-savresfgpr to tmake_file.
Sebastian Huber [Thu, 25 Oct 2012 03:30:23 +0000 (03:30 +0000)]
config.host (powerpc-*-rtems*): Add rs6000/t-savresfgpr to tmake_file.

2012-10-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>

* config.host (powerpc-*-rtems*): Add rs6000/t-savresfgpr to
tmake_file.

From-SVN: r192795

12 years agore PR bootstrap/55067 (AIX bootstrap failure due to lra.c loc_t)
Vladimir Makarov [Thu, 25 Oct 2012 02:31:31 +0000 (02:31 +0000)]
re PR bootstrap/55067 (AIX bootstrap failure due to lra.c loc_t)

2012-10-24  Vladimir Makarov  <vmakarov@redhat.com>

PR bootstrap/55067
* lra.c: Rename loc to sloc and loc_t to sloc_t.

From-SVN: r192794

12 years agoDaily bump.
GCC Administrator [Thu, 25 Oct 2012 00:19:23 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r192792

12 years agors6000.c (rs6000_density_test): Use dump_enabled_p instead of dump_kind_p.
Sharad Singhai [Wed, 24 Oct 2012 23:09:30 +0000 (23:09 +0000)]
rs6000.c (rs6000_density_test): Use dump_enabled_p instead of dump_kind_p.

2012-10-24  Sharad Singhai  <singhai@google.com>

* config/rs6000/rs6000.c (rs6000_density_test): Use dump_enabled_p
          instead of dump_kind_p.

From-SVN: r192788

12 years agore PR c++/54928 (Infinite output with after ICE with macro)
Manuel López-Ibáñez [Wed, 24 Oct 2012 22:01:50 +0000 (22:01 +0000)]
re PR c++/54928 (Infinite output with after ICE with macro)

2012-10-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/54928
* tree-diagnostic.c (maybe_unwind_expanded_macro_loc):
Use diagnostic_append_note.
* diagnostic.c (diagnostic_build_prefix): Make diagnostic const.
(default_diagnostic_finalizer): Do not destroy prefix here.
(diagnostic_report_diagnostic): Destroy it here.
(diagnostic_append_note): New.
* diagnostic.h (diagnostic_append_note): Declare.

From-SVN: r192786

12 years agoRequire fpic on gcc.target/i386/pr55049-1.c
H.J. Lu [Wed, 24 Oct 2012 21:52:57 +0000 (14:52 -0700)]
Require fpic on gcc.target/i386/pr55049-1.c

From-SVN: r192785

12 years agoAdd a testcase for PR bootstrap/55049
H.J. Lu [Wed, 24 Oct 2012 21:49:36 +0000 (14:49 -0700)]
Add a testcase for PR bootstrap/55049

PR bootstrap/55049
* gcc.target/i386/pr55049-1.c: New test.

From-SVN: r192784

12 years agore PR target/55061 (libbacktrace build fails during bootstrap on powerpc-apple-darwin9)
Ian Lance Taylor [Wed, 24 Oct 2012 21:09:55 +0000 (21:09 +0000)]
re PR target/55061 (libbacktrace build fails during bootstrap on powerpc-apple-darwin9)

PR target/55061
* configure.ac: Check whether -funwind-tables option works.
* configure: Rebuild.

From-SVN: r192782

12 years agoMAINTAINERS (Write After Approval): Add myself.
Sharad Singhai [Wed, 24 Oct 2012 20:42:02 +0000 (20:42 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2012-10-24  Sharad Singhai  <singhai@google.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r192781

12 years agotype_traits (common_type): Implement LWG 2141.
Daniel Kruegler [Wed, 24 Oct 2012 20:37:05 +0000 (20:37 +0000)]
type_traits (common_type): Implement LWG 2141.

2012-10-24  Daniel Krugler  <daniel.kruegler@gmail.com>

* include/std/type_traits (common_type): Implement LWG 2141.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Update.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Likewise.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise.

From-SVN: r192780

12 years agore PR rtl-optimization/55055 (RTL check: expected code 'reg', have 'subreg' in rhs_re...
Vladimir Makarov [Wed, 24 Oct 2012 20:02:08 +0000 (20:02 +0000)]
re PR rtl-optimization/55055 (RTL check: expected code 'reg', have 'subreg' in rhs_regno, at rtl.h:1123)

2012-10-24  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55055
* lra-spills.c (alter_subregs): New function.
(lra_hard_reg_substitution): Use it.

From-SVN: r192779

12 years agoClarify ABI requirements for data-logging functions.
Torvald Riegel [Wed, 24 Oct 2012 19:52:18 +0000 (19:52 +0000)]
Clarify ABI requirements for data-logging functions.

* libitm.texi: Clarify ABI requirements for data-logging functions.

From-SVN: r192778

12 years agoAsk dispatch whether it requires serial mode.
Torvald Riegel [Wed, 24 Oct 2012 19:52:02 +0000 (19:52 +0000)]
Ask dispatch whether it requires serial mode.

* retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
it requires serial mode instead of assuming that for certain
dispatchs.
* dispatch.h (abi_dispatch::requires_serial): New.
(abi_dispatch::abi_dispatch): Adapt.
* method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
* method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
* method-serial.cc (serialirr_dispatch::serialirr_dispatch,
serial_dispatch::serial_dispatch,
serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.

From-SVN: r192777

12 years agomksysinfo: Define SIGPOLL and SIGCLD if necessary.
Ian Lance Taylor [Wed, 24 Oct 2012 19:00:44 +0000 (19:00 +0000)]
mksysinfo: Define SIGPOLL and SIGCLD if necessary.

From-SVN: r192775

12 years agoMAINTAINERS: Update email address.
Eric Christopher [Wed, 24 Oct 2012 18:26:01 +0000 (18:26 +0000)]
MAINTAINERS: Update email address.

2012-10-24  Eric Christopher  <echristo@gmail.com>

    * MAINTAINERS: Update email address.

From-SVN: r192774

12 years agodumpfile.c (dump_enabled_p): Make it inline and move the definition to dumpfile.h.
Sharad Singhai [Wed, 24 Oct 2012 17:58:14 +0000 (17:58 +0000)]
dumpfile.c (dump_enabled_p): Make it inline and move the definition to dumpfile.h.

2012-10-24  Sharad Singhai  <singhai@google.com>

* dumpfile.c (dump_enabled_p): Make it inline and move the definition
to dumpfile.h.
(dump_kind_p): Deleted. Functionality replaced by dump_enabled_p.
Make alt_dump_file extern.
* dumpfile.h (dump_enabled_p): Move inline definition here.
(dump_kind_p): Delete declaration.
Add extern declaration of alt_dump_file.
* toplev.c: Move dump_file and dump_file_name to dumpfile.c.
* tree-vect-loop-manip.c: Replace all uses of dump_kind_p with
dump_enabled_p.
* tree-vectorizer.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vect-slp.c: Likewise.

From-SVN: r192773

12 years agoexpmed.c (lowpart_bit_field_p): Add missing == 0 check.
Richard Sandiford [Wed, 24 Oct 2012 17:53:42 +0000 (17:53 +0000)]
expmed.c (lowpart_bit_field_p): Add missing == 0 check.

gcc/
* expmed.c (lowpart_bit_field_p): Add missing == 0 check.

From-SVN: r192772

12 years agore PR bootstrap/55049 (bootstrap failed with --with-multilib-list=m32,m64,mx32)
Vladimir Makarov [Wed, 24 Oct 2012 17:35:37 +0000 (17:35 +0000)]
re PR bootstrap/55049 (bootstrap failed with  --with-multilib-list=m32,m64,mx32)

2012-10-24  Vladimir Makarov  <vmakarov@redhat.com>

PR bootstrap/55049
* lra-constraints.c (extract_loc_address_regs): Pass top_p for
ZERO_EXTEND operand.

From-SVN: r192771

12 years agore PR bootstrap/55048 (libjava bootstrap failure on trunk after LRA merge)
Vladimir Makarov [Wed, 24 Oct 2012 15:35:12 +0000 (15:35 +0000)]
re PR bootstrap/55048 (libjava bootstrap failure on trunk after LRA merge)

2012-10-24  Vladimir Makarov  <vmakarov@redhat.com>

PR bootstrap/55048
* lra-constraints.c (update_ebb_live_info): Skip
non-NOTE_INSN_BASIC_BLOCK notes.

From-SVN: r192770

12 years agore PR fortran/55037 ([OOP] ICE with local allocatable variable of abstract type)
Janus Weil [Wed, 24 Oct 2012 15:23:25 +0000 (17:23 +0200)]
re PR fortran/55037 ([OOP] ICE with local allocatable variable of abstract type)

2012-10-24  Janus Weil  <janus@gcc.gnu.org>

PR fortran/55037
* trans-expr.c (gfc_conv_procedure_call): Move a piece of code and
remove an assert.

2012-10-24  Janus Weil  <janus@gcc.gnu.org>

PR fortran/55037
* gfortran.dg/class_dummy_4.f03: New.

From-SVN: r192768

12 years agore PR libstdc++/55047 (operator() in std::exponential_distribution may call log(0))
Haakan Younes [Wed, 24 Oct 2012 12:20:19 +0000 (12:20 +0000)]
re PR libstdc++/55047 (operator() in std::exponential_distribution may call log(0))

2012-10-24   Haakan Younes  <hyounes@google.com>
     Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/55047
* include/bits/random.h (exponential_distribution<>::operator):
Fix formula to std::log(result_type(1) - __aurng()).
* include/bits/random.tcc: Likewise, everywhere.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r192762

12 years agoforce-parallel-6.c: Adjust the loops.
Dominique d'Humieres [Wed, 24 Oct 2012 09:46:06 +0000 (11:46 +0200)]
force-parallel-6.c: Adjust the loops.

2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>

        * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.

From-SVN: r192761

12 years agore PR rtl-optimization/55010 (Internal consistency failure : invalid rtl sharing...
Jakub Jelinek [Wed, 24 Oct 2012 09:13:09 +0000 (11:13 +0200)]
re PR rtl-optimization/55010 (Internal consistency failure : invalid rtl sharing found in the insn)

PR rtl-optimization/55010
* cse.c (fold_rtx) <RTX_COMPARE>: Call copy_rtx on folded_arg{0,1}
before passing it to simplify_relational_operation.

* gcc.dg/pr55010.c: New test.

From-SVN: r192760

12 years agore PR debug/54828 (ICE in based_loc_descr at dwarf2out.c:10560 with -g -O0)
Jakub Jelinek [Wed, 24 Oct 2012 09:08:56 +0000 (11:08 +0200)]
re PR debug/54828 (ICE in based_loc_descr at dwarf2out.c:10560 with -g -O0)

PR debug/54828
* gimple.h (is_gimple_sizepos): New inline function.
* gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
final assignment to expr variable.
* tree.c (RETURN_TRUE_IF_VAR): Return true also if
!TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
into a local temporary.

* g++.dg/debug/pr54828.C: New test.

From-SVN: r192759

12 years agoUse define_memory_constraint on sparc when necessary.
David S. Miller [Wed, 24 Oct 2012 05:59:27 +0000 (05:59 +0000)]
Use define_memory_constraint on sparc when necessary.

* config/sparc/constraints.md ("T", "W"): Change
definitions to use define_memory_constraint.  Do not match
'reg'.
* config/sparc/sparc.c (memory_ok_for_ldd): Remove all non-MEM
handling code, update comment.

From-SVN: r192757

12 years agoextend.texi (Extended Asm): The '+' constraint does not require a register.
Ian Lance Taylor [Wed, 24 Oct 2012 04:45:55 +0000 (04:45 +0000)]
extend.texi (Extended Asm): The '+' constraint does not require a register.

* doc/extend.texi (Extended Asm): The '+' constraint does not
require a register.

From-SVN: r192756

12 years agotree-ssa-threadedge.c (thread_across_edge): Remove unused parameter in call to cond_a...
Jeff Law [Wed, 24 Oct 2012 00:43:24 +0000 (18:43 -0600)]
tree-ssa-threadedge.c (thread_across_edge): Remove unused parameter in call to cond_arg_set_in_bb.

       * tree-ssa-threadedge.c (thread_across_edge): Remove unused
        parameter in call to cond_arg_set_in_bb.

From-SVN: r192754

12 years agoDaily bump.
GCC Administrator [Wed, 24 Oct 2012 00:18:36 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192753

12 years agovect-82_64.c: Adjust the dump file.
Dominique d'Humieres [Wed, 24 Oct 2012 00:16:55 +0000 (02:16 +0200)]
vect-82_64.c: Adjust the dump file.

2012-10-23  Dominique d'Humieres  <dominiq@lps.ens.fr>

        * gcc.dg/vect/vect-82_64.c: Adjust the dump file.
        * gcc.dg/vect/vect-83_64.c: Likewise.

From-SVN: r192750

12 years agore PR c++/54922 ([C++11][DR 1359] constexpr constructors require initialization of...
Paolo Carlini [Tue, 23 Oct 2012 23:43:21 +0000 (23:43 +0000)]
re PR c++/54922 ([C++11][DR 1359] constexpr constructors require initialization of all union members)

/cp
2012-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54922
* semantics.c (cx_check_missing_mem_inits): Handle anonymous union
members.

/testsuite
2012-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54922
* g++.dg/cpp0x/constexpr-union4.C: New.

From-SVN: r192749

12 years agore PR bootstrap/54820 (ada: cannot find -lstdc++ since 4.8.0 20121002)
Eric Botcazou [Tue, 23 Oct 2012 22:57:43 +0000 (22:57 +0000)]
re PR bootstrap/54820 (ada: cannot find -lstdc++ since 4.8.0 20121002)

PR bootstrap/54820
* configure.ac (have_static_libs): Force 'no' for GCC version < 4.5.
* configure: Regenerate.

From-SVN: r192748

12 years ago* MAINTAINERS (aarch64): Add Marcus and myself.
Richard Earnshaw [Tue, 23 Oct 2012 22:29:38 +0000 (22:29 +0000)]
* MAINTAINERS (aarch64): Add Marcus and myself.

From-SVN: r192747

12 years agotree-ssa-threadedge.c (cond_arg_set_in_bb): Remove unused debugging argument.
Jeff Law [Tue, 23 Oct 2012 21:27:52 +0000 (15:27 -0600)]
tree-ssa-threadedge.c (cond_arg_set_in_bb): Remove unused debugging argument.

       * tree-ssa-threadedge.c (cond_arg_set_in_bb): Remove unused
        debugging argument.

From-SVN: r192746

12 years agore PR tree-optimization/54985 (dom optimization erroneous remove conditional goto.)
Jeff Law [Tue, 23 Oct 2012 20:33:49 +0000 (14:33 -0600)]
re PR tree-optimization/54985 (dom optimization erroneous remove conditional goto.)

        PR tree-optimization/54985
        * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function
        * extracted
        from thread_across_edge.
        (thread_across_edge): Use it in all cases where we might thread
        across a back edge.

        * gcc.c-torture/execute/pr54985.c: New test.

From-SVN: r192745

12 years agolra-constraints.c (update_ebb_live_info): Process empty blocks.
Vladimir Makarov [Tue, 23 Oct 2012 20:10:27 +0000 (20:10 +0000)]
lra-constraints.c (update_ebb_live_info): Process empty blocks.

2012-10-23  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (update_ebb_live_info): Process empty blocks.

From-SVN: r192743

12 years agoexpmed.c (store_split_bit_field): Update the calls to extract_fixed_bit_field.
Richard Sandiford [Tue, 23 Oct 2012 19:17:35 +0000 (19:17 +0000)]
expmed.c (store_split_bit_field): Update the calls to extract_fixed_bit_field.

gcc/
* expmed.c (store_split_bit_field): Update the calls to
extract_fixed_bit_field.  In the big-endian case, always
use the mode of OP0 to count the number of significant bits.
(extract_bit_field_1): Remove unit, offset, bitpos and
byte_offset from the outermost scope.  Express conditions in terms
of bitnum rather than offset, bitpos and byte_offset.  Move the
computation of MODE1 to the block that needs it.  Use MODE unless
the TMODE-based mode_for_size calculation succeeds.  Split the
plain move cases into two, one for memory accesses and one for
register accesses.  Generalize the memory case, freeing it from
the old register-based endian checks.  Move the INT_MODE calculation
above the code that needs it.  Use simplify_gen_subreg to handle
multiword OP0s.  If the field still spans several words, pass it
directly to extract_split_bit_field.  Assume after that point
that both targets and register sources fit within a word.
Replace x-prefixed variables with non-prefixed forms.
Compute the bitpos for ext(z)v register operands directly in the
chosen unit size, rather than going through an intermediate
BITS_PER_WORD unit size.  Simplify the containment check
used when forcing OP0 into a register.  Update the call to
extract_fixed_bit_field.
(extract_fixed_bit_field): Replace the bitpos and offset parameters
with a single bitnum parameter, of the same form as extract_bit_field.
Assume that OP0 contains the full field.  Simplify the memory offset
calculation and containment check for volatile bitfields.  Make the
offset explicit when volatile bitfields force a misaligned access.
Remove WARNED and fix long lines.  Assert that the processed OP0
has an integral mode.
(store_split_bit_field): Update the call to store_fixed_bit_field.

From-SVN: r192741

12 years agoexpmed.c (lowpart_bit_field_p): New function.
Richard Sandiford [Tue, 23 Oct 2012 19:14:09 +0000 (19:14 +0000)]
expmed.c (lowpart_bit_field_p): New function.

gcc/
* expmed.c (lowpart_bit_field_p): New function.
(store_bit_field_1): Remove unit, offset, bitpos and byte_offset
from the outermost scope.  Express conditions in terms of bitnum
rather than offset, bitpos and byte_offset.  Split the plain move
cases into two, one for memory accesses and one for register accesses.
Allow simplify_gen_subreg to fail rather than calling validate_subreg.
Move the handling of multiword OP0s after the code that coerces VALUE
to an integer mode.  Use simplify_gen_subreg for this case and assert
that it succeeds.  If the field still spans several words, pass it
directly to store_split_bit_field.  Assume after that point that
both sources and register targets fit within a word.  Replace
x-prefixed variables with non-prefixed forms.  Compute the bitpos
for insv register operands directly in the chosen unit size, rather
than going through an intermediate BITS_PER_WORD unit size.
Update the call to store_fixed_bit_field.
(store_fixed_bit_field): Replace the bitpos and offset parameters
with a single bitnum parameter, of the same form as store_bit_field.
Assume that OP0 contains the full field.  Simplify the memory offset
calculation.  Assert that the processed OP0 has an integral mode.
(store_split_bit_field): Update the call to store_fixed_bit_field.

From-SVN: r192740

12 years agore PR debug/54508 (Wrong debug information emitted if data members not referenced)
Paul Koning [Tue, 23 Oct 2012 18:44:27 +0000 (14:44 -0400)]
re PR debug/54508 (Wrong debug information emitted if data members not referenced)

PR debug/54508
* dwarf2out.c (prune_unused_types_prune): If pruning a class and
not all its children were marked, add DW_AT_declaration flag.

* g++.dg/debug/dwarf2/pr54508.C: New.

From-SVN: r192739

12 years agore PR c++/54844 (ice tsubst_copy, at cp/pt.c:12352)
Jakub Jelinek [Tue, 23 Oct 2012 18:04:55 +0000 (20:04 +0200)]
re PR c++/54844 (ice tsubst_copy, at cp/pt.c:12352)

PR c++/54844
* pt.c (tsubst_copy, tsubst_copy_and_build) <case SIZEOF_EXPR>: Use
tsubst instead of tsubst_copy* on types.

* g++.dg/template/sizeof14.C: New test.

From-SVN: r192736

12 years agoruntime: Disable crash tests that runs go tool.
Ian Lance Taylor [Tue, 23 Oct 2012 18:01:06 +0000 (18:01 +0000)]
runtime: Disable crash tests that runs go tool.

From-SVN: r192735

12 years agore PR c++/54988 (fpmath=sse target pragma causes inlining failure because of target...
Jakub Jelinek [Tue, 23 Oct 2012 17:55:56 +0000 (19:55 +0200)]
re PR c++/54988 (fpmath=sse target pragma causes inlining failure because of target specific option mismatch)

PR c++/54988
* decl2.c (cplus_decl_attributes): Don't return early
if attributes is NULL.

* c-c++-common/pr54988.c: New test.

From-SVN: r192734

12 years agoAArch64 [8/10] Fixup botched commit.
Marcus Shawcroft [Tue, 23 Oct 2012 17:36:39 +0000 (17:36 +0000)]
AArch64 [8/10] Fixup botched commit.

From-SVN: r192733

12 years agoAArch64 [1/10]
Ian Bolton [Tue, 23 Oct 2012 17:35:16 +0000 (17:35 +0000)]
AArch64 [1/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    James Greenhalgh  <james.greenhalgh@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* config.gcc: Add AArch64.
* configure.ac: Add AArch64 TLS support detection.
* configure: Regenerate.

Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192732

12 years agoAArch64 [10/10]
Yufeng Zhang [Tue, 23 Oct 2012 17:30:49 +0000 (17:30 +0000)]
AArch64 [10/10]

2012-10-23  Yufeng Zhang  <yufeng.zhang@arm.com>

* config/cpu/aarch64/cxxabi_tweaks.h: New file.
* configure.host: Enable aarch64.

From-SVN: r192731

12 years agoAArch64 [9/10]
Ian Bolton [Tue, 23 Oct 2012 17:29:35 +0000 (17:29 +0000)]
AArch64 [9/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* configure.tgt: Add AArch64.

Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192730

12 years agoAArch64 [8/10]
Ian Bolton [Tue, 23 Oct 2012 17:27:13 +0000 (17:27 +0000)]
AArch64 [8/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* config.host (aarch64*-*-elf, aarch64*-*-linux*): New.
* config/aarch64/crti.S: New file.
* config/aarch64/crtn.S: New file.
* config/aarch64/linux-unwind.h: New file.
* config/aarch64/sfp-machine.h: New file.
* config/aarch64/sync-cache.c: New file.
* config/aarch64/t-aarch64: New file.
* config/aarch64/t-softfp: New file.

Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192729

12 years agoAArch64 [7/10]
Ian Bolton [Tue, 23 Oct 2012 17:24:58 +0000 (17:24 +0000)]
AArch64 [7/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* configure.ac: Enable AArch64.
* configure: Regenerate.

Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192728

12 years agoAArch64 [6/10]
Sofiane Naci [Tue, 23 Oct 2012 17:22:48 +0000 (17:22 +0000)]
AArch64 [6/10]

2012-10-23  Sofiane Naci <sofiane.naci@arm.com>

Mark libatomic unsupported in AArch64.

* configure.tgt: Mark libatomic unsupported.

From-SVN: r192727

12 years agoAArch64 [4/10]
Ian Bolton [Tue, 23 Oct 2012 17:20:56 +0000 (17:20 +0000)]
AArch64 [4/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* lib/target-supports.exp
(check_profiling_available): Add AArch64.
(check_effective_target_vect_int): Likewise.
(check_effective_target_vect_shift): Likewise.
(check_effective_target_vect_float): Likewise.
(check_effective_target_vect_double): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
(check_effective_target_vect_widen_mult_hi_to_si): Likewise.
(check_effective_target_vect_pack_trunc): Likewise.
(check_effective_target_vect_unpack): Likewise.
(check_effective_target_vect_hw_misalign): Likewise.
(check_effective_target_vect_short_mult): Likewise.
(check_effective_target_vect_int_mult): Likewise.
(check_effective_target_vect_stridedN): Likewise.
(check_effective_target_sync_int_long): Likewise.
(check_effective_target_sync_char_short): Likewise.
(check_vect_support_and_set_flags): Likewise.
(check_effective_target_aarch64_tiny): New.
(check_effective_target_aarch64_small): New.
(check_effective_target_aarch64_large): New.
* g++.dg/other/PR23205.C: Enable aarch64.
* g++.dg/other/pr23205-2.C: Likewise.
* g++.old-deja/g++.abi/ptrmem.C: Likewise.
* gcc.c-torture/execute/20101011-1.c: Likewise.
* gcc.dg/20020312-2.c: Likewise.
* gcc.dg/20040813-1.c: Likewise.
* gcc.dg/builtin-apply2.c: Likewise.
* gcc.dg/stack-usage-1.c: Likewise.

Co-Authored-By: Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192726

12 years agoAArch64 [5/10]
Ian Bolton [Tue, 23 Oct 2012 17:13:27 +0000 (17:13 +0000)]
AArch64 [5/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* gcc.target/aarch64/aapcs/aapcs64.exp: New file.
* gcc.target/aarch64/aapcs/abitest-2.h: New file.
* gcc.target/aarch64/aapcs/abitest-common.h: New file.
* gcc.target/aarch64/aapcs/abitest.S: New file.
* gcc.target/aarch64/aapcs/abitest.h: New file.
* gcc.target/aarch64/aapcs/func-ret-1.c: New file.
* gcc.target/aarch64/aapcs/func-ret-2.c: New file.
* gcc.target/aarch64/aapcs/func-ret-3.c: New file.
* gcc.target/aarch64/aapcs/func-ret-3.x: New file.
* gcc.target/aarch64/aapcs/func-ret-4.c: New file.
* gcc.target/aarch64/aapcs/func-ret-4.x: New file.
* gcc.target/aarch64/aapcs/ice_1.c: New file.
* gcc.target/aarch64/aapcs/ice_2.c: New file.
* gcc.target/aarch64/aapcs/ice_3.c: New file.
* gcc.target/aarch64/aapcs/ice_4.c: New file.
* gcc.target/aarch64/aapcs/ice_5.c: New file.
* gcc.target/aarch64/aapcs/macro-def.h: New file.
* gcc.target/aarch64/aapcs/test_1.c: New file.
* gcc.target/aarch64/aapcs/test_10.c: New file.
* gcc.target/aarch64/aapcs/test_11.c: New file.
* gcc.target/aarch64/aapcs/test_12.c: New file.
* gcc.target/aarch64/aapcs/test_13.c: New file.
* gcc.target/aarch64/aapcs/test_14.c: New file.
* gcc.target/aarch64/aapcs/test_15.c: New file.
* gcc.target/aarch64/aapcs/test_16.c: New file.
* gcc.target/aarch64/aapcs/test_17.c: New file.
* gcc.target/aarch64/aapcs/test_18.c: New file.
* gcc.target/aarch64/aapcs/test_19.c: New file.
* gcc.target/aarch64/aapcs/test_2.c: New file.
* gcc.target/aarch64/aapcs/test_20.c: New file.
* gcc.target/aarch64/aapcs/test_21.c: New file.
* gcc.target/aarch64/aapcs/test_22.c: New file.
* gcc.target/aarch64/aapcs/test_23.c: New file.
* gcc.target/aarch64/aapcs/test_24.c: New file.
* gcc.target/aarch64/aapcs/test_25.c: New file.
* gcc.target/aarch64/aapcs/test_26.c: New file.
* gcc.target/aarch64/aapcs/test_3.c: New file.
* gcc.target/aarch64/aapcs/test_4.c: New file.
* gcc.target/aarch64/aapcs/test_5.c: New file.
* gcc.target/aarch64/aapcs/test_6.c: New file.
* gcc.target/aarch64/aapcs/test_7.c: New file.
* gcc.target/aarch64/aapcs/test_8.c: New file.
* gcc.target/aarch64/aapcs/test_9.c: New file.
* gcc.target/aarch64/aapcs/test_align-1.c: New file.
* gcc.target/aarch64/aapcs/test_align-2.c: New file.
* gcc.target/aarch64/aapcs/test_align-3.c: New file.
* gcc.target/aarch64/aapcs/test_align-4.c: New file.
* gcc.target/aarch64/aapcs/test_complex.c: New file.
* gcc.target/aarch64/aapcs/test_int128.c: New file.
* gcc.target/aarch64/aapcs/test_quad_double.c: New file.
* gcc.target/aarch64/aapcs/type-def.h: New file.
* gcc.target/aarch64/aapcs/va_arg-1.c: New file.
* gcc.target/aarch64/aapcs/va_arg-10.c: New file.
* gcc.target/aarch64/aapcs/va_arg-11.c: New file.
* gcc.target/aarch64/aapcs/va_arg-12.c: New file.
* gcc.target/aarch64/aapcs/va_arg-2.c: New file.
* gcc.target/aarch64/aapcs/va_arg-3.c: New file.
* gcc.target/aarch64/aapcs/va_arg-4.c: New file.
* gcc.target/aarch64/aapcs/va_arg-5.c: New file.
* gcc.target/aarch64/aapcs/va_arg-6.c: New file.
* gcc.target/aarch64/aapcs/va_arg-7.c: New file.
* gcc.target/aarch64/aapcs/va_arg-8.c: New file.
* gcc.target/aarch64/aapcs/va_arg-9.c: New file.
* gcc.target/aarch64/aapcs/validate_memory.h: New file.
* gcc.target/aarch64/aarch64.exp: New file.
* gcc.target/aarch64/adc-1.c: New file.
* gcc.target/aarch64/adc-2.c: New file.
* gcc.target/aarch64/asm-1.c: New file.
* gcc.target/aarch64/clrsb.c: New file.
* gcc.target/aarch64/clz.c: New file.
* gcc.target/aarch64/ctz.c: New file.
* gcc.target/aarch64/csinc-1.c: New file.
* gcc.target/aarch64/csinv-1.c: New file.
* gcc.target/aarch64/csneg-1.c: New file.
* gcc.target/aarch64/extend.c: New file.
* gcc.target/aarch64/fcvt.x: New file.
* gcc.target/aarch64/fcvt_double_int.c: New file.
* gcc.target/aarch64/fcvt_double_long.c: New file.
* gcc.target/aarch64/fcvt_double_uint.c: New file.
* gcc.target/aarch64/fcvt_double_ulong.c: New file.
* gcc.target/aarch64/fcvt_float_int.c: New file.
* gcc.target/aarch64/fcvt_float_long.c: New file.
* gcc.target/aarch64/fcvt_float_uint.c: New file.
* gcc.target/aarch64/fcvt_float_ulong.c: New file.
* gcc.target/aarch64/ffs.c: New file.
* gcc.target/aarch64/fmadd.c: New file.
* gcc.target/aarch64/fnmadd-fastmath.c: New file.
* gcc.target/aarch64/frint.x: New file.
* gcc.target/aarch64/frint_double.c: New file.
* gcc.target/aarch64/frint_float.c: New file.
* gcc.target/aarch64/index.c: New file.
* gcc.target/aarch64/mneg-1.c: New file.
* gcc.target/aarch64/mneg-2.c: New file.
* gcc.target/aarch64/mneg-3.c: New file.
* gcc.target/aarch64/mnegl-1.c: New file.
* gcc.target/aarch64/mnegl-2.c: New file.
* gcc.target/aarch64/narrow_high-intrinsics.c: New file.
* gcc.target/aarch64/pic-constantpool1.c: New file.
* gcc.target/aarch64/pic-symrefplus.c: New file.
* gcc.target/aarch64/predefine_large.c: New file.
* gcc.target/aarch64/predefine_small.c: New file.
* gcc.target/aarch64/predefine_tiny.c: New file.
* gcc.target/aarch64/reload-valid-spoff.c: New file.
* gcc.target/aarch64/scalar_intrinsics.c: New file.
* gcc.target/aarch64/table-intrinsics.c: New file.
* gcc.target/aarch64/tst-1.c: New file.
* gcc.target/aarch64/vect-abs-compile.c: New file.
* gcc.target/aarch64/vect-abs.c: New file.
* gcc.target/aarch64/vect-abs.x: New file.
* gcc.target/aarch64/vect-compile.c: New file.
* gcc.target/aarch64/vect-faddv-compile.c: New file.
* gcc.target/aarch64/vect-faddv.c: New file.
* gcc.target/aarch64/vect-faddv.x: New file.
* gcc.target/aarch64/vect-fmax-fmin-compile.c: New file.
* gcc.target/aarch64/vect-fmax-fmin.c: New file.
* gcc.target/aarch64/vect-fmax-fmin.x: New file.
* gcc.target/aarch64/vect-fmaxv-fminv-compile.c: New file.
* gcc.target/aarch64/vect-fmaxv-fminv.x: New file.
* gcc.target/aarch64/vect-fp-compile.c: New file.
* gcc.target/aarch64/vect-fp.c: New file.
* gcc.target/aarch64/vect-fp.x: New file.
* gcc.target/aarch64/vect-mull-compile.c: New file.
* gcc.target/aarch64/vect-mull.c: New file.
* gcc.target/aarch64/vect-mull.x: New file.
* gcc.target/aarch64/vect.c: New file.
* gcc.target/aarch64/vect.x: New file.
* gcc.target/aarch64/vector_intrinsics.c: New file.
* gcc.target/aarch64/vfp-1.c: New file.
* gcc.target/aarch64/volatile-bitfields-1.c: New file.
* gcc.target/aarch64/volatile-bitfields-2.c: New file.
* gcc.target/aarch64/volatile-bitfields-3.c: New file.
* g++.dg/abi/aarch64_guard1.C: New file.

Co-Authored-By: Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192725

12 years agoAArch64 [2/10]
Ian Bolton [Tue, 23 Oct 2012 17:06:03 +0000 (17:06 +0000)]
AArch64 [2/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    James Greenhalgh  <james.greenhalgh@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen,thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* doc/invoke.texi (AArch64 Options): New.
* doc/md.texi (Machine Constraints): Add AArch64.

Co-Authored-By: Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192724

12 years agoAArch64 [3/10]
Ian Bolton [Tue, 23 Oct 2012 17:02:30 +0000 (17:02 +0000)]
AArch64 [3/10]

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
    James Greenhalgh  <james.greenhalgh@arm.com>
    Jim MacArthur  <jim.macarthur@arm.com>
    Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
    Marcus Shawcroft  <marcus.shawcroft@arm.com>
    Nigel Stephens  <nigel.stephens@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <rearnsha@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>
    Stephen Thomas  <stephen.thomas@arm.com>
    Tejas Belagod  <tejas.belagod@arm.com>
    Yufeng Zhang  <yufeng.zhang@arm.com>

* common/config/aarch64/aarch64-common.c: New file.
* config/aarch64/aarch64-arches.def: New file.
* config/aarch64/aarch64-builtins.c: New file.
* config/aarch64/aarch64-cores.def: New file.
* config/aarch64/aarch64-elf-raw.h: New file.
* config/aarch64/aarch64-elf.h: New file.
* config/aarch64/aarch64-generic.md: New file.
* config/aarch64/aarch64-linux.h: New file.
* config/aarch64/aarch64-modes.def: New file.
* config/aarch64/aarch64-option-extensions.def: New file.
* config/aarch64/aarch64-opts.h: New file.
* config/aarch64/aarch64-protos.h: New file.
* config/aarch64/aarch64-simd.md: New file.
* config/aarch64/aarch64-tune.md: New file.
* config/aarch64/aarch64.c: New file.
* config/aarch64/aarch64.h: New file.
* config/aarch64/aarch64.md: New file.
* config/aarch64/aarch64.opt: New file.
* config/aarch64/arm_neon.h: New file.
* config/aarch64/constraints.md: New file.
* config/aarch64/gentune.sh: New file.
* config/aarch64/iterators.md: New file.
* config/aarch64/large.md: New file.
* config/aarch64/predicates.md: New file.
* config/aarch64/small.md: New file.
* config/aarch64/sync.md: New file.
* config/aarch64/t-aarch64-linux: New file.
* config/aarch64/t-aarch64: New file.

Co-Authored-By: Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192723

12 years agore PR c++/54988 (fpmath=sse target pragma causes inlining failure because of target...
Jakub Jelinek [Tue, 23 Oct 2012 16:55:56 +0000 (18:55 +0200)]
re PR c++/54988 (fpmath=sse target pragma causes inlining failure because of target specific option mismatch)

PR c++/54988
* decl2.c (cplus_decl_attributes): Don't return early
if attributes is NULL.

* c-c++-common/pr54988.c: New test.

From-SVN: r192722

12 years agotree-ssa-operands.h (struct def_optype_d, [...]): Remove.
Michael Matz [Tue, 23 Oct 2012 16:29:03 +0000 (16:29 +0000)]
tree-ssa-operands.h (struct def_optype_d, [...]): Remove.

* tree-ssa-operands.h (struct def_optype_d, def_optype_p): Remove.
(ssa_operands.free_defs): Remove.
(DEF_OP_PTR, DEF_OP): Remove.
(struct ssa_operand_iterator_d): Remove 'defs', add 'flags'
members, rename 'phi_stmt' to 'stmt', 'phi_i' to 'i' and 'num_phi'
to 'numops'.
* gimple.h (gimple_statement_with_ops.def_ops): Remove.
(gimple_def_ops, gimple_set_def_ops): Remove.
(gimple_vdef_op): Don't take const gimple, adjust.
(gimple_asm_input_op, gimple_asm_input_op_ptr,
gimple_asm_set_input_op, gimple_asm_output_op,
gimple_asm_output_op_ptr, gimple_asm_set_output_op): Adjust asserts,
and rewrite to move def operands to front.
(gimple_asm_clobber_op, gimple_asm_set_clobber_op,
gimple_asm_label_op, gimple_asm_set_label_op): Correct asserts.
* tree-ssa-operands.c (build_defs): Remove.
(init_ssa_operands): Don't initialize it.
(fini_ssa_operands): Don't free it.
(cleanup_build_arrays): Don't truncate it.
(finalize_ssa_stmt_operands): Don't assert on it.
(alloc_def, add_def_op, append_def): Remove.
(finalize_ssa_defs): Remove building of def_ops list.
(finalize_ssa_uses): Don't mark for SSA renaming here, ...
(add_stmt_operand): ... but here, don't call append_def.
(get_indirect_ref_operands): Remove recurse_on_base argument.
(get_expr_operands): Adjust call to get_indirect_ref_operands.
(verify_ssa_operands): Don't check def operands.
(free_stmt_operands): Don't free def operands.
* gimple.c (gimple_copy): Don't clear def operands.
* tree-flow-inline.h (op_iter_next_use): Adjust to explicitely
handle def operand.
(op_iter_next_tree, op_iter_next_def): Ditto.
(clear_and_done_ssa_iter): Clear new fields.
(op_iter_init): Adjust to setup new iterator structure.
(op_iter_init_phiuse): Adjust.

From-SVN: r192721

12 years agoarm.c (offset_ok_for_ldrd_strd): Return false for Thumb1.
Greta Yorsh [Tue, 23 Oct 2012 16:23:49 +0000 (17:23 +0100)]
arm.c (offset_ok_for_ldrd_strd): Return false for Thumb1.

gcc/

2012-10-23  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.c (offset_ok_for_ldrd_strd): Return false for
Thumb1.

From-SVN: r192720

12 years agodbxout.c (dbxout_symbol_location): Pass new argument to alter_subreg.
Vladimir Makarov [Tue, 23 Oct 2012 15:51:41 +0000 (15:51 +0000)]
dbxout.c (dbxout_symbol_location): Pass new argument to alter_subreg.

2012-10-23  Vladimir Makarov  <vmakarov@redhat.com>

* dbxout.c (dbxout_symbol_location): Pass new argument to
alter_subreg.
* dwarf2out.c: Include ira.h and lra.h.
(based_loc_descr, compute_frame_pointer_to_fb_displacement): Use
lra_eliminate_regs for LRA instead of eliminate_regs.
* expr.c (emit_move_insn_1): Pass an additional argument to
emit_move_via_integer.  Use emit_move_via_integer for LRA only if
the insn is recognized.
* emit-rtl.c (gen_rtx_REG): Add lra_in_progress.
(validate_subreg): Don't check offset for LRA and floating point
modes.
* final.c (final_scan_insn, cleanup_subreg_operands): Pass new
argument to alter_subreg.
(walk_alter_subreg, output_operand): Ditto.
(alter_subreg): Add new argument.
* gcse.c (calculate_bb_reg_pressure): Add parameter to
ira_setup_eliminable_regset call.
* ira.c: Include lra.h.
(ira_init_once, ira_init, ira_finish_once): Call lra_start_once,
lra_init, lra_finish_once in anyway.
(ira_setup_eliminable_regset): Add parameter.  Remove need_fp.
Call lra_init_elimination and mark HARD_FRAME_POINTER_REGNUM as
living forever if frame_pointer_needed.
(setup_reg_class_relations): Set up ira_reg_class_subset.
(ira_reg_equiv_invariant_p, ira_reg_equiv_const): Remove.
(find_reg_equiv_invariant_const): Ditto.
(setup_reg_renumber): Use ira_equiv_no_lvalue_p instead of
ira_reg_equiv_invariant_p.  Skip caps for LRA.
(setup_reg_equiv_init, ira_update_equiv_info_by_shuffle_insn): New
functions.
(ira_reg_equiv_len, ira_reg_equiv): New externals.
(ira_reg_equiv): New.
(ira_expand_reg_equiv, init_reg_equiv, finish_reg_equiv): New
functions.
(no_equiv, update_equiv_regs): Use ira_reg_equiv instead of
reg_equiv_init.
(setup_reg_equiv): New function.
(ira_use_lra_p): New global.
(ira): Set up lra_simple_p and ira_conflicts_p.  Set up and
restore flag_caller_saves and flag_ira_region.  Move
initialization of ira_obstack and ira_bitmap_obstack upper.  Call
init_reg_equiv, setup_reg_equiv, and setup_reg_equiv_init instead
of initialization of ira_reg_equiv_len, ira_reg_equiv_invariant_p,
and ira_reg_equiv_const.  Call ira_setup_eliminable_regset with a
new argument.  Don't flatten IRA IRA for LRA.  Don't reassign
conflict allocnos for LRA. Call finish_reg_equiv.
        (do_reload): Prepare code for LRA call.  Call LRA.
* ira.h (ira_use_lra_p): New external.
(struct target_ira): Add members x_ira_class_subset_p
x_ira_reg_class_subset, and x_ira_reg_classes_intersect_p.
(ira_class_subset_p, ira_reg_class_subset): New macros.
(ira_reg_classes_intersect_p): New macro.
(struct ira_reg_equiv): New.
(ira_setup_eliminable_regset): Add an argument.
(ira_expand_reg_equiv, ira_update_equiv_info_by_shuffle_insn): New
prototypes.
* ira-color.c (color_pass, move_spill_restore, coalesce_allocnos):
Use ira_equiv_no_lvalue_p.
(coalesce_spill_slots, ira_sort_regnos_for_alter_reg): Ditto.
* ira-emit.c (ira_create_new_reg): Call ira_expand_reg_equiv.
(generate_edge_moves, change_loop) Use ira_equiv_no_lvalue_p.
(emit_move_list): Simplify code.  Call
ira_update_equiv_info_by_shuffle_insn.  Use ira_reg_equiv instead
of ira_reg_equiv_invariant_p and ira_reg_equiv_const.  Change
assert.
* ira-int.h (struct target_ira_int): Remove x_ira_class_subset_p
and x_ira_reg_classes_intersect_p.
(ira_class_subset_p, ira_reg_classes_intersect_p): Remove.
(ira_reg_equiv_len, ira_reg_equiv_invariant_p): Ditto.
(ira_reg_equiv_const): Ditto.
(ira_equiv_no_lvalue_p): New function.
* jump.c (true_regnum): Always use hard_regno for subreg_get_info
when lra is in progress.
* haifa-sched.c (sched_init): Pass new argument to
ira_setup_eliminable_regset.
* loop-invariant.c (calculate_loop_reg_pressure): Pass new
argument to ira_setup_eliminable_regset.
* lra.h: New.
* lra-int.h: Ditto.
* lra.c: Ditto.
* lra-assigns.c: Ditto.
* lra-constraints.c: Ditto.
* lra-coalesce.c: Ditto.
* lra-eliminations.c: Ditto.
* lra-lives.c: Ditto.
* lra-spills.c: Ditto.
* Makefile.in (LRA_INT_H): New.
(OBJS): Add lra.o, lra-assigns.o, lra-coalesce.o,
lra-constraints.o, lra-eliminations.o, lra-lives.o, and
lra-spills.o.
(dwarf2out.o): Add dependence on ira.h and lra.h.
(ira.o): Add dependence on lra.h.
(lra.o, lra-assigns.o, lra-coalesce.o, lra-constraints.o): New
entries.
(lra-eliminations.o, lra-lives.o, lra-spills.o): Ditto.
* output.h (alter_subreg): Add new argument.
* rtlanal.c (simplify_subreg_regno): Permit mode changes for LRA.
Permit ARG_POINTER_REGNUM and STACK_POINTER_REGNUM for LRA.
* recog.c (general_operand, register_operand): Accept paradoxical
FLOAT_MODE subregs for LRA.
(scratch_operand): Accept pseudos for LRA.
* rtl.h (lra_in_progress): New external.
(debug_bb_n_slim, debug_bb_slim, print_value_slim): New
prototypes.
(debug_rtl_slim, debug_insn_slim): Ditto.
* sdbout.c (sdbout_symbol): Pass new argument to alter_subreg.
* sched-vis.c (print_value_slim): New.
* target.def (lra_p): New hook.
(register_priority): Ditto.
(different_addr_displacement_p): Ditto.
(spill_class): Ditto.
* target-globals.h (this_target_lra_int): New external.
(target_globals): New member lra_int.
(restore_target_globals): Restore this_target_lra_int.
* target-globals.c: Include lra-int.h.
(default_target_globals): Add &default_target_lra_int.
* targhooks.c (default_lra_p): New function.
(default_register_priority): Ditto.
(default_different_addr_displacement_p): Ditto.
* targhooks.h (default_lra_p): Declare.
(default_register_priority): Ditto.
(default_different_addr_displacement_p): Ditto.
* timevar.def (TV_LRA, TV_LRA_ELIMINATE, TV_LRA_INHERITANCE): New.
(TV_LRA_CREATE_LIVE_RANGES, TV_LRA_ASSIGN, TV_LRA_COALESCE): New.
* config/arm/arm.c (load_multiple_sequence): Pass new argument to\eOB
alter_subreg.
(store_multiple_sequence): Ditto.
* config/i386/i386.h (enum ix86_tune_indices): Add
X86_TUNE_GENERAL_REGS_SSE_SPILL.
(TARGET_GENERAL_REGS_SSE_SPILL): New macro.
* config/i386/i386.c (initial_ix86_tune_features): Set up
X86_TUNE_GENERAL_REGS_SSE_SPILL for m_COREI7 and m_CORE2I7.
(ix86_lra_p, ix86_register_priority): New functions.
(ix86_secondary_reload): Add NON_Q_REGS, SIREG, DIREG.
(inline_secondary_memory_needed): Change assert.
(ix86_spill_class): New function.
(TARGET_LRA_P, TARGET_REGISTER_BANK, TARGET_SPILL_CLASS): New
macros.
* config/m68k/m68k.c (emit_move_sequence): Pass new argument to
alter_subreg.
* config/m32r/m32r.c (gen_split_move_double): Ditto.
* config/pa/pa.c (pa_emit_move_sequence): Ditto.
* config/sh/sh.md: Ditto.
* config/v850/v850.c (v850_reorg): Ditto.
* config/xtensa/xtensa.c (fixup_subreg_mem): Ditto.
* doc/md.texi: Add new interpretation of hint * for LRA.
* doc/passes.texi: Describe LRA pass.
* doc/tm.texi.in: Add TARGET_LRA_P, TARGET_REGISTER_PRIORITY,
TARGET_DIFFERENT_ADDR_DISPLACEMENT_P, and TARGET_SPILL_CLASS.
* doc/tm.texi: Update.

From-SVN: r192719

12 years agopeel-1.c: New testcase.
Jan Hubicka [Tue, 23 Oct 2012 15:15:58 +0000 (15:15 +0000)]
peel-1.c: New testcase.

* gcc.dg/tree-prof/peel-1.c: New testcase.
* loop-unroll.c (decide_peel_simple): Simple peeling makes sense even
with simple loops; bound number of branches only when FDO is not
available.
(decide_unroll_stupid): Mention that num_loop_branches heuristics
is off.

From-SVN: r192718

12 years agore PR target/54660 (iq2000_function_arg_advance: format ‘%p expects argument of type...
Nick Clifton [Tue, 23 Oct 2012 15:02:47 +0000 (15:02 +0000)]
re PR target/54660 (iq2000_function_arg_advance: format ‘%p expects argument of type ‘void*’, but argument 3 has type ‘const_tree)

PR target/54660
* config/iq2000/iq2000.c (iq2000_function_arg_advance): Suppress
compile time warning about pointer printing.

From-SVN: r192717

12 years agore PR testsuite/52945 (FAIL: gcc.dg/lto/pr52634 c_lto_pr52634_1.o assemble, -O* ...
Dominique d'Humieres [Tue, 23 Oct 2012 14:59:02 +0000 (16:59 +0200)]
re PR testsuite/52945 (FAIL: gcc.dg/lto/pr52634 c_lto_pr52634_1.o assemble, -O* -flto *)

PR gcc/52945
* testsuite/gcc.dg/lto/pr52634_0.c: skip the test on Darwin.

From-SVN: r192716

12 years agogcc:
Joseph Myers [Tue, 23 Oct 2012 14:55:55 +0000 (15:55 +0100)]
gcc:

* config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
*-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Use
glibc-c.o in c_target_objs and cxx_target_objs.  Use t-glibc in
tmake_file.  Set target_has_targetcm.
(tilegx-*-linux*, tilepro-*-linux*): Append to c_target_objs and
cxx_target_objs rather than overriding previous value.
* config/glibc-c.c, config/t-glibc: New.
* doc/tm.texi.in (TARGET_C_PREINCLUDE): New @hook.
* doc/tm.texi: Regenerate.
* hooks.c (hook_constcharptr_void_null): New.
* hooks.h (hook_constcharptr_void_null): Declare.

gcc/c-family:
* c-common.h (pch_cpp_save_state): Declare.
* c-target.def (c_preinclude): New hook.
* c-opts.c (done_preinclude): New.
(push_command_line_include): Handle default preincluded header.
(cb_file_change): Call pch_cpp_save_state when calling
push_command_line_include.
* c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
(pch_cpp_save_state): New.
(pch_init): Call pch_cpp_save_state conditionally, instead of
calling cpp_save_state.

gcc/testsuite:
* gcc.dg/c99-predef-1.c: New test.
* gcc.dg/cpp/cmdlne-dU-1.c, gcc.dg/cpp/cmdlne-dU-2.c,
gcc.dg/cpp/cmdlne-dU-3.c, gcc.dg/cpp/cmdlne-dU-4.c,
gcc.dg/cpp/cmdlne-dU-5.c, gcc.dg/cpp/cmdlne-dU-6.c,
gcc.dg/cpp/cmdlne-dU-7.c, gcc.dg/cpp/cmdlne-dU-8.c,
gcc.dg/cpp/cmdlne-dU-9.c, gcc.dg/cpp/cmdlne-dU-10.c,
gcc.dg/cpp/cmdlne-dU-11.c, gcc.dg/cpp/cmdlne-dU-12.c,
gcc.dg/cpp/cmdlne-dU-13.c, gcc.dg/cpp/cmdlne-dU-14.c,
gcc.dg/cpp/cmdlne-dU-15.c, gcc.dg/cpp/cmdlne-dU-16.c,
gcc.dg/cpp/cmdlne-dU-17.c, gcc.dg/cpp/cmdlne-dU-18.c,
gcc.dg/cpp/cmdlne-dU-19.c, gcc.dg/cpp/cmdlne-dU-20.c,
gcc.dg/cpp/cmdlne-dU-21.c, gcc.dg/cpp/cmdlne-dU-22.c,
gcc.dg/cpp/mi5.c, gcc.dg/cpp/multiline.c: Add -nostdinc to
dg-options.

libcpp:
* files.c (struct _cpp_file): Add implicit_preinclude.
(pch_open_file): Allow a previously opened implicitly included
file.
(_cpp_find_file): Add implicit_preinclude argument.  Free file and
do not call open_file_failed if implicit_preinclude.  Store
implicit_preinclude value.
(_cpp_stack_include, _cpp_fake_include, _cpp_compare_file_date):
Update calls to _cpp_find_file.
(_cpp_stack_include): Handle IT_DEFAULT.
(cpp_push_default_include): New.
* include/cpplib.h (cpp_push_default_include): Declare.
* init.c (cpp_read_main_file): Update call to _cpp_find_file.
* internal.h (enum include_type): Add IT_DEFAULT.
(_cpp_find_file): Update prototype.

From-SVN: r192715

12 years agolinux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.
Eric Botcazou [Tue, 23 Oct 2012 14:40:07 +0000 (14:40 +0000)]
linux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.

* config/mips/linux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.
(STACK_CHECK_PROTECT): Likewise.
* config/mips/mips.h (MIPS_PROLOGUE_TEMP2_REGNUM): Likewise.
(MIPS_PROLOGUE_TEMP2): Likewise.
* config/mips/mips-protos.h (mips_output_probe_stack_range): Declare.
* config/mips/mips.c: Include common/common-target.h.
(mips_emit_probe_stack_range): New function.
(mips_output_probe_stack_range): Likewise.
(mips_expand_prologue): Invoke mips_emit_probe_stack_range if static
builtin stack checking is enabled.
* config/mips/mips.md (UNSPEC_PROBE_STACK_RANGE): New constant.
(probe_stack_range_<P:mode>): New insn.
ada/
* system-linux-mipsel.ads (Stack_Check_Probes): Set to True.
* system-linux-mips.ads (Stack_Check_Probes): Likewise.
* system-linux-mips64el.ads (Stack_Check_Probes): Likewise.

From-SVN: r192713

12 years agotree-ssa-forwprop.c (forward_propagate_into_cond): Handle vectors.
Marc Glisse [Tue, 23 Oct 2012 12:51:22 +0000 (14:51 +0200)]
tree-ssa-forwprop.c (forward_propagate_into_cond): Handle vectors.

2012-10-23  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-ssa-forwprop.c (forward_propagate_into_cond): Handle vectors.
* fold-const.c (fold_relational_const): Handle VECTOR_CST.
* doc/generic.texi (VEC_COND_EXPR): Document current policy.

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

From-SVN: r192711

12 years agore PR tree-optimization/54937 (Invalid loop bound estimate)
Jan Hubicka [Tue, 23 Oct 2012 10:00:19 +0000 (12:00 +0200)]
re PR tree-optimization/54937 (Invalid loop bound estimate)

PR middle-end/54937
* tree-ssa-loop-niter.c (record_estimate): Do not try to lower
the bound of non-is_exit statements.
(maybe_lower_iteration_bound): Do it here.
(estimate_numbers_of_iterations_loop): Call it.
* gcc.c-torture/execute/pr54937.c: New testcase.
* gcc.dg/tree-ssa/cunroll-2.c: Update.

From-SVN: r192710

This page took 0.127736 seconds and 5 git commands to generate.