- 07 Apr, 2011 13 commits
-
-
From-SVN: r172106
Ian Lance Taylor committed -
From-SVN: r172103
Joseph Myers committed -
From-SVN: r172102
Eric Botcazou committed -
From-SVN: r172101
Maxim Kuvyrkov committed -
* config/mn10300/mn10300.md (movqi_internal): Add alternatives to handle MDR <-> data register transfers. (movhi_internal): Likewise. From-SVN: r172099
Nick Clifton committed -
* config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against previous stack info. From-SVN: r172096
Alan Modra committed -
2011-04-07 Stuart Henderson <shenders@gcc.gnu.org> * MAINTAINERS (Write After Approval): Add myself. From-SVN: r172095
Stuart Henderson committed -
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
Tom de Vries committed -
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
Tom de Vries committed -
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
Tom de Vries committed -
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
Tom de Vries committed -
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
Jeffrey Yasskin committed -
From-SVN: r172072
GCC Administrator committed
-
- 06 Apr, 2011 27 commits
-
-
* go-gcc.cc (if_statement): Use build3_loc. (Gcc_backend::switch_statement): New function. (Gcc_backend::statement_list): New function. From-SVN: r172066
Ian Lance Taylor committed -
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
Tobias Burnus committed -
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
Tobias Burnus committed -
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
Tobias Burnus committed -
* 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
Uros Bizjak committed -
2011-04-06 Steve Ellcey <sje@cup.hp.com> * gcc.dg/mtune.c: Prune note from output. From-SVN: r172056
Steve Ellcey committed -
From-SVN: r172053
Joseph Myers committed -
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
Ian Lance Taylor committed -
* go-gcc.cc (Gcc_backend::expression_statement): New function. From-SVN: r172051
Ian Lance Taylor committed -
PR testsuite/48480 * testsuite/lib/boehm-gc.exp (boehm-gc-dg-prune): Allow for path to ranlib. From-SVN: r172050
Rainer Orth committed -
* 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
Joseph Myers committed -
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
Jakub Jelinek committed -
* 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
Joseph Myers committed -
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
Richard Guenther committed -
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
Andrew Stubbs committed -
From-SVN: r172031
Ramana Radhakrishnan committed -
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
Eric Botcazou committed -
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
Tristan Gingold committed -
* 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
Uros Bizjak committed -
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
Richard Guenther committed -
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
Richard Guenther committed -
From-SVN: r172022
Rainer Orth committed -
2011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com> * doc/invoke.texi (Spec Files): Fix typo. From-SVN: r172020
Jonathan Wakely committed -
* 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
Eric Botcazou committed -
This ensures that we pass -fsplit-stack as required. From-SVN: r172018
Ian Lance Taylor committed -
* 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
Wei Guozhi committed -
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
Nathan Froyd committed
-