platform/upstream/gcc.git
13 years agoMAINTAINERS (Write After Approval): Add myself.
Stuart Henderson [Thu, 7 Apr 2011 11:09:02 +0000 (11:09 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2011-04-07  Stuart Henderson  <shenders@gcc.gnu.org>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r172095

13 years agore PR target/43920 (Choosing conditional execution over conditional branches for...
Tom de Vries [Thu, 7 Apr 2011 09:48:39 +0000 (09:48 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)

2011-04-07  Tom de Vries  <tom@codesourcery.com>

PR target/43920
* cfgcleanup.c (try_crossjump_to_edge): Add dir parameter.  Pass dir to
flow_find_cross_jump.  Swap variables to implement backward replacement.
(try_crossjump_bb): Add argument to try_crossjump_to_edge.

From-SVN: r172094

13 years agore PR target/43920 (Choosing conditional execution over conditional branches for...
Tom de Vries [Thu, 7 Apr 2011 09:28:11 +0000 (09:28 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)

2011-04-07  Tom de Vries  <tom@codesourcery.com>

PR target/43920
* lib/scanasm.exp (object-size): New proc.
* gcc.target/arm/pr43920-2.c: New test.

From-SVN: r172093

13 years agore PR target/43920 (Choosing conditional execution over conditional branches for...
Tom de Vries [Thu, 7 Apr 2011 08:35:23 +0000 (08:35 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)

2011-04-07  Tom de Vries  <tom@codesourcery.com>

PR target/43920
* cfgcleanup.c (walk_to_nondebug_insn): New function.
(flow_find_cross_jump): Use walk_to_nondebug_insn.  Recalculate bb1 and
bb2.
(try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not src1
or src2.  Redirect edges to the last basic block.  Update frequency and
count on multiple basic blocks in case of fallthru.

From-SVN: r172091

13 years agore PR target/43920 (Choosing conditional execution over conditional branches for...
Tom de Vries [Thu, 7 Apr 2011 08:10:34 +0000 (08:10 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)

2011-04-07  Tom de Vries  <tom@codesourcery.com>

PR target/43920
* cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
function.
(old_insns_match_p): Change return type.  Replace return false/true with
return dir_none/dir_both.  Use can_replace_by.
(flow_find_cross_jump): Add dir_p parameter.  Init replacement direction
from dir_p.  Register replacement direction in dir, last_dir and
afterlast_dir. Handle new return type of old_insns_match_p using
merge_dir.  Return replacement direction in dir_p.
(flow_find_head_matching_sequence, outgoing_edges_match): Handle new
return type of old_insns_match_p.
(try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
* ifcvt.c ( cond_exec_process_if_block): Add argument to call to
flow_find_cross_jump.
* basic-block.h (enum replace_direction): New type.
(flow_find_cross_jump): Add parameter to declaration.

From-SVN: r172090

13 years agoIn C++0x mode, import iota and is_sorted from namespace std into namespace __gnu_cxx...
Jeffrey Yasskin [Thu, 7 Apr 2011 04:11:12 +0000 (04:11 +0000)]
In C++0x mode, import iota and is_sorted from namespace std into namespace __gnu_cxx to avoid ambiguous call errors.

In C++0x mode, import iota and is_sorted from namespace std into
namespace __gnu_cxx to avoid ambiguous call errors.  copy_n would be a
good candidate for this too, except it was standardized with a
different return type.

Tested:
  `make -k check-c++` on x86_64-unknown-linux-gnu.

libstdc++-v3/ChangeLog:

2011-04-06  Jeffrey Yasskin  <jyasskin@google.com>

        * include/ext/algorithm (is_sorted): In C++0x mode import from
        namespace std.
        * include/ext/numeric (iota): In C++0x mode import from
        namespace std.
        * testsuite/ext/is_sorted/cxx0x.cc: New.
        * testsuite/ext/iota/cxx0x.cc: New.

From-SVN: r172073

13 years agoDaily bump.
GCC Administrator [Thu, 7 Apr 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r172072

13 years agoUse backend interface for constant switch statements.
Ian Lance Taylor [Wed, 6 Apr 2011 23:07:13 +0000 (23:07 +0000)]
Use backend interface for constant switch statements.

* go-gcc.cc (if_statement): Use build3_loc.
(Gcc_backend::switch_statement): New function.
(Gcc_backend::statement_list): New function.

From-SVN: r172066

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Wed, 6 Apr 2011 18:32:27 +0000 (20:32 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        PR fortran/48477
        * gfortran.dg/coarray_13.f90: Avoid out-of-bounds access.

From-SVN: r172061

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Wed, 6 Apr 2011 18:30:58 +0000 (20:30 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
        call for this_image.

From-SVN: r172060

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Wed, 6 Apr 2011 18:29:55 +0000 (20:29 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
        Add global variable caf_mpi_initialized and use it for when
        finalizing.

From-SVN: r172059

13 years agosse.md (AVXMODEDCVTDQ2PS): Remove.
Uros Bizjak [Wed, 6 Apr 2011 17:39:27 +0000 (19:39 +0200)]
sse.md (AVXMODEDCVTDQ2PS): Remove.

* config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
(AVXMODEDCVTPS2DQ): Ditto.
(VEC_FLOAT_MODE): Ditto.
(<sse>_andnot<mode>3): Merge with avx_andnot<mode>3.  Use VF mode
iterator.  Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
(<any_logic:code><mode>3): Use VF mode iterator.
(*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
Use VF mode iterator.
(copysign<mode>3): Use VF mode iterator.
(*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3.  Handle
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
(*<any_logic:code><MODEF:mode>3): Merge with
*avx_<any_logic:code><MODEF:mode>3.
(sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
(sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
(avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
(avx_cvtdq2ps<avxmodesuffix>): Remove.
(sse2_cvtdq2ps): Use %v modifier.
(avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
(avx_cvtps2dq<avxmodesuffix>): Remove.
(sse2_cvtps2dq): Use %v modifier.
(avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
(avx_cvttps2dq<avxmodesuffix>): Remove.
(sse2_cvttps2dq): Use %v modifier.
(sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
(sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
(sse2_cvtsd2siq): Fix insn template.
(sse2_cvtsd2siq_2): Ditto.
(sse2_cvttsd2siq): Ditto.
(sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
(sse2_cvtss2sd): Merge with *avx_cvtss2sd.

From-SVN: r172058

13 years agomtune.c: Prune note from output.
Steve Ellcey [Wed, 6 Apr 2011 16:15:28 +0000 (16:15 +0000)]
mtune.c: Prune note from output.

2011-04-06  Steve Ellcey  <sje@cup.hp.com>

* gcc.dg/mtune.c: Prune note from output.

From-SVN: r172056

13 years ago* gcov-io.c: Use GCC Runtime Library Exception.
Joseph Myers [Wed, 6 Apr 2011 16:04:18 +0000 (17:04 +0100)]
* gcov-io.c: Use GCC Runtime Library Exception.

From-SVN: r172053

13 years agoUse backend interface for if statements.
Ian Lance Taylor [Wed, 6 Apr 2011 15:46:53 +0000 (15:46 +0000)]
Use backend interface for if statements.

Rename some temporary conversion functions to shorter names.

* go-gcc.cc (Gcc_backend::if_statement): New function.
(tree_to_stat): New function.
(expr_to_tree): Renamed from expression_to_tree.
(stat_to_tree): Renamed from statement_to_tree.

From-SVN: r172052

13 years agoUse backend interface for expression statements.
Ian Lance Taylor [Wed, 6 Apr 2011 15:30:20 +0000 (15:30 +0000)]
Use backend interface for expression statements.

* go-gcc.cc (Gcc_backend::expression_statement): New function.

From-SVN: r172051

13 years agore PR testsuite/48480 (FAIL: staticrootslib.lo -O2 (test for excess errors))
Rainer Orth [Wed, 6 Apr 2011 15:23:33 +0000 (15:23 +0000)]
re PR testsuite/48480 (FAIL: staticrootslib.lo -O2 (test for excess errors))

PR testsuite/48480
* testsuite/lib/boehm-gc.exp (boehm-gc-dg-prune): Allow for path
to ranlib.

From-SVN: r172050

13 years agoconfigure.ac (build_tools): Remove build-byacc.
Joseph Myers [Wed, 6 Apr 2011 12:18:12 +0000 (13:18 +0100)]
configure.ac (build_tools): Remove build-byacc.

* configure.ac (build_tools): Remove build-byacc.
(host_libs): Remove mmalloc.
(host_tools): Remove byacc make patch prms send-pr ash bash bzip2
autoconf automake libtool diff rcs fileutils shellutils time
textutils wdiff find uudecode hello tar gzip indent recode release
sed perl gawk findutils gettext zip.
(libgcj): Remove target-qthreads.
(target_tools): Remove target-examples target-gperf.
(YACC): Don't handle building byacc.
* configure: Regenerate.
* Makefile.def (ash, autoconf, automake, bash, byacc, bzip2, diff,
dosutils, examples, fileutils, find, findutils, gawk, gettext,
gnuserv, gperf, gzip, hello, indent, libtool, make, mmalloc,
patch, perl, prms, qthreads, rcs, recode, release, sed, send-pr,
shellutils, tar, textutils, time, uudecode, wdiff, zip): Don't
handle building components.
* Makefile.in: Regenerate.

From-SVN: r172042

13 years agore PR debug/48466 (Wrong variable locations at -O0 on i686)
Jakub Jelinek [Wed, 6 Apr 2011 11:49:59 +0000 (13:49 +0200)]
re PR debug/48466 (Wrong variable locations at -O0 on i686)

PR debug/48466
* dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
as base_reg whatever register reg has been eliminated to, instead
of hardcoding STACK_POINTER_REGNUM.

* gcc.dg/guality/pr36977.c: New test.
* gcc.dg/guality/pr48466.c: New test.

From-SVN: r172039

13 years agotm.texi.in: Document C target hooks as separate from general target hooks.
Joseph Myers [Wed, 6 Apr 2011 11:08:17 +0000 (12:08 +0100)]
tm.texi.in: Document C target hooks as separate from general target hooks.

* doc/tm.texi.in: Document C target hooks as separate from general
target hooks.
* doc/tm.texi: Regenerate.
* genhooks.c (struct hook_desc): Add docname field.
(HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC).  Initialize
docname field.
(hook_array): Include c-target.def.
(emit_documentation): Use docname field in output.
(emit_init_macros): Take docname argument.  Only emit definitions
for hooks matching docname.
(main): Expect additional arguments in all cases.  Pass argument
to emit_init_macros.
* target.def: Move initial macro definitions and comments to
target-hooks-macros.h.
(gcc_targetcm): Move to c-family/c-target.def.
* target.h (targetcm): Move declaration to c-family/c-target.h.
* targhooks.c (default_handle_c_option): Move to
c-family/c-opts.c.
* targhooks.h (default_handle_c_option): Move declaration to
c-family/c-common.h.
* target-hooks-macros.h: New file.
* config.gcc (target_has_targetcm): Define and use to add to
c_target_objs and cxx_target_objs.
* config/default-c.c: New file.
* config/darwin-c.c: Include c-target.h and c-target-def.h instead
of target.h and target-def.h.
(TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
(darwin_objc_construct_string, darwin_cfstring_ref_p,
darwin_check_cfstring_format_arg): Make static.
(TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
TARGET_STRING_OBJECT_REF_TYPE_P,
TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
* config/darwin-protos.h (darwin_objc_construct_string,
darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
declare.
* config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
TARGET_STRING_OBJECT_REF_TYPE_P,
TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM):
Remove.
* config/t-darwin (darwin-c.o): Update dependencies.
* system.h (TARGET_HAS_TARGETCM): Poison.
* Makefile.in (TARGET_H): Update.
(TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
(c-family/c-format.o, c-family/c-opts.o): Update dependencies.
(default-c.o): New target.
(s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
(c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New
targets.
(s-tm-texi): Pass -d option to genhooks.  Also test timestamp on
c-target.def.
(build/genhooks.o): Update dependencies.

c-family:
* c-target-def.h: New file.
* c-target.def: New file.
* c-target.h: New file.
* c-common.c (targetcm): Don't define here.
* c-common.h (default_handle_c_option): Declare.
* c-format.c: Include c-target.h instead of target.h.
* c-opts.c: Include c-target.h instead of target.h.  Explicitly
include tm.h.
(default_handle_c_option): Move from targhooks.c.

objc:
* objc-act.c: Include c-target.h instead of target.h.
* Make-lang.in (objc/objc-act.o): Update dependencies.

From-SVN: r172035

13 years agoipa-inline.c (enum inlining_mode): Remove.
Richard Guenther [Wed, 6 Apr 2011 10:16:30 +0000 (10:16 +0000)]
ipa-inline.c (enum inlining_mode): Remove.

2011-04-06  Richard Guenther  <rguenther@suse.de>

* ipa-inline.c (enum inlining_mode): Remove.
(cgraph_flatten): Use some other token.
(cgraph_edge_early_inlinable_p): New function, split out from ...
(cgraph_perform_always_inlining): New function, split out from ...
(cgraph_decide_inlining_incrementally): ... here.
(cgraph_mark_inline_edge): Adjust.
(cgraph_early_inlining): Re-structure.
(pass_early_inline): Require SSA form.

From-SVN: r172033

13 years agoarm.h (arm_class_likely_spilled_p): Check against LO_REGS only for Thumb-1.
Andrew Stubbs [Wed, 6 Apr 2011 09:52:52 +0000 (09:52 +0000)]
arm.h (arm_class_likely_spilled_p): Check against LO_REGS only for Thumb-1.

2011-03-06  Andrew Stubbs  <ams@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>
    Mark Shinwell  <shinwell@codesourcery.com>

gcc/
* config/arm/arm.h (arm_class_likely_spilled_p): Check against
LO_REGS only for Thumb-1.
(MODE_BASE_REG_CLASS): Restrict base registers to those which can
be used in short instructions when optimising for size on Thumb-2.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
From-SVN: r172032

13 years agoFix commit for PR target/43920
Ramana Radhakrishnan [Wed, 6 Apr 2011 09:41:07 +0000 (09:41 +0000)]
Fix commit for PR target/43920

From-SVN: r172031

13 years agogimple-low.c (lower_gimple_return): When not optimizing, force labels associated...
Eric Botcazou [Wed, 6 Apr 2011 09:34:02 +0000 (09:34 +0000)]
gimple-low.c (lower_gimple_return): When not optimizing, force labels associated with user returns to be preserved.

* gimple-low.c (lower_gimple_return): When not optimizing, force labels
associated with user returns to be preserved.

From-SVN: r172030

13 years agodbxout.c: (debug_nesting...
Tristan Gingold [Wed, 6 Apr 2011 09:29:53 +0000 (09:29 +0000)]
dbxout.c: (debug_nesting...

2011-04-06  Tristan Gingold  <gingold@adacore.com>

* dbxout.c: (debug_nesting, symbol_queue, symbol_queue_index)
(symbol_queue_size, DBXOUT_DECR_NESTING)
(DBXOUT_DECR_NESTING_AND_RETURN): Also define
if XCOFF_DEBUGGING_INFO.

From-SVN: r172029

13 years agoi386.md (attribute isa): New.
Uros Bizjak [Wed, 6 Apr 2011 09:24:46 +0000 (11:24 +0200)]
i386.md (attribute isa): New.

* config/i386/i386.md (attribute isa): New.
(attribute enabled): New.
(setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
(*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
(*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
(*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
(*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
(<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
(*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
(*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.

* config/i386/sse.md (VF): New mode iterator.
(VF1): Ditto.
(VF2): Ditto.
(VF_128): Ditto.
(SSEMODEF4): Remove.
(attribute sse): Handle V8SF and V4DF modes.
(<absneg:code><mode>2): Use VF mode iterator.
(*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2.  Use VF
mode iterator.
(<plusminus_insn><mode>3): Use VF mode iterator.
(*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
Use VF mode iterator.
(<sse>_vm<plusminus_insn><mode>3): Merge with
*avx_vm<plusminus_insn><mode>3.  Use VF_128 mode iterator.
(mul<mode>3): Use VF mode iterator.
(*mul<mode>3): Merge with *avx_mul<mode>3.  Use VF mode iterator.
(<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3.  Use VF_128
mode iterator.
(div<VF2:mode>3): Merge from divv2df3 and divv4df3.
(div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
(<sse>_div<mode>3): Merge with *avx_div<mode>3.  Use VF mode iterator.
(<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3.  Use VF_128
mode iterator.
(<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
Use VF1 mode iterator.
(sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
(sqrt<VF2:mode>2): New expander.
(sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
(<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
and sqrtv2df2.  Use VF mode iterator.
(<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2.  Use VF_128
mode iterator.
(rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
(<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
Use VF1 mode iterator.
(sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
(<smaxmin:code><mode>3): Use VF mode iterator.
(*<smaxmin:code><mode>3_finite): Merge with
*avx_<smaxmin:code><mode>3_finite.  Use VF mode iterator.
(*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
(<sse>_vm<smaxmin:code><mode>2): Merge with
*avx_vm<smaxmin:code><mode>2.  Use VF_128 mode iterator.
(*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.  Use VF
mode iterator.
(*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.  Use VF
mode iterator.
(sse3_addsubv2df3): Merge with *avx_addsubv2df3.
(sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
(sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
(sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
(avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3.  Use
VF mode iterator.
(avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
Use VF_128 mode iterator.
(<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3.  Use VF
mode iterator.
(<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3.  Use
VF_128 mode iterator.
(vcond<mode>): Use VF mode iterator.
* config/i386/predicates.md (sse_comparison_operator): Merge with
avx_comparison_float_operator.  Do not declare as special_predicate.
* config/i386/i386.c (struct builtin_description): Update for renamed
compare patterns.
(ix86_expand_args_builtin): Ditto.
(ix86_expand_sse_compare_mask): Ditto.

From-SVN: r172028

13 years agotree-inline.c (estimate_num_insns): For calls simply account for all passed arguments...
Richard Guenther [Wed, 6 Apr 2011 08:56:28 +0000 (08:56 +0000)]
tree-inline.c (estimate_num_insns): For calls simply account for all passed arguments and a used return value.

2011-04-06  Richard Guenther  <rguenther@suse.de>

* tree-inline.c (estimate_num_insns): For calls simply account
for all passed arguments and a used return value.

From-SVN: r172024

13 years agore PR middle-end/47663 (Very simple wrapper not inlined)
Richard Guenther [Wed, 6 Apr 2011 08:51:23 +0000 (08:51 +0000)]
re PR middle-end/47663 (Very simple wrapper not inlined)

2011-04-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/47663
* cgraph.h (struct cgraph_edge): Add call_stmt_size and
call_stmt_time fields.
(cgraph_edge_inlinable_p): Declare.
(cgraph_edge_recursive_p): New inline function.
* cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
(cgraph_clone_edge): Copy it.
* ipa-inline.c (cgraph_estimate_edge_time): New function.
Account for call stmt time.
(cgraph_estimate_time_after_inlining): Take edge argument.
(cgraph_estimate_edge_growth): Account call stmt size.
(cgraph_estimate_size_after_inlining): Take edge argument.
(cgraph_mark_inline_edge): Adjust.
(cgraph_check_inline_limits): Likewise.
(cgraph_recursive_inlining_p): Remove.
(cgraph_edge_badness): Use cgraph_edge_recursive_p.
(cgraph_decide_recursive_inlining): Take edge argument and
adjust.
(cgraph_decide_inlining_of_small_functions): Do not avoid
diags for recursive inlining here.
(cgraph_flatten): Adjust.
(cgraph_decide_inlining_incrementally): Likewise.
(estimate_function_body_sizes): Remove call cost handling.
(compute_inline_parameters): Initialize caller edge call costs.
(cgraph_estimate_edge_growth): New function.
(cgraph_estimate_growth): Use it.
(cgraph_edge_badness): Likewise.
(cgraph_check_inline_limits): Take an edge argument.
(cgraph_decide_inlining_of_small_functions): Adjust.
(cgraph_decide_inlining): Likewise.
* tree-inline.c (estimate_num_insns): Only account for call
return value if it is used.
(expand_call_inline): Avoid diagnostics on recursive inline
functions here.
* lto-cgraph.c (lto_output_edge): Output edge call costs.
(input_edge): Input edge call costs.

* gcc.dg/tree-ssa/inline-8.c: New testcase.

From-SVN: r172023

13 years ago* config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
Rainer Orth [Wed, 6 Apr 2011 08:48:22 +0000 (08:48 +0000)]
* config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.

From-SVN: r172022

13 years agoinvoke.texi (Spec Files): Fix typo.
Jonathan Wakely [Wed, 6 Apr 2011 08:00:43 +0000 (08:00 +0000)]
invoke.texi (Spec Files): Fix typo.

2011-04-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/invoke.texi (Spec Files): Fix typo.

From-SVN: r172020

13 years agoprofile.c (branch_prob): Move declaration of local variable.
Eric Botcazou [Wed, 6 Apr 2011 06:17:22 +0000 (06:17 +0000)]
profile.c (branch_prob): Move declaration of local variable.

* profile.c (branch_prob): Move declaration of local variable.  Remove
obsolete ??? comment.  Expand the location explicitly instead of using
the LOCATION_FILE and LOCATION_LINE macros.

From-SVN: r172019

13 years agolibgo: Always use AM_LDFLAGS when linking libgo.la.
Ian Lance Taylor [Wed, 6 Apr 2011 06:01:53 +0000 (06:01 +0000)]
libgo: Always use AM_LDFLAGS when linking libgo.la.

This ensures that we pass -fsplit-stack as required.

From-SVN: r172018

13 years agoarm.md (arm_cmpsi_insn): Compute attr "length".
Wei Guozhi [Wed, 6 Apr 2011 02:24:16 +0000 (02:24 +0000)]
arm.md (arm_cmpsi_insn): Compute attr "length".

* config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
(arm_cond_branch): Likewise.
(arm_cond_branch_reversed): Likewise.
(arm_jump): Likewise.
(push_multi): Likewise.
* config/arm/constraints.md (Py): New constraint.

From-SVN: r172017

13 years agore PR bootstrap/48471 (ia64-*-* does not bootstrap due to unused variables in dbxout.c)
Nathan Froyd [Wed, 6 Apr 2011 01:06:42 +0000 (01:06 +0000)]
re PR bootstrap/48471 (ia64-*-* does not bootstrap due to unused variables in dbxout.c)

PR bootstrap/48471
* dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
Move these...
(symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
(DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
#ifdef DBX_DEBUGGING_INFO.

From-SVN: r172016

13 years agoDaily bump.
GCC Administrator [Wed, 6 Apr 2011 00:18:48 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r172015

13 years ago* de.po: Update.
Joseph Myers [Tue, 5 Apr 2011 23:08:35 +0000 (00:08 +0100)]
* de.po: Update.

From-SVN: r172009

13 years agopr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options for Solaris 9 as well.
Eric Botcazou [Tue, 5 Apr 2011 22:52:46 +0000 (22:52 +0000)]
pr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options for Solaris 9 as well.

* gcc.dg/torture/pr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options for
Solaris 9 as well.

From-SVN: r172008

13 years agopr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options for Solaris 8 as well.
Eric Botcazou [Tue, 5 Apr 2011 22:43:32 +0000 (22:43 +0000)]
pr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options for Solaris 8 as well.

* gcc.dg/torture/pr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options for
Solaris 8 as well.

From-SVN: r172007

13 years agore PR bootstrap/48403 (bootstrap comparison failure)
Bernd Schmidt [Tue, 5 Apr 2011 22:19:17 +0000 (22:19 +0000)]
re PR bootstrap/48403 (bootstrap comparison failure)

PR bootstrap/48403
* haifa-sched.c (schedule_block): Increment cycle_issued_insns only
if old and new states differ.

From-SVN: r172006

13 years agom68k.c (m68k_handle_option): Don't handle OPT_m5200, OPT_m5206e, OPT_m528x, OPT_m5307...
Joseph Myers [Tue, 5 Apr 2011 21:55:18 +0000 (22:55 +0100)]
m68k.c (m68k_handle_option): Don't handle OPT_m5200, OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.

* config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
* config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
* config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
mcfv4e): Use Alias.
* config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
ColdFire options to -mcpu= options.

From-SVN: r172005

13 years agotree-ssa-threadupdate.c (determine_bb_domination_status): Always check if BB is a...
Jeff Law [Tue, 5 Apr 2011 21:30:54 +0000 (15:30 -0600)]
tree-ssa-threadupdate.c (determine_bb_domination_status): Always check if BB is a successor of LOOP->header and return NONDOMINATING if...

* tree-ssa-threadupdate.c (determine_bb_domination_status): Always
check if BB is a successor of LOOP->header and return NONDOMINATING
if it is not, regardless of ENABLE_CHECKING.

From-SVN: r172004

13 years agogotest: Add external timeout if internal timeout fails.
Ian Lance Taylor [Tue, 5 Apr 2011 21:11:35 +0000 (21:11 +0000)]
gotest: Add external timeout if internal timeout fails.

From-SVN: r172003

13 years ago+2011-04-05 Sterling Augustine <augustine.sterling@gmail.com> + + * MAINTAINERS...
Sterling Augustine [Tue, 5 Apr 2011 20:45:10 +0000 (20:45 +0000)]
+2011-04-05 Sterling Augustine <augustine.sterling@gmail.com> + + * MAINTAINERS...

+2011-04-05  Sterling Augustine <augustine.sterling@gmail.com>
+
+ * MAINTAINERS: Update my email address as Xtensa maintainer.
+

From-SVN: r172002

13 years agogotest: Avoid echo -n.
Ian Lance Taylor [Tue, 5 Apr 2011 19:53:33 +0000 (19:53 +0000)]
gotest: Avoid echo -n.

From-SVN: r172000

13 years agocprop.c (struct reg_use): Remove.
Steven Bosscher [Tue, 5 Apr 2011 19:49:52 +0000 (19:49 +0000)]
cprop.c (struct reg_use): Remove.

* cprop.c (struct reg_use): Remove.
(reg_use_table): Make an array of RTX.
(find_used_regs, constprop_register, local_cprop_pass,
bypass_block): Simplify users of reg_use_table.
(cprop_insn): Likewise.  Iterate if copy propagation succeeded
on one of the uses found by find_used_regs.

From-SVN: r171999

13 years agore PR bootstrap/48469 (bootstrap failure)
Nathan Froyd [Tue, 5 Apr 2011 19:33:49 +0000 (19:33 +0000)]
re PR bootstrap/48469 (bootstrap failure)

PR bootstrap/48469
* combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
declaration.

From-SVN: r171998

13 years agoSync config.sub from upstream.
Ralf Wildenhues [Tue, 5 Apr 2011 19:05:27 +0000 (19:05 +0000)]
Sync config.sub from upstream.

/:
* config.sub: Sync from upstream.

From-SVN: r171996

13 years agofix compilation on AUTO_INC_DEC targets
Nathan Froyd [Tue, 5 Apr 2011 18:36:15 +0000 (18:36 +0000)]
fix compilation on AUTO_INC_DEC targets

fix compilation on AUTO_INC_DEC targets
* combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
as an rtx.
(try_combine) [AUTO_INC_DEC]: Declare a local link rtx.

From-SVN: r171995

13 years agore PR middle-end/48441 (ICE in mark_oprs_set)
Steven Bosscher [Tue, 5 Apr 2011 18:15:04 +0000 (18:15 +0000)]
re PR middle-end/48441 (ICE in mark_oprs_set)

PR middle-end/48441
* cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.

From-SVN: r171994

13 years agocombine.c: Include obstack.h.
Nathan Froyd [Tue, 5 Apr 2011 17:24:06 +0000 (17:24 +0000)]
combine.c: Include obstack.h.

* combine.c: Include obstack.h.
(struct insn_link): Define.
(uid_log_links): Adjust type.
(FOR_EACH_LOG_LINK): New macro.
(insn_link_obstack): Declare.
(alloc_insn_link): Define.
(create_log_links): Call it.  Use FOR_EACH_LOG_LINK and adjust
type of link variables.
(find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
(try_combine, record_promoted_values, distribute_notes): Likewise.
(distribute_links): Likewise.  Tweak prototype.
(clear_log_links): Delete.
(adjust_for_new_dest): Call alloc_insn_link.
* Makefile.in (combine.o): Depend on $(OBSTACK_H).

From-SVN: r171993

13 years agogcse.c (modify_mem_list): Convert to an array of VECs.
Nathan Froyd [Tue, 5 Apr 2011 17:20:44 +0000 (17:20 +0000)]
gcse.c (modify_mem_list): Convert to an array of VECs.

* gcse.c (modify_mem_list): Convert to an array of VECs.
(canon_modify_mem_list, compute_transp): Tweak formatting.
(alloc_gcse_mem): Likewise.  Adjust for modify_mem_list change.
(load_killed_in_block_p): Likewise.
(record_last_mem_set_info): Likewise.
(clear_modify_mem_tables): Likewise.

From-SVN: r171992

13 years agore PR middle-end/48461 (function.c:5268:1: error: emit_use_return_register_into_block...
Tom de Vries [Tue, 5 Apr 2011 15:54:13 +0000 (15:54 +0000)]
re PR middle-end/48461 (function.c:5268:1: error: emit_use_return_register_into_block defined but not used)

2011-04-05  Tom de Vries  <tom@codesourcery.com>

PR middle-end/48461
* function.c (emit_use_return_register_into_block): Only define if
HAVE_return.

From-SVN: r171990

13 years ago* stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
Eric Botcazou [Tue, 5 Apr 2011 14:34:28 +0000 (14:34 +0000)]
* stor-layout.c (self_referential_size): Fix 2010-07-13 commit.

From-SVN: r171988

13 years agotrans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use build_function_type_list...
Nathan Froyd [Tue, 5 Apr 2011 14:25:32 +0000 (14:25 +0000)]
trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use build_function_type_list instead of build_function_type.

* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
build_function_type_list instead of build_function_type.  Correct
argument order for func_frexp and func_scalbn.

From-SVN: r171987

13 years agore PR target/43920 (Choosing conditional execution over conditional branches for...
Tom de Vries [Tue, 5 Apr 2011 13:01:50 +0000 (13:01 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)

2011-04-05  Tom de Vries  <tom@codesourcery.com>

PR target/43920
* gcc.target/arm/pr43920-1.c: New test.

From-SVN: r171986

13 years agorx-opts.h: New.
Joseph Myers [Tue, 5 Apr 2011 12:28:41 +0000 (13:28 +0100)]
rx-opts.h: New.

* config/rx/rx-opts.h: New.
* config/rx/rx.c (rx_cpu_type): Remove.
(rx_handle_option): Don't assert that global structures are in
use.  Access variables via opts pointer.  Defer most handling of
OPT_mint_register_.  Use error_at.
(rx_option_override): Handle deferred OPT_mint_register_ here.
* config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
* config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
(mcpu=): Use Enum and specifiy rx_cpu_type with Var.
(rx_cpu_types): New Enum and EnumValue entries.
(mint-register=): Use Defer and use Var accordingly.

From-SVN: r171984

13 years agore PR lto/48431 (patch to fix a compile error in lto-plugin.c when using older C...
Richard Guenther [Tue, 5 Apr 2011 12:11:08 +0000 (12:11 +0000)]
re PR lto/48431 (patch to fix a compile error in lto-plugin.c when using older C compilers)

2011-04-05  Richard Guenther  <rguenther@suse.de>

PR bootstrap/48431
* lto-plugin.c (claim_file_handler): Do not declare vars in code.

From-SVN: r171982

13 years agodebug.h (debug_flush_symbol_queue, [...]): Delete.
Nathan Froyd [Tue, 5 Apr 2011 12:02:55 +0000 (12:02 +0000)]
debug.h (debug_flush_symbol_queue, [...]): Delete.

* debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
(debug_free_queue, debug_nesting, symbol_queue_index): Delete.
* final.c (debug_flush_symbol_queue, debug_queue_symbol):
Move these...
(debug_free_queue, debug_nesting, symbol_queue_index):
...and these...
* dbxout.c: ...to here.  Make static.

From-SVN: r171981

13 years agogcse.c (modify_pair): Define.
Nathan Froyd [Tue, 5 Apr 2011 11:40:10 +0000 (11:40 +0000)]
gcse.c (modify_pair): Define.

* gcse.c (modify_pair): Define.  Define a VEC of it.
(canon_modify_mem_list): Convert to an array of VECs.
(free_insn_expr_list_list): Delete.
(clear_modify_mem_tables): Call VEC_free instead.
(record_last_mem_set_info): Don't modify canon_modify_mem_list.
(alloc_gcse_mem): Adjust for canon_modify_mem_list change.
(canon_list_insert, compute_transp): Likewise.

From-SVN: r171980

13 years agore PR target/43920 (Choosing conditional execution over conditional branches for...
Tom de Vries [Tue, 5 Apr 2011 10:33:13 +0000 (10:33 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)

2011-04-05  Tom de Vries  <tom@codesourcery.com>

PR target/43920
* config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
for size.

From-SVN: r171978

13 years agore PR target/43920 (Choosing conditional execution over conditional branches for...
Tom de Vries [Tue, 5 Apr 2011 10:12:14 +0000 (10:12 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)

2011-04-05  Tom de Vries  <tom@codesourcery.com>

PR target/43920
* function.c (emit_use_return_register_into_block): New function.
(thread_prologue_and_epilogue_insns): Use
emit_use_return_register_into_block.

From-SVN: r171977

13 years agore PR target/43920 (Choosing conditional execution over conditional branches for...
Tom de Vries [Tue, 5 Apr 2011 10:04:44 +0000 (10:04 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)

2011-04-05  Tom de Vries  <tom@codesourcery.com>

PR target/43920
* cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
insn.

From-SVN: r171976

13 years agocfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
Tom de Vries [Tue, 5 Apr 2011 09:43:12 +0000 (09:43 +0000)]
cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.

2011-04-05  Tom de Vries  <tom@codesourcery.com>

* cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.

From-SVN: r171975

13 years agoMinor tweaks
Eric Botcazou [Tue, 5 Apr 2011 08:41:58 +0000 (08:41 +0000)]
Minor tweaks

From-SVN: r171974

13 years agoFor Yufeng Zhang.
Yufeng Zhang [Tue, 5 Apr 2011 08:35:31 +0000 (08:35 +0000)]
For Yufeng Zhang.

2011-04-05  Yufeng Zhang  <yufeng.zhang@arm.com>

        * config/arm/arm.md (define_constants for unspec): Replace with
        define_c_enum.
        (define_constants for unspecv): Replace with define_c_enum.
        * config/arm/neon.md (define_constants for unspec): Replace with
        define_c_enum.

From-SVN: r171973

13 years agoThe parameters for functions from the frexp family were the wrong way round.
Duncan Sands [Tue, 5 Apr 2011 07:40:27 +0000 (09:40 +0200)]
The parameters for functions from the frexp family were the wrong way round.

The parameters for functions from the frexp family were the wrong way
round.  Swap them.

From-SVN: r171971

13 years agoUse backend interface for labels and goto statements.
Ian Lance Taylor [Tue, 5 Apr 2011 05:57:39 +0000 (05:57 +0000)]
Use backend interface for labels and goto statements.

* go-gcc.c (class Blabel): Define.
(Gcc_backend::make_expression): New function.
(get_identifier_from_string): New function.
(Gcc_backend::label): New function.
(Gcc_backend::label_definition_statement): New function.
(Gcc_backend::goto_statement): New function.
(Gcc_backend::label_address): New function.
(expression_to_tree): New function.
* Make-lang.in (go/expressions.o): Depend on
go/gofrontend/backend.h.
(go/gogo.o): Likewise.

From-SVN: r171968

13 years agoDaily bump.
GCC Administrator [Tue, 5 Apr 2011 00:18:31 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r171966

13 years agolibgo: Use MAP_FIXED if necessary to grab arena.
Ian Lance Taylor [Tue, 5 Apr 2011 00:02:15 +0000 (00:02 +0000)]
libgo: Use MAP_FIXED if necessary to grab arena.

From Rainer Orth.

PR go/48240
* configure.ac: Check for mincore.
* configure: Regenerate.
* config.h.in: Regenerate.
* runtime/mem.c: Include unistd.h.
(addrspace_free): New function.
(runtime_SysMap): Retry 64-bit runtime_mmap with MAP_FIXED.

From-SVN: r171961

13 years agolibgo: Always initialize semaphores.
Rainer Orth [Mon, 4 Apr 2011 23:43:59 +0000 (23:43 +0000)]
libgo: Always initialize semaphores.

2011-04-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

PR go/48222
* runtime/malloc.goc (runtime_mallocinit): Call
runtime_Mprof_Init, runtime_initfintab.
* runtime/cpuprof.c (runtime_cpuprofinit): New function.
* runtime/runtime.h (runtime_cpuprofinit): Declare it.
* runtime/go-main.c (main): Use it.

From-SVN: r171960

13 years agoUse backend interface for return statements.
Ian Lance Taylor [Mon, 4 Apr 2011 23:19:09 +0000 (23:19 +0000)]
Use backend interface for return statements.

* go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
(class Bfunction): Define.
(Gcc_backend::assignment_statement): Rename from assignment.
Check for errors.
(Gcc_backend::return_statement): New function.
(tree_to_function): New function.
* Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
$(GIMPLE_H), and $(GO_GOGO_H).

From-SVN: r171959

13 years agoFor Yufeng Zhang - Fix typos and errors in testcase.
Yufeng Zhang [Mon, 4 Apr 2011 23:15:55 +0000 (23:15 +0000)]
For Yufeng Zhang - Fix typos and errors in testcase.

From-SVN: r171958

13 years ago* es.po: Update.
Joseph Myers [Mon, 4 Apr 2011 22:20:07 +0000 (23:20 +0100)]
* es.po: Update.

From-SVN: r171956

13 years agore PR bootstrap/48400 (powerpc-apple-darwin9 fails to bootstrap at revision 171824)
Richard Henderson [Mon, 4 Apr 2011 22:13:54 +0000 (15:13 -0700)]
re PR bootstrap/48400 (powerpc-apple-darwin9 fails to bootstrap at revision 171824)

PR 48400
* dwarf2out.c (output_line_info): Always emit line info from
at least one section.
(dwarf2out_init): Create text_section_line_info here ...
(set_cur_line_info_table): ... not here.

From-SVN: r171955

13 years agofrontend-passes: (optimize_lexical_comparison): New function.
Thomas Koenig [Mon, 4 Apr 2011 21:02:24 +0000 (21:02 +0000)]
frontend-passes: (optimize_lexical_comparison): New function.

2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes: (optimize_lexical_comparison): New function.
(optimize_expr): Call it.
(optimize_comparison): Also handle lexical comparison functions.
Return false instad of -2 for unequal comparison.

From-SVN: r171954

13 years agofrontend-passes: (optimize_lexical_comparison): New function.
Thomas Koenig [Mon, 4 Apr 2011 20:55:02 +0000 (20:55 +0000)]
frontend-passes: (optimize_lexical_comparison): New function.

2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes: (optimize_lexical_comparison): New function.
(optimize_expr): Call it.
(optimize_comparison): Also handle lexical comparison functions.
Return false instad of -2 for unequal comparison.

2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

* gfortran.dg/character_comparison_8.f90:  New test.

From-SVN: r171953

13 years agore PR fortran/48412 (CP2K miscompiled due to some Fortran frontend pass)
Thomas Koenig [Mon, 4 Apr 2011 20:22:21 +0000 (20:22 +0000)]
re PR fortran/48412 (CP2K miscompiled due to some Fortran frontend pass)

2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/48412
* frontend-passes (cfe_expr_0):  Reverse the order of going
through the loops.

2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/48412
* function_optimize_4.f90:  New test.

From-SVN: r171952

13 years agore PR target/48380 (ICE in postreload.c while building trunk)
Vladimir Makarov [Mon, 4 Apr 2011 20:19:45 +0000 (20:19 +0000)]
re PR target/48380 (ICE in postreload.c while building trunk)

2011-04-01  Vladimir Makarov  <vmakarov@redhat.com>

PR target/48380
* ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
          not called.

* ira-emit.c (emit_move_list): Update reg equiv init insn list.

From-SVN: r171951

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Mon, 4 Apr 2011 18:35:13 +0000 (20:35 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-04-04  Tobias Burnus  <burnus@net-b.de>
            Mikael Morin  <mikael.morin@sfr.fr>

        PR fortran/18918
        * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
        * expr.c (gfc_is_coindexed): Ditto.
        * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
        * interface.c (compare_parameter): Use gfc_expr_attr and
        gfc_is_coindexed.
        * resolve.c (check_dimension, compare_spec_to_ref,
        resolve_allocate_expr, check_data_variable): Update for
        DIMEN_THIS_IMAGE.
        * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
        gfc_simplify_ucobound): Allow non-constant bounds.
        * trans-array.c (gfc_set_loop_bounds_from_array_spec,
        gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
        gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
        gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
        gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
        gfc_conv_ss_startstride, gfc_conv_loop_setup,
        gfc_trans_array_bounds, gfc_conv_expr_descriptor,
        gfc_walk_variable_expr): Handle codimen.
        * trans-decl.c (gfc_build_qualified_array): Save cobounds.
        * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
        (conv_intrinsic_cobound): New function.
        (gfc_conv_intrinsic_function): Call it.
        (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
        ucobound, lcobound, this_image.
        * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
        (gfc_get_dtype): Honour corank.
        (gfc_get_nodesc_array_type): Save corank and codimensions.
        (gfc_get_array_type_bounds): Save cobound.
        * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
        (gfc_array_kind): Add corank item.
        (GFC_TYPE_ARRAY_CORANK): New macro.

2011-04-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_10.f90: Add coarray descriptor diagnostic
        check.
        * gfortran.dg/coarray_13.f90: Add checks for run-time cobounds.
        * gfortran.dg/coarray_15.f90: New.

Co-Authored-By: Mikael Morin <mikael.morin@sfr.fr>
From-SVN: r171949

13 years agocprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
Steven Bosscher [Mon, 4 Apr 2011 18:27:17 +0000 (18:27 +0000)]
cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.

* cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
(expr_equiv_p): Remove.
(insert_set_in_table): Look at <dest, src> pair instead of expr.
(hash_scan_set): Update call to insert_set_in_table.
(dump_hash_table): Dump <dest, src> pair.
(lookup_set): Simplify.  Lookup <dest, src> pair.
(compute_transp): Remove, fold heavily simplified code into...
(compute_local_properties): ...here.  Expect COMP and TRANSP
unconditionally.
(find_avail_set): Take set directly from struct expr.
(find_bypass-set): Likewise.
(bypass_block): Likewise.
(cprop_insn): Likewise.  Remove redundant INSN_P test.

From-SVN: r171947

13 years agocprop.c (implicit_set_cond_p): Assume nothing about COND...
Steven Bosscher [Mon, 4 Apr 2011 18:24:50 +0000 (18:24 +0000)]
cprop.c (implicit_set_cond_p): Assume nothing about COND...

* cprop.c (implicit_set_cond_p): Assume nothing about COND, move
checks on form of COND from find_implicit_sets to here.
(find_implicit_sets): Cleanup control flow. Split critical edges
if it exposes implicit sets.  Allocate/resize implicit_sets as
necessary.
(one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
changed something.  Run df_analyze after find_implicit_sets if any
edges were split.  Do not allocate implicit_sets here.

From-SVN: r171946

13 years agocprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
Steven Bosscher [Mon, 4 Apr 2011 18:24:05 +0000 (18:24 +0000)]
cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.

* cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
(gcse_obstack): Renamed to cprop_obstack.
(GNEW, GNEWVEC, GNEWVAR): Remove.
(gmalloc): Remove.
(alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
(GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
(gcse_alloc): Likewise, and rename to cprop_alloc.
(alloc_gcse_men, free_gcse_mem): Remove.
(gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
(compute_hash_table_work): Allocate and free reg_set_bitmap here.
(one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.

From-SVN: r171945

13 years agocprop.c (oprs_not_set_p): Remove.
Steven Bosscher [Mon, 4 Apr 2011 18:23:27 +0000 (18:23 +0000)]
cprop.c (oprs_not_set_p): Remove.

* cprop.c (oprs_not_set_p): Remove.
(mark_set, mark_clobber): Remove.
(mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
(reg_not_set_p): New function.
(find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
(cprop_insn): Likewise.
(cprop_jump): Use FOR_EACH_EDGE.

From-SVN: r171944

13 years agore PR ada/47163 (Failure building target-libada for MingW64)
Eric Botcazou [Mon, 4 Apr 2011 18:06:55 +0000 (18:06 +0000)]
re PR ada/47163 (Failure building target-libada for MingW64)

PR ada/47163
* s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.

From-SVN: r171943

13 years agore PR bootstrap/48403 (bootstrap comparison failure)
Bernd Schmidt [Mon, 4 Apr 2011 16:53:51 +0000 (16:53 +0000)]
re PR bootstrap/48403 (bootstrap comparison failure)

Fix PR bootstrap/48403.

2011-04-04  Bernd Schmidt  <bernds@codesourcery.com>

PR bootstrap/48403
* haifa-sched.c (nonscheduled_insns_begin): New static variable.
(rank_for_schedule): Use scheduled_insns vector instead of
last_scheduled_insn.
(ok_for_early_queue_removal): Likewise.
(queue_to_ready): Search forward in nonscheduled_insns_begin if
we have a dbg_cnt.
(choose_ready): Likewise.
(commit_schedule): Use VEC_iterate.
(schedule_block): Initialize nonscheduled_insns_begin.  If we have
a dbg_cnt, use it and ensure the first insn is in the ready list.
(haifa_sched_init): Allocate scheduled_insns.
(sched_extend_ready_list): Don't allocate it; reserve space.
(haifa_sched_finish): Free it.

From-SVN: r171942

13 years agoconfigure.ac: Redirect $JAR -cf@ output to /dev/null.
Rainer Orth [Mon, 4 Apr 2011 16:01:54 +0000 (16:01 +0000)]
configure.ac: Redirect $JAR -cf@ output to /dev/null.

* configure.ac: Redirect $JAR -cf@ output to /dev/null.
* configure: Regenerate.

From-SVN: r171941

13 years agobessel_6.f90: Use dg-add-options ieee.
Rainer Orth [Mon, 4 Apr 2011 15:53:46 +0000 (15:53 +0000)]
bessel_6.f90: Use dg-add-options ieee.

* gfortran.dg/bessel_6.f90: Use dg-add-options ieee.
* gfortran.dg/bessel_7.f90: Likewise.

From-SVN: r171939

13 years agooptc-gen.awk: Always remove type from Variable entry before recording in var_seen.
Joseph Myers [Mon, 4 Apr 2011 14:18:31 +0000 (15:18 +0100)]
optc-gen.awk: Always remove type from Variable entry before recording in var_seen.

* optc-gen.awk: Always remove type from Variable entry before
recording in var_seen.

From-SVN: r171938

13 years agocfghooks.c (tidy_fallthru_edges): Add ??? comment.
Eric Botcazou [Mon, 4 Apr 2011 12:34:29 +0000 (12:34 +0000)]
cfghooks.c (tidy_fallthru_edges): Add ??? comment.

* cfghooks.c (tidy_fallthru_edges): Add ??? comment.
* tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
call to tidy_fallthru_edges.

From-SVN: r171936

13 years agooptions.texi (ToLower): Document.
Joseph Myers [Mon, 4 Apr 2011 10:17:11 +0000 (11:17 +0100)]
options.texi (ToLower): Document.

* doc/options.texi (ToLower): Document.
* opt-functions.awk (switch_bit_fields): Initialize cl_tolower
field.
* opts-common.c (decode_cmdline_option): Handle cl_tolower.
* opts.h (cl_option): Add cl_tolower field.
* config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
arguments with lowercase strings.
* config/rx/rx.opt (mcpu=): Add ToLower.
* config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
argument.

From-SVN: r171932

13 years agore PR debug/48401 (ICE: RTL check: access of elt 4 of 'var_location' with last elt...
Jakub Jelinek [Mon, 4 Apr 2011 09:48:45 +0000 (11:48 +0200)]
re PR debug/48401 (ICE: RTL check: access of elt 4 of 'var_location' with last elt 2 in expand_gimple_basic_block, at cfgexpand.c:3585)

PR debug/48401
* cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.

From-SVN: r171930

13 years agopdp11.h (IRA_COVER_CLASSES): Delete.
Richard Sandiford [Mon, 4 Apr 2011 08:11:37 +0000 (08:11 +0000)]
pdp11.h (IRA_COVER_CLASSES): Delete.

gcc/
* config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.

From-SVN: r171929

13 years agovax.c: Include reload.h.
Richard Sandiford [Mon, 4 Apr 2011 08:09:34 +0000 (08:09 +0000)]
vax.c: Include reload.h.

gcc/
* config/vax/vax.c: Include reload.h.

From-SVN: r171928

13 years ago* gcc/ChangeLog: Fix formatting.
Uros Bizjak [Mon, 4 Apr 2011 07:37:46 +0000 (09:37 +0200)]
* gcc/ChangeLog: Fix formatting.

From-SVN: r171927

13 years agore PR ada/47163 (Failure building target-libada for MingW64)
Kai Tietz [Mon, 4 Apr 2011 07:31:11 +0000 (09:31 +0200)]
re PR ada/47163 (Failure building target-libada for MingW64)

2011-04-04  Kai Tietz  <ktietz@redhat.com>

        PR ada/47163
        * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows
        targets to flag value.

From-SVN: r171926

13 years agosparc.h (PREFERRED_RELOAD_CLASS): Remove.
Anatoly Sokolov [Mon, 4 Apr 2011 07:11:51 +0000 (11:11 +0400)]
sparc.h (PREFERRED_RELOAD_CLASS): Remove.

* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
* config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
(sparc_preferred_reload_class): New function.

From-SVN: r171925

13 years agore PR debug/48401 (ICE: RTL check: access of elt 4 of 'var_location' with last elt...
Jakub Jelinek [Mon, 4 Apr 2011 07:02:50 +0000 (09:02 +0200)]
re PR debug/48401 (ICE: RTL check: access of elt 4 of 'var_location' with last elt 2 in expand_gimple_basic_block, at cfgexpand.c:3585)

PR debug/48404
* cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.

From-SVN: r171924

13 years agotree.h (struct tree_const_decl): Inherit from tree_decl_common.
Nathan Froyd [Mon, 4 Apr 2011 01:40:17 +0000 (01:40 +0000)]
tree.h (struct tree_const_decl): Inherit from tree_decl_common.

* tree.h (struct tree_const_decl): Inherit from tree_decl_common.
* tree.c (initialize_tree_contains_struct): Adjust accordingly.

From-SVN: r171923

13 years agoDaily bump.
GCC Administrator [Mon, 4 Apr 2011 00:17:50 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r171922

13 years agoStart using backend interface separate from gofrontend.
Ian Lance Taylor [Sun, 3 Apr 2011 22:44:18 +0000 (22:44 +0000)]
Start using backend interface separate from gofrontend.

* go-gcc.cc: New file.
* Make-lang.in (GO_OBJS): Add go/go-gcc.o.
(go/go-gcc.o): New target.
(go/go.o): Depend on go/gofrontend/backend.h.
(go/statements.o): Likewise.

From-SVN: r171917