Re: [PATCH, AArch64] Disable reg offset in quad-word store for Falkor.

2017-11-01 Thread Kugan Vivekanandarajah
Hi, On 1 November 2017 at 03:12, Jim Wilson <wil...@tuliptree.org> wrote: > On Tue, 2017-10-31 at 14:35 +1100, Kugan Vivekanandarajah wrote: >> Ping ? >> >> I see that Jim has clarified the comments from Andrew. > > Andrew also suggested that we add a testcase

Re: [PATCH, AArch64] Disable reg offset in quad-word store for Falkor.

2017-10-31 Thread Kugan Vivekanandarajah
Hi Jim, On 1 November 2017 at 03:12, Jim Wilson <wil...@tuliptree.org> wrote: > On Tue, 2017-10-31 at 14:35 +1100, Kugan Vivekanandarajah wrote: >> Ping ? >> >> I see that Jim has clarified the comments from Andrew. > > Andrew also suggested that we add a testcase

Re: [PATCH, AArch64] Disable reg offset in quad-word store for Falkor.

2017-10-30 Thread Kugan Vivekanandarajah
Ping ? I see that Jim has clarified the comments from Andrew. Thanks, Kugan On 13 October 2017 at 08:48, Jim Wilson <wil...@tuliptree.org> wrote: > On Fri, 2017-09-22 at 14:11 -0700, Andrew Pinski wrote: >> On Fri, Sep 22, 2017 at 11:39 AM, Jim Wilson <jim.wil...@li

Re: [RFC][PATCH 1/5] Add separate parms for rtl unroller

2017-09-19 Thread Kugan Vivekanandarajah
Hi Richard, On 18 September 2017 at 17:50, Richard Biener <richard.guent...@gmail.com> wrote: > On Mon, Sep 18, 2017 at 3:36 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi Richard, >> >> On 15 September 2017 at 19:31, Richard B

Re: [RFC][PATCH 1/5] Add separate parms for rtl unroller

2017-09-17 Thread Kugan Vivekanandarajah
Hi Richard, On 15 September 2017 at 19:31, Richard Biener <richard.guent...@gmail.com> wrote: > On Fri, Sep 15, 2017 at 3:27 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> This patch adds separate params for rtl unroller so that they can

Re: [RFC][AARCH64][PATCH 5/5] add aarch64_loop_unroll_adjust to limit partial unrolling in rtl based on strided-loads in loop

2017-09-17 Thread Kugan Vivekanandarajah
Hi Andrew, On 15 September 2017 at 13:36, Andrew Pinski <pins...@gmail.com> wrote: > On Thu, Sep 14, 2017 at 6:33 PM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> This patch adds aarch64_loop_unroll_adjust to limit partial unrolling >>

Re: [RFC][AARCH64][PATCH 5/5] add aarch64_loop_unroll_adjust to limit partial unrolling in rtl based on strided-loads in loop

2017-09-16 Thread Kugan Vivekanandarajah
Hi Ramana On 15 September 2017 at 18:40, Ramana Radhakrishnan <ramana@googlemail.com> wrote: > On Fri, Sep 15, 2017 at 2:33 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> This patch adds aarch64_loop_unroll_adjust to limit partial u

Re: [RFC][AARCH64][PATCH 2/5]: Add number of hw prefetchers available to cpu_prefetch_tune

2017-09-16 Thread Kugan Vivekanandarajah
Hi Andrew, On 15 September 2017 at 13:20, Andrew Pinski <pins...@gmail.com> wrote: > On Thu, Sep 14, 2017 at 6:28 PM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> This patch adds number of hw prefetchers available to >> cpu_prefetch_

[RFC][AARCH64][PATCH 5/5] add aarch64_loop_unroll_adjust to limit partial unrolling in rtl based on strided-loads in loop

2017-09-14 Thread Kugan Vivekanandarajah
This patch adds aarch64_loop_unroll_adjust to limit partial unrolling in rtl based on strided-loads in loop. Thanks, Kugan gcc/ChangeLog: 2017-09-12 Kugan Vivekanandarajah <kug...@linaro.org> * cfgloop.h (iv_analyze_biv): export. * loop-iv.c: Likewise. * config/aarch64/aar

[RFC][PATCH 4/5] Change iv_analyze_result to take const_rtx.

2017-09-14 Thread Kugan Vivekanandarajah
Change iv_analyze_result to take const_rtx. This is just to make the next patch compile. No functional changes: Thanks, Kugan gcc/ChangeLog: 2017-09-12 Kugan Vivekanandarajah <kug...@linaro.org> * cfgloop.h (iv_analyze_result): Change 2nd param from rtx to const_rtx.

[RFC][PACH 3/5] Prevent tree unroller from completely unrolling inner loops if that results in excessive strided-loads in outer loop

