on x86_64. Is it OK?
Thanks,
bin
2018-05-22 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (break_alias_scc_partitions): Don't merge
SCC if all partitions are builtins.
(version_loop_by_alias_check): New parameter. Generate cancelable
runtime
Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/85804
* tree-vect-stmts.c (vectorizable_load): Compute correct bump step
for vector(1) load in single-element group access.
gcc/testsuite
2018-05-17 Bin Cheng <bin.ch...@arm.com>
PR tree-optimi
Hi,
This patch fixes ICE by loading vector(1) scalar_type if it's 1 element-wise
for VMAT_ELEMENTWISE.
Bootstrap and test on x86_64 and AArch64 ongoing. Is it OK?
Thanks,
bin
2018-05-16 Bin Cheng <bin.ch...@arm.com>
Richard Biener <rguent...@suse.de>
PR tree-
2018-04-27 Bin Cheng <bin.ch...@arm.com>
* tree-predcom.c (stor-layout.h, tree-ssa-live.h): Include.
(REG_RELAX_RATIO, prune_chains): New.
(tree_predictive_commoning_loop): Compute reg pressure using class
region. Prune chains based on reg pressure.
and
coalesce
data structures and algorithms in the future.
Bootstrap and test on x86_64 and AArch64 ongoing. Any comments?
Thanks,
bin
2018-04-27 Bin Cheng <bin.ch...@arm.com>
* tree-ssa-live.c (memmodel.h, ira.h, tree-ssa-coalesce.h): Include.
(struct stmt_lr_info, free_stmt_l
2018-04-27 Bin Cheng <bin.ch...@arm.com>
* tree-outof-ssa.c (remove_ssa_form): Update use.
* tree-ssa-coalesce.c (build_ssa_conflict_graph): Support regional
coalesce.
(coalesce_with_default): Update comment.
(create_outofssa_var_map): Support re
HI,
This is an obvious patch removing the unnecessary function.
Bootstrap and test on x86_64 and AArch64 ongoing. Is it OK?
Thanks,
bin
2018-04-27 Bin Cheng <bin.ch...@arm.com>
* tree-ssa-live.h (live_merge_and_clear): Delete.From ba6e47da7faba9a31c776a6d06ef052b1ed392a8 Mon
Hi,
This is the second patch computing available/clobber registers for register
classes.
It's the same as the original patch posted
@https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01022.html
Bootstrap and test on x86_64 and AArch64 ongoing. Any comments?
Thanks,
bin
2017-04-27 Bin Cheng
at https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01021.html
Bootstrap and test on x86_64 and AArch64 ongoing. Any comments?
Thanks,
bin
2018-04-27 Bin Cheng <bin.ch...@arm.com>
* ira.c (setup_mode_classes): New function.
(find_reg_classes): Call above function.
*
Bin Cheng <bin.ch...@arm.com>
PR testsuite/85190
* gcc.dg/vect/pr81196.c: Adjust pointer for aligned access.diff --git a/gcc/testsuite/gcc.dg/vect/pr81196.c
b/gcc/testsuite/gcc.dg/vect/pr81196.c
index 46d7a9e..15320ae 100644
--- a/gcc/testsuite/gcc.dg/vect/pr81196.c
+++
Hi,
Option -ftree-loop-distribution is improved and enabled by default at -O3 for
GCC8.
This patch describes the change, is it OK?
Thanks,
binIndex: htdocs/gcc-8/changes.html
===
RCS file:
Hi,
The new test pr83126.c requires pthread for compiling, this simple patch skips
it
for bare-metal toolchains.
Test checked. Is it OK?
Thanks,
bin
gcc/testsuite
2018-03-22 Bin Cheng <bin.ch...@arm.com>
* gcc.dg/graphite/pr83126.c: Require pthread for the test.diff --git
solved in a more general way maximizing
parallelism
as well as merging opportunities when sorting partitions into topological order
from
dependence graph, which isn't GCC8 task.
Bootstrap and test on x86_64 and AArch64 ongoing. Okay if no failures?
Thanks,
bin
2018-03-20 Bin Cheng <bin.ch..
Hi,
This simple patch fixes test case failure for pr84682-2.c by returning
false on wrong mode rtx in aarch64_classify_address, rather than assert.
Bootstrap and test on aarch64. Is it OK?
Thanks,
bin
2018-03-16 Bin Cheng <bin.ch...@arm.com>
* config/aarch64/aar
on x86_64 and AArch64. gcc.dg/vect/pr79347.c is fixed
for both PR82965 and PR83991. Is this OK?
Thanks,
bin
2018-01-30 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/82965
PR tree-optimization/83991
* cfgloopmanip.c (scale_loop_profile): Further scale loop's p
can parallelize as before.
Bootstrap and test on x86_64 and AArch64 ongoing. Is it OK if no errors?
Thanks,
bin
2018-01-19 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/82604
* tree-loop-distribution.c (enum partition_kind): New enum item
PKIND_PARTI
only interchange in limited
cases.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2018-01-11 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/83695
* gimple-loop-linterchange.cc
(tree_loop_interchange::interchange_loops): Call scev_rese
HI,
This patch backports r254778 and test case in r244815 to GCC6. Bootstrap and
test on x86_64. Is it OK?
Thanks,
bin
2017-12-18 Bin Cheng <bin.ch...@arm.com>
Backport from mainline
2017-11-15 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/8272
Hi,
This patch backports revision 254777 and 254778 to GCC 7 branch.
Bootstrap and test on x86_64. Is it OK?
Thanks,
bin
2017-12-18 Bin Cheng <bin.ch...@arm.com>
Backport from mainline
2017-11-15 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/8272
rcing dependence check. It also adds two
tests
with one shouldn't be vectorized and the other should. Bootstrap and test on
x86_64
and AArch64. Is it OK?
Thanks,
bin
2017-12-15 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/81740
* tree-vect-data-refs.c (vect_analyze
Hi,
While I am still trying to reproduce and verify the issue (valgrind checking
runs very slow for me),
It's clear I made stupid mistake using free for newed vector. This simple
patch fixes it.
Bootstrap and test ongoing. Is it OK?
Thanks,
bin
2017-12-06 Bin Cheng <bin.ch...@arm.
with this patch. Is it OK if test
passes?
Thanks,
bin
2017-12-08 Bin Cheng <bin.ch...@arm.com>
* gimple-loop-interchange.cc (struct loop_cand): New field.
(loop_cand::loop_cand): Init new field in constructor.
(loop_cand::classify_simple_reduction): Record simple red
is it OK?
Thanks,
bin
2017-12-07 Bin Cheng <bin.ch...@arm.com>
Richard Biener <rguent...@suse.de>
PR tree-optimization/81303
* Makefile.in (gimple-loop-interchange.o): New object file.
* common.opt (floop-interchange): Reuse the option f
Hi,
The loop interchange pass reuses option -floop-interchange from GRAPHITE, this
patch
adjusts all affected GRAPHITE tests by changing the option to
-floop-nest-optimize.
Test result checked with/without loop interchange. Is it OK?
Thanks,
bin
gcc/testsuite
2017-12-06 Bin Cheng <bin
Hi,
This is an obvious cleanup patch doing variable renaming, function inlining.
Is it OK?
Thanks,
bin
2017-12-05 Bin Cheng <bin.ch...@arm.com>
* gimple-loop-interchange.cc (struct induction): Rename fields.
(dump_induction, loop_cand::analyze_induction_var): Updat
Hi,
This is a simple patch using dyn_cast instead of is_a<> and as_a<> as suggested
by review.
This is for branches/gimple-linterchange, bootstrap and test as when the branch
is created. Is it OK?
Thanks,
bin
2017-11-30 Bin Cheng <bin.ch...@arm.com>
* gimple-l
to branch:
gcc.gnu.org/svn/gcc/branches/gimple-linterchange.
Thanks,
bin
2017-11-27 Bin Cheng <bin.ch...@arm.com>
* tree-ssa-dce.c (simple_dce_from_worklist): Move and rename from
tree-ssa-pre.c::remove_dead_inserted_code.
* tree-ssa-dce.h: New file.
* tree-ssa
chain.
That would
need fundamental rewrite of the pass and not sure how useful it would be.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-11-15 Bin Cheng <bin.ch...@arm.com>
* tree-predcom.c: Add general comment on Store-
Hi,
This is an obvious patch removing redundant check on component distance in
tree-predcom.c Bootstrap and test along with next patch. Is it OK?
Thanks,
bin
2017-11-15 Bin Cheng <bin.ch...@arm.com>
* tree-predcom.c (add_ref_to_chain): Remove check on distanc
. This should be more efficient because we avoid function call
to stmt_dominates_stmt_p.
Bootstrap and test on x86_64 and AArch64 in patch set. Is it OK?
Thanks,
bin
2017-11-02 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/82726
PR tree-optimization/70754
because we avoid function call
to stmt_dominates_stmt_p.
This is the first patch reverting r244815 and r245689.
Bootstrap and test on x86_64 and AArch64 in patch set. Is it OK?
Thanks,
bin
2017-11-02 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/82726
Revert
2017
Hi,
I ran into this memory leak issue in tree-predcom.c when investigating other
PRs.
This is the obvious fix by freeing reference of trivial component.
Bootstrap and test on x86_64. Is it OK?
Thanks,
bin
2017-11-02 Bin Cheng <bin.ch...@arm.com>
* tree-predcom.c (determine_root
ition:
(size_t (p2 - p1) >= n)
in function B::append.
So, any comment?
Thanks,
bin
2017-11-02 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/82776
* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): Handle
POINTER_PLUS_EXPR
From: Richard Biener <richard.guent...@gmail.com>
Sent: 20 October 2017 12:24
To: Bin Cheng
Cc: gcc-patches@gcc.gnu.org; nd
Subject: Re: [PATCH GCC][3/3]Refine CFG and bound information for split loops
On Thu, Oct 19, 2017 at 3:26 PM, Bin Cheng <bin.ch...@arm.com>
and AArch64. Comments?
Thanks,
bin
2017-10-16 Bin Cheng <bin.ch...@arm.com>
* tree-ssa-loop-split.c (compute_new_first_bound): New parameter.
Compute and return bound information for the second split loop.
(adjust_loop_split): New function.
(split_loop): Upda
Hi,
This patch adds pattern simplifying (A +- CST1 CMP A +- CST2) for undefined
overflow types.
Bootstrap and test for patch set on x86_64 and AArch64. Comments?
Thanks,
bin
2017-10-16 Bin Cheng <bin.ch...@arm.com>
* match.pd (A +- CST1 CMP A +- CST2): New patter
simplifies (A + CST cmp A -> CST cmp zero) for types with undefined
overflow behavior.
Bootstrap and test for patch set on x86_64 and AArch64. Comments?
Thanks,
bin
2017-10-16 Bin Cheng <bin.ch...@arm.com>
* match.pd (A + CST cmp A -> CST cmp zero): New simplification
f
only need to check against the outermost loop for perfect nest.
Bootstrap and test on x86_64. Is it OK?
Thanks,
bin
2017-10-17 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/82574
* tree-loop-distribution.c (find_single_drs): New parameter. Check
that data ref
on x86_64 and AArch64 with other patches. Is it OK?
Thanks,
bin
2017-10-13 Bin Cheng <bin.ch...@arm.com>
* vec.h (struct GTY((user)) vec<T, A, vl_embed>::qsort_range): New
member function.
(struct vec<T, va_heap, vl_ptr>): New me
happened during the
expansion. And it's good to have base object for address type iv_uses.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-10-12 Bin Cheng <bin.ch...@arm.com>
* tree-scalar-evolution.c (alloc_iv): New parameter controlling
base exp
.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-10-10 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (break_alias_scc_partitions): Add comment
and set PTYPE_SEQUENTIAL for merged partition.diff --git a/gcc/tree-loop-distribution.c b/gcc/tre
?
Thanks,
bin
2017-10-10 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/82472
* tree-loop-distribution.c (sort_partitions_by_post_order): Refine
comment.
(break_alias_scc_partitions): Update postorder number.
gcc/testsuite
2017-10-10 Bin Cheng &
_64 and AArch64, is it OK?
Thanks,
bin
2017-10-04 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (tree-ssa-loop-ivopts.h): New header file.
(struct builtin_info): New fields.
(classify_builtin_1): Compute and record base and offset parts for
mem
single memset, rather than a loop of memset.
Bootstrap and test in patch set on x86_64 and AArch64, is it OK?
Thanks,
bin
2017-10-04 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (struct builtin_info): New struct.
(struct partition): Refactor fields into struct
on x86_64 and AArch64, is it OK?
Thanks,
bin
2017-10-04 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c: Adjust the general comment.
(NUM_PARTITION_THRESHOLD): New macro.
(ssa_name_has_uses_outside_loop_p): Support loop nest distribution.
(classify_par
for inner loop's exit
condition,
otherwise an infinite empty loop will be generated. Test case added.
Bootstrap and test in patch set on x86_64 and AArch64, is it OK?
Thanks,
bin
2017-10-04 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (generate_loops_for_partition):
it is only triggered
in building spec2006/416.gamess with loop nest distribution, but I failed to
reduce a test from it.
Bootstrap and test in patch set on x86_64 and AArch64, is it OK?
Thanks,
bin
2017-10-04 Bin Cheng <bin.ch...@arm.com>
* tree-vect-loop-manip.c (rename_variables
?
Thanks,
bin
2017-10-04 Bin Cheng <bin.ch...@arm.com>
* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Skip
renaming variables in new preheader if it's deleted.From 9c7719402c9528b517d8408419c2e9b930708772 Mon Sep 17 00:00:00 2001
From: Bin Cheng <binch..
.
This is the first simple patch deleting unused field of struct partition in loop
distribution. It's an obvious change.
Bootstrap and test in patch set on x86_64 and AArch64.
Thanks,
bin
2017-10-04 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (struct partition):
.
Bootstrap and test on x86_64, is it OK?
Thanks,
bin
2017-09-21 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/82163
* tree-ssa-loop-manip.h (verify_loop_closed_ssa): New parameter.
(checking_verify_loop_closed_ssa): New parameter.
* tree-ssa-loop-m
it doesn't
affect compilation time since rewrite_into_loop_closed_ssa_1 is only called for
store-store chain
transformation and only the transformed loop is rewritten.
Bootstrap and test ongoing on x86_64. is it OK if no failures?
Thanks,
bin
2017-09-14 Bin Cheng <bin.ch...@arm.com>
Various benchmarks built and run
successfully.
Note this pass is disabled in patch, while the code is exercised by
bootstrap/building
programs with it enabled by default. Any comments?
Thanks,
bin
2017-08-29 Bin Cheng <bin.ch...@arm.com>
* Makefile.in (tree-ssa-loop-inter
ter case
as reported in PR81196, but unsigned type needs more work. The patch also
includes two
XFAIL tests showing what shall be improved here.
Bootstrap and test on AArch64. Is it OK?
Thanks,
bin
2017-08-24 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/81913
this if not appropriate.
Thanks,
bin
2017-08-16 Bin Cheng <bin.ch...@arm.com>
* gimple.c (gimple_inexpensive_call_p): Consider IFN_LOOP_DIST_ALIAS
and IFN_LOOP_VECTORIZED as expensive calls.diff --git a/gcc/gimple.c b/gcc/gimple.c
index c4e6f81..6d4e376 100644
--- a/gcc/gimple.c
+++
,
but the patch only checks loop's header for simplicity/efficiency's purpose.
Any comment?
Bootstrap and test on x86_64.
Thanks,
bin
2017-08-15 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/81832
* tree-ssa-loop-ch.c (inner_loop_distributed_p): New function.
(pass_c
Hi,
This patch fixes ICE reported in PR81799. It simply uses is_gimple_val rather
than is_gimple_condexpr.
Bootstap and test on x86_64. Is it OK?
Thanks,
bin
2017-08-11 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/81799
* tree-loop-distribu
we need to
differentiate dependence_info derived from runtime alias check with others
derived from restrict pointer.
Bootstrap and test in series. any comment?
Thanks,
bin
2017-08-10 Bin Cheng <bin.ch...@arm.com>
* tree-core.h (struct tree_base.dependence_info): New
Hi,
This simple patch adds new interface returning adjacent vertices for a vertex
in graph.
Bootstrap and test in series. Is it OK?
Thanks,
bin
2017-08-10 Bin Cheng <bin.ch...@arm.com>
* graphds.c (adjacent_vertices): New function.
* graphds.h (adjacent_vertices
Thanks,
bin
2017-08-10 Bin Cheng <bin.ch...@arm.com>
* tree-vectorizer.h (struct rt_alias_clique): New.
(free_rt_alias_clique): New declaration.
(struct _loop_vec_info): New member rt_alias_clique_map.
(LOOP_VINFO_RT_ALIAS_CLIQUE_MAP): New macro.
Hi,
This simple patch adds code dumping struct dependence_info.
Bootstrap and test in series. Is it OK?
Thanks,
bin
2017-08-10 Bin Cheng <bin.ch...@arm.com>
* tree-pretty-print.c (dump_generic_node): Dump fixed length
tag in MEM_REF. Dump dependenc
before expanding,
but for now it is done in loopdone given predcom is the only motivation pass
that I know.
Bootstrap and test in series. Is it OK?
Thanks,
bin
2017-08-10 Bin Cheng <bin.ch...@arm.com>
* tree-ssa-address.c (clear_dependence_info): New fu
. Is it OK?
Thanks,
bin
2017-08-10 Bin Cheng <bin.ch...@arm.com>
* tree-ssa-address.c (copy_dependence_info): New function.
* tree-ssa-address.h (copy_dependence_info): New declaration.
* tree-ssa-loop-ivopts.c (rewrite_use_address): Call above fun
Hi,
When investigate issues, I ran into this obvious issue that the last candidate
is not related to compare type iv_use.
This patch fixes it. Will apply later.
Thanks,
bin
2017-08-08 Bin Cheng <bin.ch...@arm.com>
* tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands):
Hi,
This is an obvious patch. It fixes ICE in PR81744 by deep copying expression
of loop's number of iterations.
Test result checked. Is it OK?
Thanks,
bin
2017-08-07 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/81744
* tree-predcom.c (prepare_finalizers_chain)
on x86_64 and AArch64 ongoing. Is it OK?
Thanks,
bin
2017-07-31 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/81627
* tree-predcom.c (prepare_finalizers): Always rewrite into loop
closed ssa form for store-store chain.
gcc/testsuite/ChangeLog
2017-07-31 Bin
Hi,
This simple patch fixes the ICE by not setting has_max_use_after flag for
store-store chain because there is no use at all.
Bootstrap and test on x86_64 and AArch64 ongoing. Is it OK if no failure?
Thanks,
bin
2017-07-31 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization
it to gcc-7-branch.
Thanks,
bin
2017-07-27 Bin Cheng <bin.ch...@arm.com>
PR target/81228
* config/aarch64/aarch64-simd.md (vec_cmp): Add
LTGT.
gcc/testsuite/ChangeLog
2017-07-27 Bin Cheng <bin.ch...@arm.com>
PR target/81228
* gcc.dg/pr81228
Hi,
The test has negative step in memory access, thus can't be vectorized on
target like sparc-sun-solaris2.12. This patch adds vect_perm requirement
for it. Test result checked. Is it OK?
Thanks,
bin
gcc/testsuite/ChangeLog
2017-07-20 Bin Cheng <bin.ch...@arm.com>
* gcc.d
, as in nowrap_type_p.
This patch makes it always true thus removes definition/usage of the macro.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-07-20 Bin Cheng <bin.ch...@arm.com>
* tree.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Delete.
* fold-const.c (fold_comp
self, any fix would require
may_be_zero to be computed, which basically leads to patch revert.
Bootstrap and test on x86_64 and AArch64, is it OK?
Thanks,
bin
2017-07-20 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/81388
Revert r238585:
2016-07-21 Bin Cheng
Hi,
This leftover unused variable breaks arm bootstrap. Simply remove it.
Thanks,
bin
2017-07-18 Bin Cheng <bin.ch...@arm.com>
* config/arm/arm.c (arm_emit_store_exclusive): Remove unused var.diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 1b7b382..139ab70
ssages. I didn't change when this will be dumped, for
now it is
when called from ivopts.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-07-13 Bin Cheng <bin.ch...@arm.com>
PR target/81408
* tree-ssa-loop-niter.c (number_of_iterations_ex
, is it OK?
Thanks,
bin
2017-07-12 Bin Cheng <bin.ch...@arm.com>
PR target/81369
* tree-loop-distribution.c (classify_partition): Only assert on
numer of iterations.
(merge_dep_scc_partitions): Delete prameter. Update function call.
(distribute_loop):
Hi,
This patch fixes ICE reported by PR81369. It simply sinks call to
sort_partitions_by_post_order so that it's executed for all cases.
This is necessary to schedule reduction partition as the last one.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-07-12 Bin Cheng
tch fixes the issue by skipping such instructions if no du chain is
found.
Bootstrap and test on AArch64/cortex-a57. Is it OK? If it's fine, I would
also need to
backport it to 7/6 branches.
Thanks,
bin
2017-07-12 Bin Cheng <bin.ch...@arm.com>
PR target/81414
* config/aarch64
. Is it OK?
Thanks,
bin
2017-07-10 Bin Cheng <bin.ch...@arm.com>
PR tree-optimization/81374
* tree-loop-distribution.c (pass_loop_distribution::execute): Record
the max index of basic blocks, rather than number of basic blocks.diff --git a/gcc/tree-loop-distributi
Hi,
This patch picks up a missed-optimization case in loop niter analysis. With
this
patch, niters information for loop as in added test can be analyzed. Bootstrap
and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-27 Bin Cheng <bin.ch...@arm.com>
PR tree-optimi
i < n; i++)
{
a[i] = 1;
}
a[n] = 2;
a[n+1] = 2;
Bootstrap(O2/O3) in patch series on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-21 Bin Cheng <bin.ch...@arm.com>
* tree-predcom.c: (struct chain): Handle store-store chain in which
stores for eliminati
Bootstrap(O2/O3) in patch series on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-21 Bin Cheng <bin.ch...@arm.com>
* tree-predcom.c: Revise general description of pass.
(enum chain_type): New enum type for store elimination.
(struct chain): New field s
/O3) in patch series on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-21 Bin Cheng <bin.ch...@arm.com>
* tree-predcom.c (ref_at_iteration): Add parameter NITERS. Compute
memory reference to DR at (NITERS + ITERS)-th iteration of loo
Hi,
This simple patch removes interface initialize_root. It's simple enough and
called only once.
Bootstrap(O2/O3) in patch series on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-21 Bin Cheng <bin.ch...@arm.com>
* tree-predcom.c (initialize_root):
by later passes.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-12 Bin Cheng <bin.ch...@arm.com>
* tree-ssa-loop-split.c (compute_new_first_bound): Compute and
return bound information for the second split loop.
(adjust_loop_split): New function
and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-12 Bin Cheng <bin.ch...@arm.com>
* tree-ssa-loop-split.c (compute_new_first_bound): Feed bound
computation to folder, rather than force to gimple operands too
early.From 372dc98aa91fd495c98c2326f854eb5f2c7650
ion algorithm is
desired to minimize loop overhead, maximize parallelism and maximize
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c: Add general explanantion on the pass.
(pg
that, this patch simply workarounds
reduction issue by checking if the statement belongs to all partitions. If yes,
the reduction must be computed in the last partition no matter how the loop is
distributed.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin
?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (struct partition): New fields recording
its data references.
(partition_alloc, partition_free): Init and release data refs.
(partition_merge_into): Merge dat
Hi,
This patch computes and caches data dependence relation in a hash table
so that it can be queried multiple times later for partition dependence
check.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* tre
work
very well because it does blind distribution/fusion.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (alias.h): Include header file.
(enum partition_type): New.
(struct partition
merge partitions with the same references.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (ref_base_address): Delete.
(similar_memory_accesses): Rename ...
(share_memory_ac
Hi,
This simple patch computes and preserves loop nest vector for whole distribution
life time. The loop nest will be used multiple times in on-demand data
dependence
computation.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.
by sorting in topological order.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (bb_top_order_index): New.
(bb_top_order_index_size, bb_top_order_cmp): New.
(stmts_from_loop
Hi,
This patch collects and preserves all data references in loop for whole
distribution life time. It will be used afterwards.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (datare
Hi,
This simple patch refactors partition merge code and dump information.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (enum fuse_type, fuse_message): New.
(partition_merge_into
Hi,
this is a simple patch skipping distribution if there is no loop at all.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* cfgloop.h (pass_loop_distribution::execute): Skip if no loop
Hi,
This simple patch marks distributed loops and skips it in following
distribution.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* tree-loop-distribution.c (generate_loops_for_partition): Mark
distributed
.
Bootstrap and test on x86_64 and AArch64. Is it OK?
Thanks,
bin
2017-06-07 Bin Cheng <bin.ch...@arm.com>
* cfgloop.h (struct loop): New field ldist_alias_id.
* cfgloopmanip.c (lv_adjust_loop_entry_edge): Comment change.
* internal-fn.c (expand_LOOP_DIST_ALIAS): New fu
Hi,
This patch enables -ftree-loop-distribution by default at -O3 and above
optimization levels.
Bootstrap and test at O2/O3 on x86_64 and AArch64. is it OK?
Note I don't have strong opinion here and am fine with either it's accepted or
rejected.
Thanks,
bin
2017-05-31 Bin Cheng <bin
s still inefficient code
generation
issue which I will try to fix in loop split. Apart from this, the next
opportunity in hmmer
is to eliminate number of dead stores under proper alias information.
Bootstrap and test at O2/O3 on x86_64 and AArch64. is it OK?
Thanks,
bin
2017-05-31 Bin Cheng
edges
skipped.
Bootstrap and test at O2/O3 on x86_64 and AArch64. is it OK?
Thanks,
bin
2017-05-31 Bin Cheng <bin.ch...@arm.com>
* graphds.c (add_edge): Intitialize edge's attached data.
(foll_in_subgraph, dfs_fst_edge, dfs_next_edge): New function
pointer par
Bin Cheng <bin.ch...@arm.com>
* passes.def (pass_iv_canon): Move before pass_loop_distribution.From 1698cc3e552a17e84719dba1ff2fbe4a8890e6be Mon Sep 17 00:00:00 2001
From: Bin Cheng <binch...@e108451-lin.cambridge.arm.com>
Date: Tue, 30 May 2017 17:56:05 +0100
Subject: [PAT
1 - 100 of 449 matches
Mail list logo