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

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

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 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_range: 1. When value ranges are obtained

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 PR ipa/77677 * ipa-cp.c (propagate_vr_accross_jump_function):Drop TREE_OVERFLOW from constant while creating value range. gcc/testsuite/ChangeLog: 2016

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 wrote: Hi Richard, On 16/09/16 20:21, Richard Biener wrote: On Fri, Sep 16, 2016 at 7:59 AM, kugan wrote: Hi Richard, Thanks for the review. On 14/09/16 22:04

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 wrote: Hi Richard, On 14/09/16 21:31, Richard Biener wrote: On Fri, Sep 2, 2016 at 10:09 AM, Kugan Vivekanandarajah wrote: Hi Richard, On 25 August 2016 at 22:24

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 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 wrote: Hi, On 19 August 2016 at 21:41, Richard Biener

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 wrote: Hi Richard, On 25 August 2016 at 22:24, Richard Biener wrote: On Thu, Aug 11, 2016 at 1:09 AM, kugan wrote: Hi, On 10/08/16 20:28, Richard Biener wrote: On Wed, Aug 10

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

2016-09-15 Thread kugan
016-09/msg00993.html Thanks, Kugan

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

2016-09-15 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 wrote: Hi, On 19 August 2016 at 21:41, Richard Biener wrote: On Tue, Aug 16, 2016 at 9:45 AM, kugan wrote: Hi Richard, I am now having -ftree-evrp which

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 wrote: The testcase pr33738.C for warning fails with early-vrp patch. The reason is, with early-vrp ccp2 is folding the comparison that

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 wrote: > On Wed, Sep 7, 2016 at 2:21 AM, Kugan Vivekanandarajah > wrote: >> Hi Richard, >> >> On 6 September 2016 at 19:08, Richard Biener >> wrote: >>> On Tue, Sep 6, 2016 at 2:24 AM, Kugan Vivek

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 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. Vectorizer needs to generate more code comp

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

2016-09-06 Thread Kugan Vivekanandarajah
Hi Richard, On 6 September 2016 at 19:08, Richard Biener wrote: > On Tue, Sep 6, 2016 at 2:24 AM, Kugan Vivekanandarajah > wrote: >> Hi Richard, >> >> On 5 September 2016 at 17:57, Richard Biener >> wrote: >>> On Mon, Sep 5, 2016 at 7:26 AM, Kugan V

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

2016-09-06 Thread kugan
tree cst_nitersm1 = LOOP_VINFO_NITERSM1 (loop_vinfo); + + gcc_assert (TREE_CODE (cst_nitersm1) == INTEGER_CST); + if (wi::to_widest (cst_nitersm1) < cst_niters) Shouldn't you have do the addition and comparison in the type of the loop index instead of widest_int to see if tha

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

2016-09-06 Thread Kugan Vivekanandarajah
Hi Richard, On 6 September 2016 at 19:57, Richard Biener wrote: > On Tue, Sep 6, 2016 at 11:33 AM, Kugan Vivekanandarajah > wrote: >> Hi Richard, >> >> On 6 September 2016 at 19:08, Richard Biener >> wrote: >>> On Tue, Sep 6, 2016 at 2:24 AM, Kug

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

2016-09-06 Thread Kugan Vivekanandarajah
Hi Richard, On 6 September 2016 at 19:08, Richard Biener wrote: > On Tue, Sep 6, 2016 at 2:24 AM, Kugan Vivekanandarajah > wrote: >> Hi Richard, >> >> On 5 September 2016 at 17:57, Richard Biener >> wrote: >>> On Mon, Sep 5, 2016 at 7:26 AM, Kugan V

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

2016-09-05 Thread Kugan Vivekanandarajah
Hi Richard, On 5 September 2016 at 17:57, Richard Biener wrote: > On Mon, Sep 5, 2016 at 7:26 AM, Kugan Vivekanandarajah > wrote: >> Hi All, >> >> While looking at gcc source, I noticed that we are iterating over SSA >> variable from 0 to num_ssa_names in some case

[RFC][SSA] Iterator to visit SSA

2016-09-04 Thread Kugan Vivekanandarajah
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 wrote: > Hi, > > On 19 August 2016 at 21:41, Richard Biener wrote: >> On Tue, Aug 16, 2016 at 9:45 AM, kugan >> wrote: >>> Hi Richard, >>> >>> On 12/08/16 20:43, Richard Bie

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 wrote: > On Thu, Aug 11, 2016 at 1:09 AM, kugan > wrote: >> Hi, >> >> >> On 10/08/16 20:28, Richard Biener wrote: >>> >>> On Wed, Aug 10, 2016 at 10:57 AM, Jakub Jelinek 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
ant 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. */ >

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