2017-09-14 Thread Kugan Vivekanandarajah
This patch prevent tree unroller from completely unrolling inner loops if that results in excessive strided-loads in outer loop. Thanks, Kugan gcc/ChangeLog: 2017-09-12 Kugan Vivekanandarajah <kug...@linaro.org> * config/aarch64/aarch64.c (count_mem_load_streams

[RFC][AARCH64][PATCH 2/5]: Add number of hw prefetchers available to cpu_prefetch_tune

2017-09-14 Thread Kugan Vivekanandarajah
This patch adds number of hw prefetchers available to cpu_prefetch_tune so it can be used in loop unrolling decisions. Thanks, Kugan gcc/ChangeLog: 2017-09-12 Kugan Vivekanandarajah <kug...@linaro.org> * config/aarch64/aarch64-protos.h (struct cpu_prefetch_tune): Add new

[RFC][PATCH 1/5] Add separate parms for rtl unroller

2017-09-14 Thread Kugan Vivekanandarajah
This patch adds separate params for rtl unroller so that they can be tunned accordingly. Default values I have are based on some testing on aarch64. I am happy to leave it as the current value and set them in the back-end. Thanks, Kugan gcc/ChangeLog: 2017-09-12 Kugan Vivekanandarajah <

[RFC][PATCH 0/5] Loop unrolling and memory load streams

2017-09-14 Thread Kugan Vivekanandarajah
. Thanks, Kugan

Re: [AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2017-08-29 Thread Kugan Vivekanandarajah
Hi James, On 29 August 2017 at 21:31, James Greenhalgh <james.greenha...@arm.com> wrote: > On Tue, Jun 27, 2017 at 11:20:02AM +1000, Kugan Vivekanandarajah wrote: >> https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00614.html added this >> workaround to get kern

Re: [AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2017-08-28 Thread Kugan Vivekanandarajah
ping^3 Thanks, Kugan On 11 August 2017 at 16:09, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: > Ping^2? > > Thanks, > Kugan > > On 21 July 2017 at 20:12, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Ping ?

Re: [AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2017-08-11 Thread Kugan Vivekanandarajah
Ping^2? Thanks, Kugan On 21 July 2017 at 20:12, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: > Ping ? > > Thanks, > Kugan > > On 27 June 2017 at 11:20, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> https://gcc.

Re: [AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2017-07-21 Thread Kugan Vivekanandarajah
Ping ? Thanks, Kugan On 27 June 2017 at 11:20, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: > https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00614.html added this > workaround to get kernel building with when TARGET_FIX_ERR_A53_843419 > is enabled. >

Re: [AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2017-06-27 Thread Kugan Vivekanandarajah
Hi Ramana, On 27 June 2017 at 18:01, Ramana Radhakrishnan <ramana.radhakrish...@foss.arm.com> wrote: > On 27/06/17 02:20, Kugan Vivekanandarajah wrote: >> >> https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00614.html added this >> workaround to ge

[AARCH64] Disable pc relative literal load irrespective of TARGET_FIX_ERR_A53_84341

2017-06-26 Thread Kugan Vivekanandarajah
.wrf can be built (with LTO in this case) without -mno-pc-relative-literal-loads Bootstrapped and regression tested on aarch64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2017-06-27 Kugan Vivekanandarajah <kug...@linaro.org> * gcc.

Re: [PATCH GCC][4/5]Improve loop distribution to handle hmmer

2017-06-07 Thread kugan
ndence graph RDG and data dependences + in DDR_TABLE. Store data dependence relations for runtime alias + check in ALIAS_DDRS. */ + +static void +break_alias_scc_partitions (struct graph *rdg, + hash_table *ddr_table, + vec *partitions, +

Re: [PATCH GCC][4/5]Improve loop distribution to handle hmmer

2017-06-04 Thread Kugan Vivekanandarajah
the internal function for this to some extend but for some cases we should be able to say while in loop distribution itself that the control flow will not result in loop being vectorized. Btw, did you run Spec2006 with this? Any notable changes ? Thanks, Kugan On 2 June 2017 at 21:51, Bin Cheng <bin

Re: [RFA][PR tree-optimization/79095] [PATCH 1/4] Improve ranges for MINUS_EXPR and EXACT_DIV_EXPR

2017-02-05 Thread kugan
amp;& integer_zerop (vr0.min)) +set_value_range_to_nonnull (vr, TREE_TYPE (op0)); Just wondering if this has to be done only for POINTER_TYPE_P (TREE_TYPE (op))? Or is EXACT_DIV_EXPR always of POINTER_TYPE_P? Thanks, Kugan

Re: [RFC] Bug lto/78140

2017-02-01 Thread kugan
Hi Richard, On 30/01/17 21:08, Richard Biener wrote: On Mon, Jan 30, 2017 at 12:23 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi All, As suggested by Richard in the PR, I tried to implement variable size structures for VR as shown in attached patch. That is, I changed ipa-

Re: [RFC] Bug lto/78140

2017-02-01 Thread kugan
Hi Richard, On 30/01/17 21:08, Richard Biener wrote: On Mon, Jan 30, 2017 at 12:23 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: lto1: internal compiler error: Segmentation fault 0xdedc4b crash_signal ../../gcc/gcc/toplev.c:333 0xb46680 ipa_node_params_t::duplicate(cgrap

[RFC] Bug lto/78140

2017-01-29 Thread kugan
k it has anything to do with variable structure. Thanks, Kugan diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index aa3c997..bc6670f 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -4945,21 +4945,29 @@ ipcp_store_vr_results (void) for (unsigned i = 0; i < count; i++) { ipcp_par

Re: [PATCH][ARM] Remove DImode expansions for 1-bit shifts

2017-01-17 Thread kugan
the arm back-end? Thanks, Kugan

Re: [PATCH][ARM]Use different startfile and endfile for elf target when generating shared object.

2017-01-12 Thread kugan
%O%s} \ + crt0%O%s" Some targets seems to use shared|pie. When you change it, shouldn't it also include for pie? Thanks, Kugan

Re: [PR78365] ICE in determine_value_range, at tree-ssa-loo p-niter.c:413

2016-12-11 Thread kugan
for arguments to param_type. In propagate_vr_accross_jump_function also, we are doing the conversion. Thanks, Kugan diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 2ec671f..9853467 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -1846,11 +1846,11 @@ propagate_bits_accross_jump_function (cgraph_edge *cs, int

Re: [PR78365] ICE in determine_value_range, at tree-ssa-loo p-niter.c:413

2016-12-08 Thread kugan
Hi Martin, On 07/12/16 21:08, Martin Jambor wrote: Hello Kugan, sorry, I have lost track of this patch and re-discovered it only now. On Mon, Nov 28, 2016 at 04:25:00PM +1100, kugan wrote: Hi, On 24/11/16 19:48, Richard Biener wrote: On Wed, Nov 23, 2016 at 4:33 PM, Martin Jambor <m

[PATCH] Fix PR78721

2016-12-08 Thread kugan
Hi, in propagate_vr_accross_jump_function, drop_tree_overflow should be after fold_convert. Attached patch changes this. Bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-12-09 Kugan

Re: [PR78365] ICE in determine_value_range, at tree-ssa-loo p-niter.c:413

2016-12-07 Thread kugan
Hi Martin, On 07/12/16 21:08, Martin Jambor wrote: Hello Kugan, sorry, I have lost track of this patch and re-discovered it only now. On Mon, Nov 28, 2016 at 04:25:00PM +1100, kugan wrote: Hi, On 24/11/16 19:48, Richard Biener wrote: On Wed, Nov 23, 2016 at 4:33 PM, Martin Jambor <m

Re: [PR78365] ICE in determine_value_range, at tree-ssa-loo p-niter.c:413

2016-11-27 Thread kugan
Hi, On 24/11/16 19:48, Richard Biener wrote: On Wed, Nov 23, 2016 at 4:33 PM, Martin Jambor <mjam...@suse.cz> wrote: Hi, On Fri, Nov 18, 2016 at 12:38:18PM +1100, kugan wrote: Hi, I was relying on ipa_get_callee_param_type to get type of parameter and then convert arguments to thi

Re: [PR78365] ICE in determine_value_range, at tree-ssa-loo p-niter.c:413

2016-11-24 Thread kugan
Hi, On 24/11/16 19:48, Richard Biener wrote: On Wed, Nov 23, 2016 at 4:33 PM, Martin Jambor <mjam...@suse.cz> wrote: Hi, On Fri, Nov 18, 2016 at 12:38:18PM +1100, kugan wrote: Hi, I was relying on ipa_get_callee_param_type to get type of parameter and thenHi, convert arguments to thi

Re: [PATCH] [AArch64] Fix PR78382

2016-11-18 Thread kugan
); Thanks, Kugan

[PR78365] ICE in determine_value_range, at tree-ssa-loo p-niter.c:413

2016-11-17 Thread kugan
? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-11-18 Kugan Vivekanandarajah <kug...@linaro.org> PR IPA/78365 * gcc.dg/torture/pr78365.c: New test. gcc/ChangeLog: 2016-11-18 Kugan Vivekanandarajah <kug...@linaro.org> PR IPA/78365

Re: [ssa-coalesce] Rename register_ssa_partition

2016-11-14 Thread kugan
Hi Richard, On 08/11/16 23:45, Richard Biener wrote: On Tue, Nov 8, 2016 at 3:32 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi, In tree-ssa-coalesce, register_ssa_partition ) and register_ssa_partition_check have lost their meaning over various commits and now just ve

Re: [RFC] Handle unary pass-through jump functions for ipa-vrp

2016-11-13 Thread kugan
affected targets aarch64-none-linux-gnu and powerpc64le-unknown-linux-gnu. I also tested it on x86_64-linux-gnu with no new regressions. Is this OK? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-11-13 Kugan Vivekanandarajah <kug...@linaro.org> * g++.dg/torture/pr78268.C: New test.

Re: [ipa-vrp] ice in set_value_range

2016-11-10 Thread kugan
Hi David, Sorry about the breakage. I have already reverted this patch as this is causing bootstrap failures. I will test it on more targets before submitting this patch again. Thanks, Kugan On 11/11/16 00:25, David Edelsohn wrote: Kugan Is there a PR for this failure? It broke bootstrap

Re: [ipa-vrp] ice in set_value_range

2016-11-09 Thread kugan
Hi Andrew, On 10/11/16 17:14, Andrew Pinski wrote: On Wed, Nov 9, 2016 at 12:01 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Andrew, On 09/11/16 17:02, Andrew Pinski wrote: Either this patch or the patch for "Handle unary pass-through jump functions for ipa-

Re: [ipa-vrp] ice in set_value_range

2016-11-09 Thread kugan
e --enable-languages=c,c++,fortran,go --disable-werror --with-sysroot=/ --enable-plugins --enable-gnu-indirect-function I have not tried removing the +lse part though Sorry about the breakage. I will try to reproduce this. Thanks, Kugan

Re: [RFC] Handle unary pass-through jump functions for ipa-vrp

2016-11-08 Thread kugan
Hi, On 04/11/16 04:36, Martin Jambor wrote: Hi, On Fri, Oct 28, 2016 at 02:03:47PM +1100, kugan wrote: ...snip... I have also separated the constant parameter conversion out and posted as https://gcc.gnu.org/ml/gcc-patches/2016-10/msg02309.html. This is now handling just unary pass-through

Re: [ipa-vrp] ice in set_value_range

2016-11-08 Thread kugan
Hi, On 04/11/16 03:24, Martin Jambor wrote: Hi, On Fri, Oct 28, 2016 at 01:58:13PM +1100, kugan wrote: Do I understand it correctly that extract_range_from_unary_expr deals with any potential type conversions better (compared to what you did before here)? Yes, this can be wrong at times too

[ssa-coalesce] Rename register_ssa_partition

2016-11-07 Thread kugan
while reading the register_ssa_partition. Attached patch just changes it to verify_ssa_for_coalesce to better reflect what it is doing now. Bootstrap and regression testing is ongoing. Is this OK for trunk if no regressions? Thanks, Kugan gcc/ChangeLog: 2016-11-08 Kugan Vivekanandarajah

Re: [RFC] Handle unary pass-through jump functions for ipa-vrp

2016-10-27 Thread kugan
Hi, On 28/10/16 01:58, Jan Hubicka wrote: gcc/testsuite/ChangeLog: 2016-10-25 Kugan Vivekanandarajah <kug...@linaro.org> * gcc.dg/ipa/vrp7.c: New test. gcc/ChangeLog: 2016-10-25 Kugan Vivekanandarajah <kug...@linaro.org> * ipa-cp.c (ipa_get_jf_pass_th

[ipa-vrp] ice in set_value_range

2016-10-27 Thread kugan
orted in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78121. I have separated this part of the patch with a testcase. Please note that I am using fold_convert in the attached patch. Bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. Is this OK for trunk? Than

[RFC] Handle unary pass-through jump functions for ipa-vrp

2016-10-24 Thread kugan
to handle other passes like constant propagation as follow up based on the comments. LTO bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. Does this look OK? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-10-25 Kugan Vivekanandarajah <kug...@linaro.

[IPCP] Remove unreachable code

2016-10-24 Thread kugan
need any special casing for NOP_EXPR here. bit_value_unop handles already handles CASE_CONVERT. Is this OK if no regressions in bootstrap and regression testing. Thanks, Kugan gcc/ChangeLog: 2016-10-25 Kugan Vivekanandarajah <kug...@linaro.org> * ipa-cp.c (ipcp_bits_l

Re: [RFC][IPA-VRP] ADDR_EXPR and nonnull

2016-10-21 Thread kugan
On 21/10/16 18:16, Richard Biener wrote: On Fri, 21 Oct 2016, kugan wrote: Hi, On 20/10/16 23:15, Jan Hubicka wrote: Hi Richard, On 20/10/16 18:41, Richard Biener wrote: On Thu, 20 Oct 2016, kugan wrote: On 20/10/16 01:26, Jan Hubicka wrote: Would excluding weak symbols (I believe

Re: [RFC][IPA-VRP] ADDR_EXPR and nonnull

2016-10-20 Thread kugan
Hi, On 20/10/16 23:15, Jan Hubicka wrote: Hi Richard, On 20/10/16 18:41, Richard Biener wrote: On Thu, 20 Oct 2016, kugan wrote: On 20/10/16 01:26, Jan Hubicka wrote: Would excluding weak symbols (I believe I can check DECL_WEAK for this) good enough. Or looking for acceptable subset

Re: [RFC][IPA-VRP] ADDR_EXPR and nonnull

2016-10-20 Thread kugan
Hi Richard, On 20/10/16 18:41, Richard Biener wrote: On Thu, 20 Oct 2016, kugan wrote: On 20/10/16 01:26, Jan Hubicka wrote: Would excluding weak symbols (I believe I can check DECL_WEAK for this) good enough. Or looking for acceptable subset would work? I think we should add a symtab

Re: [PATCH] Simplify conditions in EVRP, handle taken edge

2016-10-20 Thread kugan
nes. Though this is good, in order to preserve the tested functionality, we need to add noclone attribute. Here is a patch to do this. Regression tested on aatch64-linux-gnu. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-10-20 Kugan Vivekanandarajah <kug

Re: [RFC][IPA-VRP] ADDR_EXPR and nonnull

2016-10-19 Thread kugan
sses bootstrap and regression testing on x86_64-linu-gnu. Thanks, Kugan Honza Richard. Thanks, Kugan Richard. Attached patch bootstraps and regression testing didn't introduce any new regressions. Thanks, Kugan gcc/ChangeLog: 2016-10-19 Kugan Vivekanandarajah <kug...@linaro.or

Re: [RFC][IPA-VRP] ADDR_EXPR and nonnull

2016-10-19 Thread kugan
Hi Richard, On 19/10/16 19:23, Richard Biener wrote: On Wed, 19 Oct 2016, kugan wrote: Hi, While computing jump function value range for pointer, I am wondering if we can assume that any tree with ADDR_EXPR will be nonnull. That is, in cases like: int arr[10]; foo ([1]); OR struct st

[RFC][IPA-VRP] ADDR_EXPR and nonnull

2016-10-18 Thread kugan
if this can be wrong. Any thoughts? Attached patch bootstraps and regression testing didn't introduce any new regressions. Thanks, Kugan gcc/ChangeLog: 2016-10-19 Kugan Vivekanandarajah <kug...@linaro.org> * ipa-prop.c (ipa_compute_jump_functions_for_edge): Set

Re: Set nonnull attribute to ptr_info_def based on VRP

2016-10-17 Thread kugan
Hi Richard, On 14/10/16 23:53, Richard Biener wrote: On Fri, Oct 14, 2016 at 1:12 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Richard, On 13/10/16 20:44, Richard Biener wrote: On Thu, Oct 13, 2016 at 6:49 AM, kugan <kugan.vivekanandara...@linaro.org> wrote:

Re: [PATCH AArch64]Penalize vector cost for large loops with too many vect insns.

2016-10-14 Thread kugan
= data->loop_info; + basic_block *bbs = get_loop_body (loop); Is this worth being part of the cost model such that it can have different defaults for different micro-architecture? Thanks, Kugan

Re: [ipa-vrp] Use get/set_ptr_nonnull in ipa-vrp

2016-10-13 Thread kugan
, Kugan gcc/ChangeLog: 2016-10-12 Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> * ipa-prop.c (ipa_compute_jump_functions_for_edge): Set value range for pointer type too. (ipcp_update_vr): set_ptr_nonnull for pointer. gcc/testsuite/ChangeLog: 2016

Re: Set nonnull attribute to ptr_info_def based on VRP

2016-10-13 Thread kugan
Hi Richard, On 13/10/16 20:44, Richard Biener wrote: On Thu, Oct 13, 2016 at 6:49 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Richard, what does this try to do? Preserve info VRP computed across PTA? I think we didn't yet sort out the nonlocal/escaped vs. null ha

Re: Set nonnull attribute to ptr_info_def based on VRP

2016-10-12 Thread kugan
r now as you said, I will document it. When we start using pt.null from PTA analysis, we would also have to take into account pt.anything/nonlocal/escaped. Does that make sense? Thanks, Kugan

Re: [vrp] use get_ptr_nonnull in tree-vrp

2016-10-12 Thread kugan
Hi Richard, On 13/10/16 05:53, kugan wrote: Hi Richard, On 12/10/16 23:24, Richard Biener wrote: On Wed, Oct 12, 2016 at 8:56 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi, This patch uses get_ptr_nonnull in tree-vrp. Bootstrapped and regression tested this with other p

Re: [vrp] use get_ptr_nonnull in tree-vrp

2016-10-12 Thread kugan
Hi Richard, On 12/10/16 23:24, Richard Biener wrote: On Wed, Oct 12, 2016 at 8:56 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi, This patch uses get_ptr_nonnull in tree-vrp. Bootstrapped and regression tested this with other patched without any new regressions on x86_64-lin

[vrp] use get_ptr_nonnull in tree-vrp

2016-10-12 Thread kugan
Hi, This patch uses get_ptr_nonnull in tree-vrp. Bootstrapped and regression tested this with other patched without any new regressions on x86_64-linux-gnu. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-10-12 Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.

[ipa-vrp] Use get/set_ptr_nonnull in ipa-vrp

2016-10-12 Thread kugan
Hi, This patch uses the get/set_ptr_nonnull so that ipa-vrp also propagates nonnull ranges for pinter. Bootstrapped and regression tested this with other patched without any new regressions on x86_64-linux-gnu. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2016-10-12 Kugan

Re: Set nonnull attribute to ptr_info_def based on VRP

2016-10-12 Thread kugan
Hi Richard, On 07/10/16 21:03, Richard Biener wrote: On Fri, Oct 7, 2016 at 2:53 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Richard, Thanks for the review. On 09/08/16 18:58, Richard Biener wrote: On Tue, Aug 9, 2016 at 12:58 AM, kugan <kugan.vivekanandara...@l

Re: [RFC][VRP] Improve intersect_ranges

2016-10-12 Thread kugan
Hi Richard, On 12/10/16 00:14, Richard Biener wrote: On Tue, Oct 11, 2016 at 2:57 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Richard, Hi Richard, On 10/10/16 20:13, Richard Biener wrote: On Sat, Oct 8, 2016 at 9:38 PM, kugan <kugan.vivekanandara...@linaro.org>

Re: [RFC][VRP] Improve intersect_ranges

2016-10-10 Thread kugan
Hi Richard, On 10/10/16 20:13, Richard Biener wrote: On Sat, Oct 8, 2016 at 9:38 PM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Richard, Thanks for the review. On 07/10/16 20:11, Richard Biener wrote: On Fri, Oct 7, 2016 at 12:00 AM, kugan <kugan.vivekanandara...@linaro.o

Re: [RFC][VRP] Improve intersect_ranges

2016-10-08 Thread kugan
Hi Richard, Thanks for the review. On 07/10/16 20:11, Richard Biener wrote: On Fri, Oct 7, 2016 at 12:00 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi, In vrp intersect_ranges, Richard recently changed it to create integer value ranges when it is integer singleton. Maybe we

[VRP] Allocate bitmap before copying

2016-10-08 Thread kugan
Hi, In vrp_intersect_ranges_1, when !vr0->equiv, we are copying vr1->equiv without allocating bitmap. This patch fixes this. Bootstrap and regression testing are ongoing. Is this OK if no new regressions? Thanks, Kugan gcc/ChangeLog: 2016-10-09 Kugan Vivekanandarajah <kug...@l

Re: Set nonnull attribute to ptr_info_def based on VRP

2016-10-06 Thread kugan
Hi Richard, Thanks for the review. On 09/08/16 18:58, Richard Biener wrote: On Tue, Aug 9, 2016 at 12:58 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Jakub, Thanks for the review. On 08/08/16 16:40, Jakub Jelinek wrote: On Mon, Aug 08, 2016 at 01:36:51PM +1000, kugan

[RFC][VRP] Improve intersect_ranges

2016-10-06 Thread kugan
it will be beneficial as the testcase in the patch. (For this testcase to work with Early VRP, we need the patch posted at https://gcc.gnu.org/ml/gcc-patches/2016-10/msg00413.html) Bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. Thanks, Kugan gcc/testsuite/ChangeLog

[EVRP] Register ranges for y in (x COND y) for Early VRP.

2016-10-06 Thread kugan
Hi, Attached patch Register ranges for y in (x COND y) for Early VRP. Bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2016-10-06 Kugan Vivekanandarajah <kug...@linaro.org> * tree

[PR77862] ICE in add_equivalence

2016-10-05 Thread kugan
with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-10-06 Kugan Vivekanandarajah <kug...@linaro.org> PR tree-optimization/77862 * gcc.dg/pr77862.c: New test. gcc/ChangeLog: 2016-10-06 Kugan Vivekanandarajah <kug...@l

Re: [EVRP] Fold stmts with vrp_fold_stmt

2016-10-04 Thread kugan
Hi Richard, Thanks for the review. On 04/10/16 19:56, Richard Biener wrote: On Tue, 4 Oct 2016, kugan wrote: Hi, This patch improves Early VRP by folding stmts using vrp_fold_stmt as it is done in ssa_propagate for VRP. Why? I thought it would be good for early vrp to simplify stmts

[EVRP] Fold stmts with vrp_fold_stmt

2016-10-03 Thread kugan
regressions. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-10-03 Kugan Vivekanandarajah <kug...@linaro.org> * gcc.dg/pr68217.c: Adjust testcase as more cases are now handled in evrp. * gcc.dg/predict-1.c: Likewise. * gcc.dg/predict-9.c: Li

Re: [PR77719] Fix ICE in pp_string, at pretty-print.c:955

2016-09-25 Thread kugan
On 25/09/16 04:50, kugan wrote: Hi, In make_new_ssa_for_def (tree-reassoc.c) we should use gimple_get_lhs to get lhs instead of gimple_assign_lhs as stmt can be builtins too. Attached patch fixes this. Testcase from PR (attached) seems to fail. I dont any fortran so I didnt try fixing

[PR77719] Fix ICE in pp_string, at pretty-print.c:955

2016-09-24 Thread kugan
errors) Excess errors: I didn't add it due to this. I will leave it to someone else. Bootstrapped and regression tested the attached patch on x86_64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2016-09-24 Kugan Vivekanandarajah <kug...@linaro.

Re: ICE at -O1 and above in both 32-bit and 64-bit modes on x86_64-linux-gnu

2016-09-23 Thread kugan
on x86_64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2016-09-24 Kugan Vivekanandarajah <kug...@linaro.org> PR ipa/77677 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Use extract_range_from_unary_expr to convert value

Re: ICE at -O1 and above in both 32-bit and 64-bit modes on x86_64-linux-gnu

2016-09-23 Thread kugan
Hi Richard, Thanks for the review. On 23/09/16 17:19, Richard Biener wrote: On Fri, Sep 23, 2016 at 12:24 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi, As Richard pointed out in PR77677, TREE_OVERFLOW is not cleared in IPA-VRP. There are three places in which we set value

ICE at -O1 and above in both 32-bit and 64-bit modes on x86_64-linux-gnu

2016-09-22 Thread kugan
are ongoing. Is this OK if there is no regression. Thanks, Kugan gcc/ChangeLog: 2016-09-23 Kugan Vivekanandarajah <kug...@linaro.org> PR ipa/77677 * ipa-cp.c (propagate_vr_accross_jump_function):Drop TREE_OVERFLOW from constant while creating value range

Re: [RFC][IPA-VRP] Early VRP Implementation

2016-09-19 Thread kugan
Hi Richard, Thanks for the review. On 19/09/16 22:56, Richard Biener wrote: On Sun, Sep 18, 2016 at 10:50 PM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Richard, On 16/09/16 20:21, Richard Biener wrote: On Fri, Sep 16, 2016 at 7:59 AM, kugan <kugan.vivekanandara...@l

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-09-19 Thread kugan
Hi Richard, Thanks for the review. On 19/09/16 23:40, Richard Biener wrote: On Sun, Sep 18, 2016 at 10:21 PM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Richard, On 14/09/16 21:31, Richard Biener wrote: On Fri, Sep 2, 2016 at 10:09 AM, Kugan Vivekanandarajah <kugan.vive

Re: [RFC][IPA-VRP] Early VRP Implementation

2016-09-18 Thread kugan
Hi Richard, On 16/09/16 20:21, Richard Biener wrote: On Fri, Sep 16, 2016 at 7:59 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Richard, Thanks for the review. On 14/09/16 22:04, Richard Biener wrote: On Tue, Aug 23, 2016 at 4:11 AM, Kugan Vivekanandarajah <kugan.vive

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-09-18 Thread kugan
Hi Richard, On 14/09/16 21:31, Richard Biener wrote: On Fri, Sep 2, 2016 at 10:09 AM, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: Hi Richard, On 25 August 2016 at 22:24, Richard Biener <richard.guent...@gmail.com> wrote: On Thu, Aug 11, 2016 at 1:

Re: [PATCH] have __builtin_object_size handle POINTER_PLUS with non-const offset

2016-09-16 Thread kugan
9/msg00993.html Thanks, Kugan

Re: [RFC][IPA-VRP] Early VRP Implementation

2016-09-16 Thread kugan
Hi Richard, Thanks for the review. On 14/09/16 22:04, Richard Biener wrote: On Tue, Aug 23, 2016 at 4:11 AM, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: Hi, On 19 August 2016 at 21:41, Richard Biener <richard.guent...@gmail.com> wrote: On Tue, Aug 16, 201

Re: [TREE-SSA-CCP] Issue warning when folding condition

2016-09-12 Thread kugan
Hi Richard, On 19/08/16 18:00, Richard Biener wrote: On Fri, 19 Aug 2016, Kugan Vivekanandarajah wrote: On 19 August 2016 at 12:09, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: The testcase pr33738.C for warning fails with early-vrp patch. The reason is, with ear

Re: [TREE-SSA-CCP] Issue warning when folding condition

2016-09-12 Thread kugan
Hi Jeff, On 13/09/16 08:11, Jeff Law wrote: On 08/18/2016 08:09 PM, Kugan Vivekanandarajah wrote: The testcase pr33738.C for warning fails with early-vrp patch. The reason is, with early-vrp ccp2 is folding the comparison that used to be folded in simplify_stmt_for_jump_threading. Since early

Re: [RFC][SSA] Iterator to visit SSA

2016-09-07 Thread Kugan Vivekanandarajah
Hi Richard, On 7 September 2016 at 19:35, Richard Biener <richard.guent...@gmail.com> wrote: > On Wed, Sep 7, 2016 at 2:21 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi Richard, >> >> On 6 September 2016 at 19:08, Richar

Re: [PATCH GCC 9/9]Prove no-overflow in computation of LOOP_VINFO_NITERS and improve code generation

2016-09-07 Thread kugan
Hi Bin, On 07/09/16 17:52, Bin.Cheng wrote: On Wed, Sep 7, 2016 at 1:10 AM, kugan <kugan.vivekanandara...@linaro.org> wrote: Hi Bin, On 07/09/16 04:54, Bin Cheng wrote: Hi, LOOP_VINFO_NITERS is computed as LOOP_VINFO_NITERSM1 + 1, which could overflow in loop niters' type. Vect

Re: [RFC][SSA] Iterator to visit SSA

2016-09-06 Thread Kugan Vivekanandarajah
Hi Richard, On 6 September 2016 at 19:08, Richard Biener <richard.guent...@gmail.com> wrote: > On Tue, Sep 6, 2016 at 2:24 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi Richard, >> >> On 5 September 2016 at 17:57, Richar

Re: [PATCH GCC 9/9]Prove no-overflow in computation of LOOP_VINFO_NITERS and improve code generation

2016-09-06 Thread kugan
overflows? Thanks, Kugan + return true; +} + + widest_int max; + struct loop *loop = LOOP_VINFO_LOOP (loop_vinfo); + /* Check the upper bound of loop niters. */ + if (get_max_loop_iterations (loop, )) +{ + tree type = TREE_TYPE (LOOP_VINFO_NITERS (loop_vinfo)); + s

Re: [RFC][SSA] Iterator to visit SSA

2016-09-06 Thread Kugan Vivekanandarajah
Hi Richard, On 6 September 2016 at 19:57, Richard Biener <richard.guent...@gmail.com> wrote: > On Tue, Sep 6, 2016 at 11:33 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi Richard, >> >> On 6 September 2016 at 19:08, Richar

Re: [RFC][SSA] Iterator to visit SSA

2016-09-06 Thread Kugan Vivekanandarajah
Hi Richard, On 6 September 2016 at 19:08, Richard Biener <richard.guent...@gmail.com> wrote: > On Tue, Sep 6, 2016 at 2:24 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi Richard, >> >> On 5 September 2016 at 17:57, Richar

Re: [RFC][SSA] Iterator to visit SSA

2016-09-05 Thread Kugan Vivekanandarajah
Hi Richard, On 5 September 2016 at 17:57, Richard Biener <richard.guent...@gmail.com> wrote: > On Mon, Sep 5, 2016 at 7:26 AM, Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> Hi All, >> >> While looking at gcc source, I noticed that w

[RFC][SSA] Iterator to visit SSA

2016-09-04 Thread Kugan Vivekanandarajah
to follow some consistent usage here. It might be also good to gave a FOR_EACH_SSAVAR iterator as we do in other case. Here is attempt to do this based on what is done in other places. Bootstrapped and regression tested on X86_64-linux-gnu with no new regressions. is this OK? Thanks, Kugan gcc

Re: [RFC][IPA-VRP] Early VRP Implementation

2016-09-02 Thread Kugan Vivekanandarajah
Ping ? Thanks, Kugan On 23 August 2016 at 12:11, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: > Hi, > > On 19 August 2016 at 21:41, Richard Biener <richard.guent...@gmail.com> wrote: >> On Tue, Aug 16, 2016 at 9:45 AM, kugan >> <kuga

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-09-02 Thread Kugan Vivekanandarajah
Hi Richard, On 25 August 2016 at 22:24, Richard Biener <richard.guent...@gmail.com> wrote: > On Thu, Aug 11, 2016 at 1:09 AM, kugan > <kugan.vivekanandara...@linaro.org> wrote: >> Hi, >> >> >> On 10/08/16 20:28, Richard Biener wrote: >>> >

Re: [RFC][IPA-VRP] Add support for IPA VRP in ipa-cp/ipa-prop

2016-08-30 Thread kugan
structure with wide_int. Thanks, Kugan

Re: [RFC][IPA-VRP] Add support for IPA VRP in ipa-cp/ipa-prop

2016-08-29 Thread Kugan Vivekanandarajah
t here. The analysis phase should > not determine > anything if function is reachable non-locally. Removed it. >> +/* Info about value ranges. */ >> + >> +struct GTY(()) ipa_vr >> +{ >> + /* The data fields below are valid only if known is true. */ >

<    1   2   3   4   5   6   >