Age | Commit message (Collapse) | Author | Files | Lines |
|
* tree-vect-generic.c (optimize_vector_constructor): New function.
(expand_vector_operations_1): Call it.
* gcc.dg/vect/vect-124.c: New test.
From-SVN: r205240
|
|
From-SVN: r205239
|
|
where appropriate.
* config/i386/i386.c (ix86_expand_special_args_builtin): Use
ix86_zero_extend_to_Pmode where appropriate.
(ix86_expand_builtin): Ditto.
From-SVN: r205236
|
|
2013-11-21 Cary Coutant <ccoutant@google.com>
gcc/
* dwarf2out.c (want_pubnames): Don't do pubnames for -g1.
(add_linkage_name): Don't add linkage name for -g1.
(decls_for_scope): Process subblocks for -g1.
(dwarf2out_source_line): Output line tables for -g1.
(dwarf2out_finish): Likewise.
* tree-ssa-live.c (remove_unused_scope_block_p): Don't prune
unused scopes for -g1.
* opts.c (common_handle_option): Handle -g same as -g2.
* doc/invoke.texi: Update description for -g1.
gcc/testsuite/
* gcc.dg/debug/dwarf2/mlt1.c: New test.
* gcc.dg/debug/dwarf2/mlt2.c: New test.
From-SVN: r205235
|
|
From-SVN: r205233
|
|
PR tree-optimization/59221
* tree-ssa-threadedge.c (thread_across_edge): Properly manage
temporary equivalences when threading through joiner blocks.
PR tree-optimization/59221
* gcc.c-torture/execute/pr59221.c: New test.
From-SVN: r205229
|
|
-frounding-mode)
PR rtl-optimization/55950
* real.c (real_sqrt): Remove function.
* real.h (real_sqrt): Remove prototype.
* simplify-rtx.c (simplify_const_unary_operation): Do not fold
SQRT using real_sqrt.
From-SVN: r205223
|
|
(affecting gcc 4.6 to trunk))
2013-11-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/59058
* tree-scalar-evolution.h (number_of_exit_cond_executions): Remove.
* tree-scalar-evolution.c (number_of_exit_cond_executions): Likewise.
* tree-vectorizer.h (LOOP_PEELING_FOR_ALIGNMENT): Rename to ...
(LOOP_VINFO_PEELING_FOR_ALIGNMENT): ... this.
(NITERS_KNOWN_P): Fold into ...
(LOOP_VINFO_NITERS_KNOWN_P): ... this.
(LOOP_VINFO_PEELING_FOR_NITER): Add.
* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
Use LOOP_VINFO_PEELING_FOR_ALIGNMENT.
(vect_do_peeling_for_alignment): Re-use precomputed niter
instead of re-emitting it.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Use LOOP_VINFO_PEELING_FOR_ALIGNMENT.
* tree-vect-loop.c (vect_get_loop_niters): Use
number_of_latch_executions.
(new_loop_vec_info): Initialize LOOP_VINFO_PEELING_FOR_NITER.
(vect_analyze_loop_form): Simplify.
(vect_analyze_loop_operations): Move epilogue peeling code ...
(vect_analyze_loop_2): ... here and adjust it to compute
LOOP_VINFO_PEELING_FOR_NITER.
(vect_estimate_min_profitable_iters): Use
LOOP_VINFO_PEELING_FOR_ALIGNMENT.
(vect_build_loop_niters): Emit on the preheader.
(vect_generate_tmps_on_preheader): Likewise.
(vect_transform_loop): Use LOOP_VINFO_PEELING_FOR_NITER instead
of recomputing it. Adjust.
From-SVN: r205217
|
|
2013-11-21 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
LOC_LINE): Remove wrappers and fix all users.
(struct _loop_vec_info): Remove loop_line_number member.
(LOOP_VINFO_LOC): Remove.
* tree-parloops.c, tree-vect-loop-manip.c, tree-vect-slp.c,
tree-vectorizer.c: Fix users of LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE
and LOC_LINE.
From-SVN: r205216
|
|
2013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/experimental/string_view: Rep empty string with unit-length
static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce
invariant of no nullptr string pointer.
* include/experimental/string_view.tcc: Ditto.
* testsuite/experimental/string_view/cons/char/1.cc: data() for empty
string_view is no longer nullptr.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto.
* testsuite/experimental/string_view/operations/data/char/1.cc: Ditto.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Ditto.
From-SVN: r205213
|
|
2013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement __gnu_cxx::hypergeometric_distribution.
* include/ext/random: Add hypergeometric_distribution.
* include/ext/random.tcc: Add hypergeometric_distribution.
* testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf
for the hypergeometric discreet distribution;
(lbincoef): New supporting function for binomial coefficients.
* testsuite/ext/random/hypergeometric_distribution/operators/
serialize.cc: New.
* testsuite/ext/random/hypergeometric_distribution/operators/
equal.cc: New.
* testsuite/ext/random/hypergeometric_distribution/operators/
inequal.cc: New.
* testsuite/ext/random/hypergeometric_distribution/operators/
values.cc: New.
* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New.
* testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New.
* testsuite/ext/random/hypergeometric_distribution/requirements/
explicit_instantiation/1.cc: New.
* testsuite/ext/random/hypergeometric_distribution/requirements/
typedefs.cc: New.
From-SVN: r205212
|
|
2013-11-21 Richard Biener <rguenther@suse.de>
* tree-ssa-forwprop.c (simplify_vce): New function.
(ssa_forward_propagate_and_combine): Call it.
From-SVN: r205211
|
|
PR libfortran/59227
* gfortran.dg/erf_3.F90: XFAIL on spu-* and ia64-*-linux*.
Make more generic for other platforms.
From-SVN: r205210
|
|
From-SVN: r205201
|
|
2013-11-21 Richard Biener <rguenther@suse.de>
* tree-vect-loop-manip.c (vect_build_loop_niters,
vect_generate_tmps_on_preheader): Move ...
* tree-vect-loop.c (vect_build_loop_niters,
vect_generate_tmps_on_preheader): ... here and simplify.
(vect_transform_loop): Call them here and pass down results
to consumers.
* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound):
Get niter variables from caller.
(vect_do_peeling_for_alignment): Likewise.
* tree-vectorizer.h (vect_generate_tmps_on_preheader): Remove.
(vect_do_peeling_for_loop_bound, vect_do_peeling_for_alignment):
Adjust prototypes.
From-SVN: r205199
|
|
by one.
2013-11-21 Richard Biener <rguenther@suse.de>
* tree-ssa-loop-ch.c (copy_loop_headers): Decrement
nb_iterations_upper_bound by one.
From-SVN: r205198
|
|
(affecting gcc 4.6 to trunk))
2013-11-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/59058
* tree-loop-distribution.c (struct partition_s): Add plus_one
member.
(build_size_arg_loc): Apply niter adjustment here.
(generate_memset_builtin): Adjust.
(generate_memcpy_builtin): Likewise.
(classify_partition): Do not use number_of_exit_cond_executions
but record whether niter needs to be adjusted.
From-SVN: r205197
|
|
throw.
* tree-ssa-tail-merge.c (stmt_local_def): Return false if the statement
could throw.
From-SVN: r205196
|
|
PR libfortran/59227
* intrinsics/erfc_scaled.c (erfc_scaled_r16): Don't define if
__float128 is not available.
From-SVN: r205193
|
|
From-SVN: r205192
|
|
PR target/53976
* config/sh/sh_optimize_sett_clrt.cc: New SH specific RTL pass.
* config/sh/sh.c (register_sh_passes): Add sh_optimize_sett_clrt pass.
* config/sh/sh/t-sh (sh_optimize_sett_clrt pass.o): New entry.
* config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add
sh_optimize_sett_clrt pass.o to extra_objs.
PR target/53976
* gcc.target/sh/pr53976-1.c: New.
From-SVN: r205191
|
|
gcc/
2013-11-20 David Malcolm <dmalcolm@redhat.com>
* cfg.c (dump_edge_info): Remove redundant comment.
* cfgcleanup.c (outgoing_edges_match): Reword reference to
EXIT_BLOCK_PTR in comment.
(try_optimize_cfg): Likewise.
* cfgrtl.c (last_bb_in_partition): Likewise.
* cgraph.c (cgraph_node_cannot_return): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* graphite-scop-detection.c (scopdet_basic_block_info): Likewise.
* ipa-split.c (consider_split): Likewise.
* profile.c (find_spanning_tree): Likewise.
* sched-int.h (common_sched_info_def.add_block): Likewise.
* dominance.c (calc_dfs_tree_nonrec): Reword references in
comments to now removed ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR macros.
* tree-cfgcleanup.c (cleanup_control_flow_bb): Reword references
in comments to now removed ENTRY_BLOCK_PTR macro.
(tree_forwarder_block_p): Reword reference in comment to
EXIT_BLOCK_PTR.
* tree-inline.c (copy_cfg_body): Reword references in comments to
now removed ENTRY_BLOCK_PTR macro.
* tree-ssa-propagate.c (ssa_prop_init): Likewise.
* tree-scalar-evolution.h ( block_before_loop): Likewise. Add
a comma to the comment to clarify the meaning.
From-SVN: r205182
|
|
From-SVN: r205175
|
|
From-SVN: r205172
|
|
* gimplify.h (gimplify_hasher : typed_free_remove, struct gimplify_ctx):
Move to gimplify.c.
(free_gimplify_stack): Add prototype.
* gimplify.c (gimplify_hasher:typed_free_remove): Relocate here.
(struct gimplify_ctx): Relocate here.
(gimplify_ctxp): Make static.
(ctx_pool, ctx_alloc, ctx_free, free_gimplify_stack): New. Manage a
list of struct gimplify_ctx.
(push_gimplify_context): Add default parameters and allocate a struct
from the pool.
(pop_gimplify_context): Free a struct back to the pool.
(gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task,
gimplify_omp_workshare, gimplify_transaction, gimplify_body): Don't
use a local 'struct gimplify_ctx'.
* cgraphunit.c (expand_all_functions): call free_gimplify_stack.
* gimplify-me.c (force_gimple_operand_1, gimple_regimplify_operands):
Likewise.
* omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
lower_omp_ordered, lower_omp_critical, lower_omp_for,
create_task_copyfn, lower_omp_taskreg, lower_omp_target,
lower_omp_teams, execute_lower_omp): Likewise.
* gimple-fold.c (gimplify_and_update_call_from_tree): Likewise.
* tree-inline.c (optimize_inline_calls): Likewise.
From-SVN: r205168
|
|
PR libfortran/49024
* intrinsics/erfc_scaled.c (erfc_scaled_r16): New function.
* intrinsics/erfc_scaled_inc.c: Do not provide quadruple
precision variant.
* gfortran.dg/erf_3.F90: New file.
From-SVN: r205151
|
|
gcc:
2013-11-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vsx.md (vsx_set_<mode>): Adjust for little endian.
(vsx_extract_<mode>): Likewise.
(*vsx_extract_<mode>_one_le): New LE variant on
*vsx_extract_<mode>_zero.
(vsx_extract_v4sf): Adjust for little endian.
gcc/testsuite:
2013-11-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr48258-1.c: Skip for little endian.
From-SVN: r205146
|
|
PR libstdc++/49204
* include/std/future (__future_base::_State_base): Rename to
__future_base::_State_baseV2.
(__future_base::_State_baseV2::~_State_baseV2): Define as defaulted.
(__future_base::_State_baseV2::_M_run_deferred): Rename to
_M_complete_async.
(__future_base::_State_baseV2::_M_has_deferred): Add new virtual.
(__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to
test for a deferred function, or call _M_complete_async() to join an
async thread that has made the shared state ready.
(__future_base::_State_baseV2::wait_until): Likewise.
(__future_base::_Async_state_common): Rename to _Async_state_commonV2.
(__future_base::_Async_state_commonV2::_M_run_deferred): Rename to
_M_complete_async.
* src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base):
Export old definition.
(__future_base::_Async_state_common): Likewise.
* src/c++11/future.cc (__future_base::_State_base::~_State_base):
Remove.
* doc/xml/manual/status_cxx2011.xml: Update status.
* testsuite/30_threads/async/async.cc: Test future_status::timeout
and future_status::ready.
* testsuite/30_threads/async/sync.cc: Test future_status::deferred.
From-SVN: r205144
|
|
2013-11-20 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/59133
* lra.c (expand_reg_data): Add new argument. Set up ALL_REGS for
new pseudos.
(lra_create_new_reg_with_unique_value): Pass new argument value.
(lra_emit_add, lra_emit_move): Ditto.
* lra-constraints.c (in_class_p): Add check for move for a new
insn.
(change_class): Rename to lra_change_class. Move to lra-int.h.
(get_reload_reg, narrow_reload_pseudo_class): Adjust calls of
change_class.
(process_addr_reg, process_addr): Ditto.
(curr_insn_transform): Ditto. Add check on old pseudo for
optional reload.
* lra-int.h (lra_get_regno_hard_regno): Move below.
(lra_change_class): Renamed change_class from lra.c.
2013-11-20 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/59133
* gcc.target/i386/pr59133.c: New.
From-SVN: r205141
|
|
* gdbhooks.py (VecPrinter.children): Don't attempt to iterate
the children of a NULL pointer.
From-SVN: r205139
|
|
From-SVN: r205138
|
|
* lra.c (lra): Set lra_in_progress before check_rtl call.
* recog.c (insn_invalid_p): Add !lra_in_progress to prevent
adding clobber regs when LRA is running
From-SVN: r205136
|
|
From-SVN: r205134
|
|
From-SVN: r205133
|
|
* config/mips/mips.h (ISA_HAS_FP4): Remove TARGET_FLOAT64
restriction for ISA_MIPS32R2.
(ISA_HAS_LXC1_SXC1): New macro.
(ISA_HAS_FP_MADD4_MSUB4): Remove ISA_MIPS32R2 special-casing.
(ISA_HAS_NMADD4_NMSUB4): Likewise.
(ISA_HAS_FP_RECIP_RSQRT): Likewise.
(ISA_HAS_PREFETCHX): Redefine in terms of ISA_HAS_FP4.
* config/mips/mips.md (*<ANYF:loadx>_<P:mode>): Use
ISA_HAS_LXC1_SXC1 rather than ISA_HAS_FP4.
(*<ANYF:storex>_<P:mode>): Likewise.
From-SVN: r205130
|
|
* config/mips/mips.h (ISA_HAS_FP_RECIP_RSQRT): New macro.
* config/mips/mips.c (mips_rtx_costs) <DIV>: Check for
ISA_HAS_FP_RECIP_RSQRT rather than ISA_HAS_FP4.
* config/mips/mips.md (recip_condition): Remove mode attribute.
(div<mode>3): Use ISA_HAS_FP_RECIP_RSQRT rather than
<recip_condition>.
(*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Likewise.
From-SVN: r205129
|
|
PR target/59207
* config/sparc/sparc.c (sparc_fold_builtin) <case CODE_FOR_pdist_vis>:
Make sure neg2_ovf is set before being used.
From-SVN: r205127
|
|
invoke_plugin_callbacks_full.
2013-11-20 Basile Starynkevitch <basile@starynkevitch.net>
* plugin.def: Add comment about register_callback and
invoke_plugin_callbacks_full.
* plugin.c (register_callback, invoke_plugin_callbacks_full):
Handle PLUGIN_INCLUDE_FILE event.
From-SVN: r205125
|
|
in FPRs of smaller size in little-endian.
* config/rs6000/rs6000.c (rs6000_cannot_change_mode_class): Do not
allow subregs of TDmode in FPRs of smaller size in little-endian.
(rs6000_split_multireg_move): When splitting an access to TDmode
in FPRs, do not use simplify_gen_subreg.
From-SVN: r205123
|
|
PR middle-end/21718
* real.c: Remove comment about decimal string conversion and
rounding errors.
(real_from_string): Use MPFR to convert nonzero decimal constant
to REAL_VALUE_TYPE.
testsuite:
* gcc.dg/float-exact-1.c: New test.
From-SVN: r205119
|
|
registers for the legacy encodings.
* config/arm/arm.c (arm_dwarf_register_span): Take into account the
endianness of the D registers for the legacy encodings.
From-SVN: r205118
|
|
register swap operation)
PR rtl-optimization/54300
gcc/
PR rtl-optimization/54300
* regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
outputs in a single-set are killed from the value chains.
gcc/testsuite:
PR rtl-optimization/54300
* gcc.target/arm/pr54300.C: New test.
From-SVN: r205117
|
|
* cgraph.h (varpool_node): Add need_bounds_init field.
* lto-cgraph.c (lto_output_varpool_node): Output
need_bounds_init value.
(input_varpool_node): Read need_bounds_init value.
* varpool.c (dump_varpool_node): Dump need_bounds_init field.
From-SVN: r205116
|
|
PR 59212
* g++.dg/plugin/selfassign.c: Include stringpool.h
From-SVN: r205115
|
|
primary template)
PR c++/59173
* include/ext/pointer.h (pointer_traits<>::rebind<>): Add template
keyword in nested name.
From-SVN: r205114
|
|
* opts.c (finish_options): Imply -ffat-lto-objects with -fno-use-linker-plugin.
* common.opt (fuse-linker-plugin): Add var.
From-SVN: r205110
|
|
* dbxout.c (dbxout_type): Ignore POINTER_BOUNDS_TYPE.
* dwarf2out.c (gen_subprogram_die): Ignore bound args.
(gen_type_die_with_usage): Skip pointer bounds.
(dwarf2out_global_decl): Likewise.
From-SVN: r205109
|
|
From-SVN: r205108
|
|
From-SVN: r205106
|
|
gcc/
* config/aarch64/aarch64.md: Remove "mode" and "mode2" attributes
from all insns.
From-SVN: r205105
|