2016-08-22 Thread Kugan Vivekanandarajah
Hi, On 19 August 2016 at 21:41, Richard Biener wrote: > On Tue, Aug 16, 2016 at 9:45 AM, kugan > wrote: >> Hi Richard, >> >> On 12/08/16 20:43, Richard Biener wrote: >>> >>> On Wed, Aug 3, 2016 at 3:17 AM, kugan >>> wrote: >> >> &g

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-08-19 Thread Kugan Vivekanandarajah
Ping? https://gcc.gnu.org/ml/gcc-patches/2016-08/msg00872.html Thanks, Kugan On 11 August 2016 at 09:09, kugan wrote: > Hi, > > > On 10/08/16 20:28, Richard Biener wrote: >> >> On Wed, Aug 10, 2016 at 10:57 AM, Jakub Jelinek wrote: >>> >>> On Wed, Aug

Re: [RFC][PR61839]Convert CST BINOP COND_EXPR to COND_EXPR ? (CST BINOP 1) : (CST BINOP 0)

2016-08-19 Thread Kugan Vivekanandarajah
Ping? https://gcc.gnu.org/ml/gcc-patches/2016-08/msg00987.html Thanks, Kugan On 12 August 2016 at 13:19, kugan wrote: > Hi Richard, > > > On 11/08/16 20:04, Richard Biener wrote: >> >> On Thu, Aug 11, 2016 at 6:11 AM, kugan >> wrote: > > > [SNIP] &g

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

2016-08-18 Thread Kugan Vivekanandarajah
On 19 August 2016 at 12:09, 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-vrp does > not perform ju

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

2016-08-18 Thread Kugan Vivekanandarajah
-ssa-ccp.c. We might also run into some other similar issues in the future. Bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2016-08-18 Kugan Vivekanandarajah * tree-ssa-ccp.c (ccp_fold_stmt): If the

Re: [RFC][IPA-VRP] Re-factor tree-vrp to factor out common code

2016-08-16 Thread kugan
Hi Richard, On 17/08/16 08:20, kugan wrote: Hi, On 16/08/16 21:56, Richard Biener wrote: On Tue, Aug 16, 2016 at 10:09 AM, kugan wrote: On 23/07/16 20:12, kugan wrote: Hi Richard, As we had value_range_type in tree-ssanames.h why not put value_range there? For IPA_VRP, we now need

Re: [RFC][IPA-VRP] splits out the update_value_range calls from vrp_visit_stmt

2016-08-16 Thread kugan
Hi, On 16/08/16 20:58, Richard Biener wrote: On Tue, Aug 16, 2016 at 9:39 AM, kugan wrote: Hi, as said the refactoring that would be appreciated is to split out the update_value_range calls from the worker functions so you can call the respective functions from the DOM implementations. That

Re: [RFC][IPA-VRP] Re-factor tree-vrp to factor out common code

2016-08-16 Thread kugan
Hi, On 16/08/16 21:56, Richard Biener wrote: On Tue, Aug 16, 2016 at 10:09 AM, kugan wrote: On 23/07/16 20:12, kugan wrote: Hi Richard, As we had value_range_type in tree-ssanames.h why not put value_range there? For IPA_VRP, we now need value_range used in ipa-prop.h (in ipa-vrp

Re: [RFC][IPA-VRP] Re-factor tree-vrp to factor out common code

2016-08-16 Thread kugan
On 23/07/16 20:12, kugan wrote: Hi Richard, As we had value_range_type in tree-ssanames.h why not put value_range there? For IPA_VRP, we now need value_range used in ipa-prop.h (in ipa-vrp patch). Based on this, attached patch now adds struct value_range to tree-ssanames.h and fixes the

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

2016-08-16 Thread kugan
Hi Richard, On 12/08/16 20:43, Richard Biener wrote: On Wed, Aug 3, 2016 at 3:17 AM, kugan wrote: [SNIP] diff --git a/gcc/common.opt b/gcc/common.opt index 8a292ed..7028cd4 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -2482,6 +2482,10 @@ ftree-vrp Common Report Var(flag_tree_vrp

[RFC][IPA-VRP] splits out the update_value_range calls from vrp_visit_stmt

2016-08-16 Thread kugan
is a patch that just splits out the update_value_range calls visit_stmts. Bootstrapped and regression tested on x86_64-linux with no new regressions. I also verified few random fdump-tree-vrp1-details from stage2 to make sure they are same. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog

Re: [RFC][PR61839]Convert CST BINOP COND_EXPR to COND_EXPR ? (CST BINOP 1) : (CST BINOP 0)

2016-08-11 Thread kugan
Hi Richard, On 11/08/16 20:04, Richard Biener wrote: On Thu, Aug 11, 2016 at 6:11 AM, kugan wrote: [SNIP] +two_valued_val_range_p (tree var, tree *a, tree *b) +{ + value_range *vr = get_value_range (var); + if ((vr->type != VR_RANGE + && vr->type !=

Re: [RFC][PR61839]Convert CST BINOP COND_EXPR to COND_EXPR ? (CST BINOP 1) : (CST BINOP 0)

2016-08-10 Thread kugan
Hi Richard, On 09/08/16 20:22, Richard Biener wrote: On Tue, Aug 9, 2016 at 4:51 AM, Kugan Vivekanandarajah wrote: Hi Richard, Thanks for the review. On 29 April 2016 at 20:47, Richard Biener wrote: On Sun, Apr 17, 2016 at 1:14 AM, kugan wrote: As explained in PR61839, Following

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-08-10 Thread kugan
Hi, On 10/08/16 20:28, Richard Biener wrote: On Wed, Aug 10, 2016 at 10:57 AM, Jakub Jelinek wrote: On Wed, Aug 10, 2016 at 08:51:32AM +1000, kugan wrote: I see it now. The problem is we are just looking at (-1) being in the ops list for passing changed to rewrite_expr_tree in the case of

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-08-10 Thread kugan
On 10/08/16 18:57, Jakub Jelinek wrote: On Wed, Aug 10, 2016 at 08:51:32AM +1000, kugan wrote: I see it now. The problem is we are just looking at (-1) being in the ops list for passing changed to rewrite_expr_tree in the case of multiplication by negate. If we have combined (-1), as in the

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-08-09 Thread kugan
On 10/08/16 08:51, kugan wrote: Hi Jakub, On 10/08/16 07:55, Jakub Jelinek wrote: On Wed, Aug 10, 2016 at 07:51:08AM +1000, kugan wrote: On 10/08/16 07:46, Jakub Jelinek wrote: On Wed, Aug 10, 2016 at 07:42:25AM +1000, kugan wrote: There was no new regression while testing. I also moved

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-08-09 Thread kugan
Hi Jakub, On 10/08/16 07:55, Jakub Jelinek wrote: On Wed, Aug 10, 2016 at 07:51:08AM +1000, kugan wrote: On 10/08/16 07:46, Jakub Jelinek wrote: On Wed, Aug 10, 2016 at 07:42:25AM +1000, kugan wrote: There was no new regression while testing. I also moved the testcase from gcc.dg/torture

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-08-09 Thread kugan
Hi Andrew, On 10/08/16 07:50, Andrew Pinski wrote: On Tue, Aug 9, 2016 at 2:42 PM, kugan wrote: On 09/08/16 23:43, kugan wrote: Hi, The test-case in PR72835 is failing with -O2 and passing with -fno-tree-reassoc. It also passes with -O2 -fno-tree-vrp. diff of .115t.dse2 and

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-08-09 Thread kugan
Hi Jakub, On 10/08/16 07:46, Jakub Jelinek wrote: On Wed, Aug 10, 2016 at 07:42:25AM +1000, kugan wrote: There was no new regression while testing. I also moved the testcase from gcc.dg/torture/pr72835.c to gcc.dg/tree-ssa/pr72835.c. Is this OK for trunk? This looks strange. The tree-ssa

Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-08-09 Thread kugan
On 09/08/16 23:43, kugan wrote: Hi, The test-case in PR72835 is failing with -O2 and passing with -fno-tree-reassoc. It also passes with -O2 -fno-tree-vrp. diff of .115t.dse2 and .116t.reassoc1 for the c++ testcase is as follows, which looks OK. + unsigned int _16; + unsigned int _17

[PR72835] Incorrect arithmetic optimization involving bitfield arguments

2016-08-09 Thread kugan
resets it. With this, the testcases in TH PR is now working. Bootstrap and regression testing for x86_64-linux-gnu is in progress. Is this OK for trunk if there is no regression. Thanks, Kugan gcc/testsuite/ChangeLog: 2016-08-09 Kugan Vivekanandarajah PR tree-optimization/72835

Re: [RFC][PR61839]Convert CST BINOP COND_EXPR to COND_EXPR ? (CST BINOP 1) : (CST BINOP 0)

2016-08-08 Thread Kugan Vivekanandarajah
Hi Richard, Thanks for the review. On 29 April 2016 at 20:47, Richard Biener wrote: > On Sun, Apr 17, 2016 at 1:14 AM, kugan > wrote: >> As explained in PR61839, >> >> Following difference results in extra instructions: >> - c = b != 0 ? 486097858 : 972195717;

Re: Set nonnull attribute to ptr_info_def based on VRP

2016-08-08 Thread kugan
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 wrote: diff --git a/gcc/tree-ssanames.h b/gcc/tree-ssanames.h index c81b1a1..6e34433 100644 --- a/gcc/tree-ssanames.h +++ b/gcc/tree-ssanames.h @@ -43,6 +43,9 @@ struct GTY

Set nonnull attribute to ptr_info_def based on VRP

2016-08-07 Thread kugan
be used in IPA-VRP such that redundant check for NULL can be eliminated. Bootstrapped and regression tested on x86_64-linux-gnu. Is this OK for trunk. Thanks, Kugan gcc/ChangeLog: 2016-08-08 Kugan Vivekanandarajah * tree-ssanames.c (set_ptr_nonnull): New

[RFC] Use ccp mask and val to refine value_range

2016-08-07 Thread kugan
uot;loop with 4 iterations completely unrolled" 2 gcc.dg/tree-ssa/pr61743-1.c scan-tree-dump-times cunroll "loop with 8 iterations completely unrolled" 2 gcc.dg/tree-ssa/ssa-dom-thread-7.c scan-tree-dump thread3 "Jumps threaded: 3" ## Differences found: # 1 differences in 1

Re: make streaming routines for widest_int non-static

2016-08-05 Thread kugan
-bitwise-cp patch ? Bootstrap+test in progress on x86_64-unknown-linux-gnu. OK for trunk ? I think I approved a better patch from Kugan. Sorry, I was waiting for the other patches to get approved. Since this is needed for Prathamesh too, I will commit after testing this patch alone. Thanks. Kugan

Re: [RFC] ipa bitwise constant propagation

2016-08-04 Thread kugan
this point), some of the ranges can be pessimistic and can impact the estimation. Let me have a look at this. Thanks, Kugan

Re: [RFC] ipa bitwise constant propagation

2016-08-04 Thread kugan
in https://patchwork.ozlabs.org/patch/648662/. I will commit that soon. Thanks, Kugan

Re: [LTO] Add wide_int streaming support

2016-08-04 Thread kugan
Hi Richard, Thanks for the review. On 04/08/16 17:26, Richard Biener wrote: On Thu, Aug 4, 2016 at 6:12 AM, kugan wrote: Hi, During IPA-VRP implementation, I realized that we don't support streaming wide_int in LTO. Attached patch does this. Tested with IPA-VRP. Is this OK for tru

[LTO] Add wide_int streaming support

2016-08-03 Thread kugan
Hi, During IPA-VRP implementation, I realized that we don't support streaming wide_int in LTO. Attached patch does this. Tested with IPA-VRP. Is this OK for trunk if bootstrap and regression testing is fine. Thanks, Kugan gcc/ChangeLog: 2016-08-04 Kugan Vivekanandarajah

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

2016-08-02 Thread kugan
Hi Richard, Thanks for the review. On 28/07/16 21:34, Richard Biener wrote: On Thu, Jul 28, 2016 at 9:35 AM, kugan wrote: Hi Richard, Thanks for the review. It seems that in your pop_value_range you assume you only pop one range per BB - while that's likely true at the moment it wi

Re: [RFC][PR68217] Improve value range for signed & sign-bit-CST

2016-07-28 Thread kugan
Hi Richard, Thanks for the review. On 27/04/16 00:14, Richard Biener wrote: On Fri, Apr 15, 2016 at 12:44 PM, kugan wrote: As pointed out by Richard, for signed & sign-bit-CST value range should be [-INF, 0] range, not a [-INF, INF] range as happens now. This patch fixes thi

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

2016-07-28 Thread kugan
keep a work-list of nodes to be re-evaluated till the lattice reach a fixpoint. Is that OK with you? If we are to do this, we should be able to reuse the callbacks vrp_visit_phi_node and vrp_visit_stmt as it is. Do you have a reference to your DOM based prototype? Thanks, Kugan Btw, you d

Re: [Bug tree-optimization] Fix for PR71994

2016-07-26 Thread kugan
You are right. The problem was with the order of checking tcc_compare and calling get_ops. We ended up calling get_ops where we should not. Bootstrap and regression testing is ongoing. Is this OK for trunk if no regressions? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-07-27 Kugan Viveka

Re: [Bug tree-optimization] Fix for PR71994

2016-07-26 Thread kugan
Hi Richard, On 26/07/16 21:48, Richard Biener wrote: On Tue, Jul 26, 2016 at 5:13 AM, kugan wrote: Hi, For testcase in pr71994, type of bb conditional result and the type of the PHI stmt are different (as om.0_1 is int and the first PHI argument is _bool; PHI stmt uses a constant zero that

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

2016-07-26 Thread kugan
. I would like to run this only for -O2 and above but for now I am using this to test. I have tested the last set of patch separately. I will do more testing on this patch based on your feedback. Does this look better? Thanks, Kugan >From eefcd1c5444cf5d

[Bug tree-optimization] Fix for PR71994

2016-07-25 Thread kugan
uld check the type before replacing the value (punt otherwise). Attached patch does that. Bootstrapped and regression tested on x86_64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-07-26 Kugan Vivekanandarajah * gcc.dg/torture/p

Re: [PATCH] Call get_ops just for SSA_NAMEs (PR tree-optimization/71987)

2016-07-25 Thread kugan
operand_entry_pool.allocate (); Sorry about the breakage. Since final_range_test_p allows either lhs or rhs to be SSA_NAME (for the different cases it accepts), we should indeed check for TREE_CODE being SSA_NAME. Unfortunately it didn't trigger in my testing. Lets wait for the maintainers conformation. Thanks for working on this, Kugan

Re: [RFC][IPA-VRP] Disable setting param of __builtin_constant_p to null

2016-07-25 Thread kugan
the patches in the series. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2016-07-25 Kugan Vivekanandarajah * tree-vrp.c (extract_range_basic): Check cfun->after_inlining before folding call to __builtin_constant_p with parameters to false. >From 4805ea975de0fd3b183

Re: [PATCH] Teach VRP to register assertions along default switch labels (PR 18046)

2016-07-23 Thread kugan
large number of ASSERT_EXPRs in the default basic block. I am not sure if this would have any impact on compile time/memory usage? If that is the case you might want to punt at some length? Thanks, Kugan

Re: [RFC][IPA-VRP] Re-factor tree-vrp to factor out common code

2016-07-23 Thread kugan
had to add other headers in few places due to the dependency. Are you OK with this ? Here is alternate patch where we keep struct value_range and enum value_range_type to tree-vrp.h. May be it is a better approach? Please let me know what is your preference. Thanks, Kugan >F

Re: [RFC][IPA-VRP] Re-factor tree-vrp to factor out common code

2016-07-22 Thread kugan
Hi Richard, Thanks for the review. On 22/07/16 22:49, Richard Biener wrote: On Fri, Jul 22, 2016 at 2:27 PM, kugan wrote: Hi, Now that early vrp is moved as part of tree-vrp, there is only minimal interface tree-vrp should expose for ipa-vrp. However, I have not found the right place to

Re: [RFC][IPA-VRP] Re-factor tree-vrp to factor out common code

2016-07-22 Thread kugan
. Thanks, Kugan >From 2e7d10923fefddafdeffc571e870508ac0ee193c Mon Sep 17 00:00:00 2001 From: Kugan Vivekanandarajah Date: Tue, 21 Jun 2016 12:42:44 +1000 Subject: [PATCH 4/7] Refactor vrp --- gcc/tree-ssanames.h | 5 - gcc/tree-vrp.c |

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

2016-07-22 Thread kugan
Hi Richard, Thanks for the review. On 18/07/16 21:51, Richard Biener wrote: On Fri, Jul 15, 2016 at 9:33 AM, kugan wrote: Hi Andrew, On 15/07/16 17:28, Andrew Pinski wrote: On Fri, Jul 15, 2016 at 12:08 AM, kugan wrote: Hi Andrew, Why separate out early VRP from tree-vrp? Just a

[VRP] Use alloc-pool and obstack for value_range and vr->equiv allocations

2016-07-19 Thread kugan
OK for trunk. Thanks, Kugan gcc/ChangeLog: 2016-07-20 Kugan Vivekanandarajah * tree-vrp.c (set_value_range): Use vrp_equiv_obstack with BITMAP_ALLOC. (add_equivalence): Likewise. (get_value_range): Allocate value range with vrp_value_range_p

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

2016-07-19 Thread kugan
Hi Martin, On 19/07/16 18:22, kugan wrote: Hi Martin, Thanks for the review. I have revised the patch based on the review. Please see the comments below. Maybe it is better to separate value range and alignment summary writing/reading to different functions. Here is another updated

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

2016-07-19 Thread kugan
Hi Martin, Thanks for the review. I have revised the patch based on the review. Please see the comments below. On 15/07/16 22:23, Martin Jambor wrote: Hi, thanks for working on extending IPA-CP in this way. I do have a few comments though: On Fri, Jul 15, 2016 at 02:46:50PM +1000, kugan

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

2016-07-15 Thread kugan
Hi Andrew, On 15/07/16 17:28, Andrew Pinski wrote: On Fri, Jul 15, 2016 at 12:08 AM, kugan wrote: Hi Andrew, Why separate out early VRP from tree-vrp? Just a little curious. It is based on the discussion in https://gcc.gnu.org/ml/gcc/2016-01/msg00069.html. In summary, conclusion (based

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

2016-07-15 Thread kugan
pass. I will give this a try. Thanks, Kugan

Re: [RFC][IPA-VRP] Check for POINTER_TYPE_P before accessing SSA_NAME_PTR_INFO in tree-inline

2016-07-15 Thread kugan
fo; /* Value range attributes used for zero/sign extension elimination. */ struct GTY ((tag ("1"))) range_info_def *range_info; } GTY ((desc ("%1.typed.type ?" \ "!POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) : 2"))) info; Thanks, Kugan

[RFC][IPA-VRP] Teach tree-vrp to use the VR set in params

2016-07-14 Thread kugan
Hi, This patch teaches tree-vrp to use the VR set in params. Thanks, Kugan gcc/ChangeLog: 2016-07-14 Kugan Vivekanandarajah * tree-vrp.c (get_value_range): Teach PARM_DECL to use ipa-vrp results. >From 1900ff9210f1dd673f815b3a421c6ec1e02f6e05 Mon Sep 17

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

2016-07-14 Thread kugan
Hi, This patch extends ipa-cp/ipa-prop infrastructure to handle propagation of VR. Thanks, Kugan gcc/testsuite/ChangeLog: 2016-07-14 Kugan Vivekanandarajah * gcc.dg/ipa/vrp1.c: New test. * gcc.dg/ipa/vrp2.c: New test. * gcc.dg/ipa/vrp3.c: New test

[RFC][IPA-VRP] Early VRP Implementation

2016-07-14 Thread kugan
Hi, This patch adds a very simple early vrp implementation. This visits the basic blocks in the dominance order and set the Value Ranges (VR) for SSA_NAMEs in the scope. Use this VR to discover more VRs. Restore the old VR once the scope is exit. Thanks, Kugan gcc/ChangeLog

[RFC][IPA-VRP] Re-factor tree-vrp to factor out common code

2016-07-14 Thread kugan
Hi, This patch re-factors common code in tree-vrp to be used in early vrp. I am not entirely sure where I should place struct value_range. For now I have placed in tree.h. Thanks, Kugan 2016-07-14 Kugan Vivekanandarajah * tree-ssanames.h (enum value_range_type): Move

[RFC][IPA-VRP] Check for POINTER_TYPE_P before accessing SSA_NAME_PTR_INFO in tree-inline

2016-07-14 Thread kugan
Hi, This patch adds check for POINTER_TYPE_P before accessing SSA_NAME_PTR_INFO in remap_ssa_name in gcc/tree-inline.c. This is not related to IPA_VRP but was exposed by that. Thanks, Kugan gcc/ChangeLog: 2016-07-14 Kugan Vivekanandarajah * tree-inline.c

[RFC][IPA-VRP] Disable setting param of __builtin_constant_p to null

2016-07-14 Thread kugan
time being. That is, this patch is not intended for committing but just to get the VRP tested. Original patch which introduced this also talks about doing it earlier. Thanks, Kugan >From 99f8e7884d582cfae2d7cb50ad59dab7ac6772fc Mon Sep 17 00:00:00 2001 From: Kugan Vivekanandarajah D

[RFC][IPA-VRP] IPA VRP Implementation

2016-07-14 Thread kugan
otstrap and LTO bootstrap). There are couple of testcase failures which I am looking into. Any thoughts? Thanks, Kugan

[PR71478] Fix ICE in tree-ssa-reassoc.c

2016-06-09 Thread kugan
gimple_assign. Attached patch fixes the place where we remove the vector (-1). Regression tested on x86-64-linux-gnu with no new regressions. Regression testing on aarc64-linux-gnu is ongoing. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-06-10 Kugan Vivekanandarajah

[PR71408] - Fix wrong code at -Os and above

2016-06-05 Thread kugan
tested and bootstrapped on x86-64-linux-gnu with no new regression. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2016-06-05 Kugan Vivekanandarajah PR middle-end/71408 * tree-ssa-reassoc.c (zero_one_operation): Fix NEGATE_EXPR operand for propagate_op_to_s

[PR71281] ICE on gcc trunk on knl, wsm, ivb and bdw targets

2016-06-03 Thread kugan
o new regression. Is this OK for trunk? Thanks, Kugan gcc/ChangeLog: 2016-06-04 Kugan Vivekanandarajah PR middle-end/71281 * tree-ssa-reassoc.c (reassociate_bb): Set uid for negate stmt. gcc/testsuite/ChangeLog: 2016-06-04 Kugan Vivekanandarajah PR middle-end/

[PR66726] Fix regression caused by Factor conversion out of COND_EXPR

2016-06-01 Thread kugan
izing range tests a_5(D) -[128, 159] and -[192, 223] pr46309.c.116t.reassoc1: into (a_5(D) & 4294967231) + 4294967168 > 31 Bootstrapped and regression testing on x86-64-linux-gnu and ppc64le-linux-gnu doesn't have any new regressions. Also did regression testing arm variants whic

Re: [PATCH2][PR71252] Fix insertion point of stmt_to_insert

2016-05-29 Thread kugan
On 28/05/16 01:28, Kugan Vivekanandarajah wrote: Hi Richard, This fix insertion point of stmt_to_insert based on your comments. In insert_stmt_before_use , I now use find_insert_point such that we insert the stmt_to_insert after its operands are defined. This means that we now have to insert

[PATCH2][PR71252] Fix insertion point of stmt_to_insert

2016-05-27 Thread Kugan Vivekanandarajah
PRs Thanks, Kugan gcc/testsuite/ChangeLog: 2016-05-28 Kugan Vivekanandarajah * gcc.dg/tree-ssa/pr71269.c: New test. gcc/ChangeLog: 2016-05-28 Kugan Vivekanandarajah * tree-ssa-reassoc.c (insert_stmt_before_use): Use find_insert_point so that inserted stmt will not dominate

[PATCH1][PR71252] Fix missing swap to stmt_to_insert

2016-05-27 Thread Kugan Vivekanandarajah
trunk if the testing is fine ? Thanks, Kugan gcc/ChangeLog: 2016-05-28 Kugan Vivekanandarajah * tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix swap such that all fields including stmt_to_insert are swapped. gcc/testsuite/ChangeLog: 2016-05-28 Kugan Vivekanandarajah * gcc.dg/tree-ssa

Re: [PR71252][PR71269] Fix trunk errors due to stmt_to_insert

2016-05-26 Thread Kugan Vivekanandarajah
Hi Jakub, On 26 May 2016 at 18:18, Jakub Jelinek wrote: > On Thu, May 26, 2016 at 02:17:56PM +1000, Kugan Vivekanandarajah wrote: >> --- a/gcc/tree-ssa-reassoc.c >> +++ b/gcc/tree-ssa-reassoc.c >> @@ -3767,8 +3767,10 @@ swap_ops_for_binary_stmt (vec ops, >>

[PR71252][PR71269] Fix trunk errors due to stmt_to_insert

2016-05-25 Thread Kugan Vivekanandarajah
insert. 3. In rewrite_expr_tree_parallel, build_and_add_sum relies on either of operand being inserted. If that is not the case, we have to insert the stmt_to_insert before calling build_and_add_sum. 4. I also moved all the other stmt_to_insert insertion after the use stmt are created. Also regression t

[PR71252][PATCH] ICE: verify_ssa failed

2016-05-24 Thread Kugan Vivekanandarajah
reducing the test-case is appreciated. Regression testing on x86_64-linux-gnu and bootstrap didn’t find any new issues. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-05-24 Kugan Vivekanandarajah * gfortran.dg/pr71252.f90: New test. gcc/ChangeLog: 2016-05-24 Kugan

Re: [PATCH] Fix PR tree-optimization/71170

2016-05-24 Thread Kugan Vivekanandarajah
On 24 May 2016 at 18:36, Christophe Lyon wrote: > On 24 May 2016 at 05:13, Kugan Vivekanandarajah > wrote: >> On 23 May 2016 at 21:35, Richard Biener wrote: >>> On Sat, May 21, 2016 at 8:08 AM, Kugan Vivekanandarajah >>> wrote: >>>> On 20 May 2016 at

Re: [PATCH] Fix PR tree-optimization/71170

2016-05-23 Thread Kugan Vivekanandarajah
On 23 May 2016 at 21:35, Richard Biener wrote: > On Sat, May 21, 2016 at 8:08 AM, Kugan Vivekanandarajah > wrote: >> On 20 May 2016 at 21:07, Richard Biener wrote: >>> On Fri, May 20, 2016 at 1:51 AM, Kugan Vivekanandarajah >>> wrote: >>>> Hi Richard,

Re: [RFC] Type promotion pass and elimination of zext/sext

2016-05-22 Thread Kugan Vivekanandarajah
(optimized). I will also try to gather test-cases based on testing/benchmarking. Thanks, Kugan

Re: [RFC] Type promotion pass and elimination of zext/sext

2016-05-22 Thread Kugan Vivekanandarajah
Hi Jeff, On 20 May 2016 at 04:17, Jeff Law wrote: > On 05/15/2016 06:45 PM, Kugan Vivekanandarajah wrote: >> >> Hi Richard, >> >> Now that stage1 is open, I would like to get the type promotion passes >> reviewed again. I have tested the patches on aarch64, x86-6

Re: [PATCH] Fix PR tree-optimization/71170

2016-05-20 Thread Kugan Vivekanandarajah
On 20 May 2016 at 21:07, Richard Biener wrote: > On Fri, May 20, 2016 at 1:51 AM, Kugan Vivekanandarajah > wrote: >> Hi Richard, >> >>> I think it should have the same rank as op or op + 1 which is the current >>> behavior. Sth else doesn't work c

[PATCH] Fix PR tree-optimization/71179

2016-05-19 Thread Kugan Vivekanandarajah
tested on x86-64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-05-20 Kugan Vivekanandarajah * gcc.dg/tree-ssa/pr71179.c: New test. gcc/ChangeLog: 2016-05-20 Kugan Vivekanandarajah * tree-ssa-reassoc.c

Re: [PATCH] Fix PR tree-optimization/71170

2016-05-19 Thread Kugan Vivekanandarajah
erting the multiplication to > rewrite_expr_tree time. For example by adding a ops->stmt_to_insert > member. > Here is an implementation based on above. Bootstrap on x86-linux-gnu is OK. regression testing is ongoing. Thanks, Kugan gcc/ChangeLog: 2016-05-20 Kugan Vivekanandarajah

Re: [PATCH] Fix PR tree-optimization/71170

2016-05-19 Thread Kugan Vivekanandarajah
On 19 May 2016 at 18:55, Richard Biener wrote: > On Thu, May 19, 2016 at 10:26 AM, Kugan > wrote: >> Hi, >> >> >> On 19/05/16 18:21, Richard Biener wrote: >>> On Thu, May 19, 2016 at 10:12 AM, Kugan Vivekanandarajah >>> wrote: >>>> Hi

Re: [PATCH] Fix PR tree-optimization/71170

2016-05-19 Thread Kugan
Hi, On 19/05/16 18:21, Richard Biener wrote: > On Thu, May 19, 2016 at 10:12 AM, Kugan Vivekanandarajah > wrote: >> Hi Martin, >> >> Thanks for the fix. Just to elaborate (as mentioned in PR) >> >> At tree-ssa-reassoc.c:3897, we have: >> >> s

Re: [PATCH] Fix PR tree-optimization/71170

2016-05-19 Thread Kugan Vivekanandarajah
We could try Martin Liška's approach, We could also move _17 = c_7(D) * 3; at tree-ssa-reassoc.c:3897 satisfy the gcc_assert. We could do this based on the use count of _17. This patch does this. I have no preferences. Any thoughts ? Thanks, Kugan On 19 May 2016 at 18:04, Martin Lišk

<    1   2   3   4   5   6   >