Re: [IPCP] Remove unreachable code

2016-10-24 Thread Prathamesh Kulkarni
On 25 October 2016 at 04:16, kugan wrote: > Hi, > > I noticed that in ipcp_bits_lattice::meet_with we have: > > else if (TREE_CODE_CLASS (code) == tcc_unary) > > else if (code == NOP_EXPR) > > > Since TREE_CODE_CLASS for NOP_EXPR is tcc_unary, if (code == NOP_EXPR) is > unreachab

Re: RFC [1/3] divmod transform v2

2016-10-25 Thread Prathamesh Kulkarni
On 25 October 2016 at 13:43, Richard Biener wrote: > On Sun, Oct 16, 2016 at 7:59 AM, Prathamesh Kulkarni > wrote: >> Hi, >> After approval from Bernd Schmidt, I committed the patch to remove >> optab functions for >> sdivmod_optab and udivmod_optab in optabs.def,

Re: RFC [1/3] divmod transform v2

2016-10-25 Thread Prathamesh Kulkarni
On 25 October 2016 at 16:17, Richard Biener wrote: > On Tue, 25 Oct 2016, Prathamesh Kulkarni wrote: > >> On 25 October 2016 at 13:43, Richard Biener >> wrote: >> > On Sun, Oct 16, 2016 at 7:59 AM, Prathamesh Kulkarni >> > wrote: >> >> Hi, >

[ping * 3] PR35503 - warn for restrict

2016-10-26 Thread Prathamesh Kulkarni
Pinging patch: https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01545.html Thanks, Prathamesh

Re: RFC [1/3] divmod transform v2

2016-10-26 Thread Prathamesh Kulkarni
On 25 October 2016 at 18:47, Richard Biener wrote: > On Tue, 25 Oct 2016, Prathamesh Kulkarni wrote: > >> On 25 October 2016 at 16:17, Richard Biener wrote: >> > On Tue, 25 Oct 2016, Prathamesh Kulkarni wrote: >> > >> >> On 25 October 2016 at 13:43, Ri

Re: RFC [3/3] divmod transform v2 - add test cases

2016-10-27 Thread Prathamesh Kulkarni
On 24 October 2016 at 21:09, Prathamesh Kulkarni wrote: > On 16 October 2016 at 11:31, Prathamesh Kulkarni > wrote: >> Hi, >> This patch adds test-cases for divmod transform. >> OK to commit ? > ping https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01241.html Hi Richa

Re: RFC [2/3] divmod transform v2 - override expand_divmod_libfunc for ARM port

2016-10-27 Thread Prathamesh Kulkarni
On 26 October 2016 at 18:51, Kyrill Tkachov wrote: > > On 16/10/16 07:00, Prathamesh Kulkarni wrote: >> >> Hi, >> This patch overrides expand_divmod_libfunc hook for ARM port. >> I separated the SImode tests into separate file from DImode tests >> because

Re: RFC [3/3] divmod transform v2 - add test cases

2016-10-27 Thread Prathamesh Kulkarni
On 27 October 2016 at 18:58, Richard Biener wrote: > On Thu, 27 Oct 2016, Prathamesh Kulkarni wrote: > >> On 24 October 2016 at 21:09, Prathamesh Kulkarni >> wrote: >> > On 16 October 2016 at 11:31, Prathamesh Kulkarni >> > wrote: >> >> Hi, >&

[arm.c] Use VAR_P

2016-10-27 Thread Prathamesh Kulkarni
Hi, This patch uses replaces TREE_CODE(x) == VAR_DECL by VAR_P(x) in arm.c. Bootstrap+tested on arm-linux-gnueabihf. OK to commit ? Thanks, Prathamesh 2016-10-28 Prathamesh Kulkarni * config/arm/arm.c (arm_const_not_ok_for_debug_p): Use VAR_P. diff --git a/gcc/config/arm/arm.c b/gcc

Re: RFC [1/3] divmod transform v2

2016-10-28 Thread Prathamesh Kulkarni
On 26 October 2016 at 16:17, Richard Biener wrote: > On Wed, 26 Oct 2016, Prathamesh Kulkarni wrote: > >> On 25 October 2016 at 18:47, Richard Biener wrote: >> > On Tue, 25 Oct 2016, Prathamesh Kulkarni wrote: >> > >> >> On 25 October 2016 at 16:17, Ric

Re: [PATCH, testsuite]: Cleanup lib/target-supports.exp, ...

2016-11-02 Thread Prathamesh Kulkarni
On 1 November 2016 at 23:41, Uros Bizjak wrote: > On Tue, Nov 1, 2016 at 5:05 PM, Jakub Jelinek wrote: >> On Tue, Nov 01, 2016 at 10:05:22AM +0100, Uros Bizjak wrote: >>> ... simplify some conditions and add i?86-*-* target where missing. >>> >>> 2016-11-01 Uros Bizjak >>> >>> * lib/target

[ping * 4] PR35503 - warn for restrict

2016-11-02 Thread Prathamesh Kulkarni
Pinging patch: https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01545.html Thanks, Prathamesh

Re: [ping * 4] PR35503 - warn for restrict

2016-11-02 Thread Prathamesh Kulkarni
On 2 November 2016 at 18:29, Jason Merrill wrote: > Then I'll approve the whole patch. Thanks! Trying the patch on kernel build (allmodconfig) reveals the following couple of warnings: http://pastebin.com/Sv2HFDUv I think warning for str_error_r() is correct, however I am not sure if warning for

Re: [ping * 4] PR35503 - warn for restrict

2016-11-02 Thread Prathamesh Kulkarni
On 2 November 2016 at 23:07, Jason Merrill wrote: > On Wed, Nov 2, 2016 at 1:08 PM, Prathamesh Kulkarni > wrote: >> On 2 November 2016 at 18:29, Jason Merrill wrote: >>> Then I'll approve the whole patch. >> Thanks! >> Trying the patch on kernel buil

[match.pd] Fix for PR35691

2016-11-03 Thread Prathamesh Kulkarni
PLE, it gets transformed to bit_and_expr so to match for both GENERIC and GIMPLE, I had to guard the for-stmt: #if GENERIC (for op (truth_andif truth_orif) #elif GIMPLE (for op (bit_and bit_ior) #endif Is that OK ? Bootstrap+test running on x86_64-unknown-linux-gnu. Thanks, Prathamesh 2016-11

Re: [PATCH 2/2, i386]: Implement TARGET_EXPAND_DIVMOD_LIBFUNC

2016-11-03 Thread Prathamesh Kulkarni
On 3 November 2016 at 18:36, Uros Bizjak wrote: > On Thu, Nov 3, 2016 at 1:58 PM, Eric Botcazou wrote: >>> libfunc, as in "__{,u}divmod{di,ti}4 library function" is already >>> implemented in libgcc. But the enablement of this function inside the >>> compiler has to be performed by each target. >

Re: [match.pd] Fix for PR35691

2016-11-03 Thread Prathamesh Kulkarni
On 3 November 2016 at 16:13, Richard Biener wrote: > On Thu, 3 Nov 2016, Prathamesh Kulkarni wrote: > >> Hi Richard, >> The attached patch tries to fix PR35691, by adding the following two >> transforms to match.pd: >> (x == 0 && y == 0) -> (x | typeof

Re: [RFC] [2/2] divmod transform: override expand_divmod_libfunc for ARM and add test-cases

2016-06-29 Thread Prathamesh Kulkarni
ping * 2 https://gcc.gnu.org/ml/gcc-patches/2016-05/msg02008.html Thanks, Prathamesh On 7 June 2016 at 13:56, Prathamesh Kulkarni wrote: > ping https://gcc.gnu.org/ml/gcc-patches/2016-05/msg02008.html > > Thanks, > Prathamesh > > On 25 May 2016 at 18:19, Prathamesh Kulkarni

Re: move increase_alignment from simple to regular ipa pass

2016-07-05 Thread Prathamesh Kulkarni
ping * 2 ping https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01703.html Thanks, Prathamesh On 28 June 2016 at 14:49, Prathamesh Kulkarni wrote: > ping https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01703.html > > Thanks, > Prathamesh > > On 23 June 2016 at 22:51, Prathamesh

fold x ^ y to 0 if x == y

2016-07-08 Thread Prathamesh Kulkarni
Hi Richard, For the following test-case: int f(int x, int y) { int ret; if (x == y) ret = x ^ y; else ret = 1; return ret; } I was wondering if x ^ y should be folded to 0 since it's guarded by condition x == y ? optimized dump shows: f (int x, int y) { int iftmp.0_1;

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

2016-07-17 Thread Prathamesh Kulkarni
On 15 July 2016 at 05:46, kugan wrote: > Hi, > > > > This patch extends ipa-cp/ipa-prop infrastructure to handle propagation of > VR. Hi Kugan, Just a small nit - perhaps you should modify ipa_print_node_jump_functions_for_edge () to pretty-print value ranges associated with the jump function. Th

Re: move increase_alignment from simple to regular ipa pass

2016-07-20 Thread Prathamesh Kulkarni
ping * 3 https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01703.html Thanks, Prathamesh On 5 July 2016 at 10:53, Prathamesh Kulkarni wrote: > ping * 2 ping https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01703.html > > Thanks, > Prathamesh > > On 28 June 2016 at 14:49, Prathamesh

Re: [RFC] [2/2] divmod transform: override expand_divmod_libfunc for ARM and add test-cases

2016-07-20 Thread Prathamesh Kulkarni
ping * 3 https://gcc.gnu.org/ml/gcc-patches/2016-05/msg02008.html Thanks, Prathamesh On 29 June 2016 at 22:09, Prathamesh Kulkarni wrote: > ping * 2 https://gcc.gnu.org/ml/gcc-patches/2016-05/msg02008.html > > Thanks, > Prathamesh > > On 7 June 2016 at 13:56, Prathamesh

Re: fold x ^ y to 0 if x == y

2016-07-20 Thread Prathamesh Kulkarni
On 8 July 2016 at 12:29, Richard Biener wrote: > On Fri, 8 Jul 2016, Richard Biener wrote: > >> On Fri, 8 Jul 2016, Prathamesh Kulkarni wrote: >> >> > Hi Richard, >> > For the following test-case: >> > >> > int f(int x, int y) >> > {

Re: fold x ^ y to 0 if x == y

2016-07-20 Thread Prathamesh Kulkarni
On 20 July 2016 at 16:35, Richard Biener wrote: > On Wed, 20 Jul 2016, Prathamesh Kulkarni wrote: > >> On 8 July 2016 at 12:29, Richard Biener wrote: >> > On Fri, 8 Jul 2016, Richard Biener wrote: >> > >> >> On Fri, 8 Jul 2016, Prathamesh Kulkarni wrote:

Re: fold x ^ y to 0 if x == y

2016-07-20 Thread Prathamesh Kulkarni
On 20 July 2016 at 23:07, Prathamesh Kulkarni wrote: > On 20 July 2016 at 16:35, Richard Biener wrote: >> On Wed, 20 Jul 2016, Prathamesh Kulkarni wrote: >> >>> On 8 July 2016 at 12:29, Richard Biener wrote: >>> > On Fri, 8 Jul 2016, Richard Biener wr

fix typo in comment in tree-ssa-strlen.c

2016-07-21 Thread Prathamesh Kulkarni
Committed as obvious (r238588). Thanks, Prathamesh Index: tree-ssa-strlen.c === --- tree-ssa-strlen.c (revision 238587) +++ tree-ssa-strlen.c (working copy) @@ -2383,7 +2383,7 @@ }; /* Callback for walk_dominator_tree. Attemp

[PR70920] transform (intptr_t) x eq/ne CST to x eq/ne (typeof x) cst

2016-07-24 Thread Prathamesh Kulkarni
Hi Richard, The attached patch tries to fix PR70920. It adds your pattern from comment 1 in the PR (with additional gating on INTEGRAL_TYPE_P to avoid regressing finalize_18.f90) and second pattern, which is reverse of the first transform. I needed to update ssa-dom-branch-1.c because with patch ap

[PR71078] x / abs(x) -> copysign (1.0, x)

2016-07-25 Thread Prathamesh Kulkarni
Hi, The attached patch tries to fix PR71078. I am not sure if I have got the converts right. I put (convert? @0) and (convert1? (abs @1)) to match for cases when operands's types may be different from outermost type like in pr71078-3.c test-case (included in patch). Bootstrap+test in progress on x8

Re: [PR70920] transform (intptr_t) x eq/ne CST to x eq/ne (typeof x) cst

2016-07-25 Thread Prathamesh Kulkarni
On 25 July 2016 at 14:32, Richard Biener wrote: > On Mon, 25 Jul 2016, Prathamesh Kulkarni wrote: > >> Hi Richard, >> The attached patch tries to fix PR70920. >> It adds your pattern from comment 1 in the PR >> (with additional gating on INTEGRAL_TYPE_P to avoid

warn for dead function calls [3/4] testsuite fallout

2016-07-25 Thread Prathamesh Kulkarni
Hi, The following test-cases broke due to the warning. I think however the warning is right for all the cases: a) g++.dg/tree-ssa/invalid-dom.C: I believe the call from main() to E::bar() is dead call ? b) libffi/testsuite/libffi.call/float.c: Call from main() to floating() is dead call. c) libf

[RFC] warn on dead function calls in ipa-pure-const [1/4]

2016-07-25 Thread Prathamesh Kulkarni
Hi, The attached patch emits warnings for functions found to be pure or const by the ipa-pure-const pass. It does not warn for functions with unused return values that have been declared as pure or const by the user since this is already handled in C and C++ FE's. I have split it into parts to indi

warn for dead function calls [4/4] stor-layout.c fallout

2016-07-25 Thread Prathamesh Kulkarni
The following is an interesting case which broke stor-layout.c. The patch warned for the following call to be dead from bit_field_mode_iterator::next_mode() to get_mode_alignment (): /* Stop if the mode requires too much alignment. */ if (GET_MODE_ALIGNMENT (m_mode) > m_align

warn on dead function calls [2/4] libsupc++/eh_alloc.cc fallout

2016-07-25 Thread Prathamesh Kulkarni
Many warnings for dead-calls are emitted with patch on call to operator new in libsupc++/eh_alloc.cc, which I am not sure are correct or false positives, for instance: /home/prathamesh.kulkarni/gcc-svn/trunk/libstdc++-v3/libsupc++/eh_alloc.cc:170:22: warning: Call from void* {anonymous}::pool::all

Re: [PR70920] transform (intptr_t) x eq/ne CST to x eq/ne (typeof x) cst

2016-07-26 Thread Prathamesh Kulkarni
On 26 July 2016 at 17:28, Richard Biener wrote: > On Mon, 25 Jul 2016, Prathamesh Kulkarni wrote: > >> On 25 July 2016 at 14:32, Richard Biener wrote: >> > On Mon, 25 Jul 2016, Prathamesh Kulkarni wrote: >> > >> >> Hi Richard, >> >> The a

Re: warn for dead function calls [3/4] testsuite fallout

2016-07-26 Thread Prathamesh Kulkarni
On 26 July 2016 at 17:06, Richard Biener wrote: > On Tue, 26 Jul 2016, Prathamesh Kulkarni wrote: > >> Hi, >> The following test-cases broke due to the warning. >> I think however the warning is right for all the cases: >> >> a) g++.dg/tree-ssa/invalid-dom.C:

Re: warn for dead function calls [4/4] stor-layout.c fallout

2016-07-26 Thread Prathamesh Kulkarni
On 26 July 2016 at 17:07, Richard Biener wrote: > On Tue, 26 Jul 2016, Prathamesh Kulkarni wrote: > >> The following is an interesting case which broke stor-layout.c. >> The patch warned for the following call to be dead from >> bit_field_mode_iterator::next_mode

Re: [PATCH] Replacing gcc's dependence on libiberty's fnmatch to gnulib's fnmatch

2016-07-26 Thread Prathamesh Kulkarni
On 26 July 2016 at 19:21, ayush goel wrote: > On 26 July 2016 at 3:38:59 AM, Manuel López-Ibáñez > (lopeziba...@gmail.com) wrote: >> On 25 July 2016 at 18:18, ayush goel wrote: >> > On top of the previously filed patch for importing gnulib (the link >> > isn’t available on the archive yet, however

Re: [PR71078] x / abs(x) -> copysign (1.0, x)

2016-07-27 Thread Prathamesh Kulkarni
On 26 July 2016 at 17:41, Richard Biener wrote: > On Mon, 25 Jul 2016, Prathamesh Kulkarni wrote: > >> Hi, >> The attached patch tries to fix PR71078. >> I am not sure if I have got the converts right. >> I put (convert? @0) and (convert1? (abs @1)) >> to match

Re: [PR70920] transform (intptr_t) x eq/ne CST to x eq/ne (typeof x) cst

2016-07-28 Thread Prathamesh Kulkarni
On 28 July 2016 at 15:58, Andreas Schwab wrote: > On Mo, Jul 25 2016, Prathamesh Kulkarni > wrote: > >> diff --git a/gcc/testsuite/gcc.dg/pr70920-4.c >> b/gcc/testsuite/gcc.dg/pr70920-4.c >> new file mode 100644 >> index 000..dedb895 >> --- /dev/null

Re: RFC [1/2] divmod transform

2016-07-28 Thread Prathamesh Kulkarni
On 8 June 2016 at 19:53, Richard Biener wrote: > On Fri, 3 Jun 2016, Jim Wilson wrote: > >> On Mon, May 30, 2016 at 12:45 AM, Richard Biener wrote: >> > Joseph - do you know sth about why there's not a full set of divmod >> > libfuncs in libgcc? >> >> Because udivmoddi4 isn't a libfunc, it is a h

Re: [RFC] [2/2] divmod transform: override expand_divmod_libfunc for ARM and add test-cases

2016-07-28 Thread Prathamesh Kulkarni
On 27 July 2016 at 18:56, Ramana Radhakrishnan wrote: > On Wed, May 25, 2016 at 1:49 PM, Prathamesh Kulkarni > wrote: >> On 23 May 2016 at 14:28, Prathamesh Kulkarni >> wrote: >>> Hi, >>> This patch overrides expand_divmod_libfunc for ARM port and adds te

divmod transform: add test-cases

2016-07-28 Thread Prathamesh Kulkarni
Hi, The following patch adds test-cases for divmod transform. I separated the SImode tests into separate file from DImode tests because certain arm configs (cortex-15) have hardware div insn for SImode but not for DImode, and for that config we want SImode tests to be disabled but not DImode tests.

Re: [RFC] [2/2] divmod transform: override expand_divmod_libfunc for ARM and add test-cases

2016-07-28 Thread Prathamesh Kulkarni
On 28 July 2016 at 20:14, Ramana Radhakrishnan wrote: > >> appear UNSUPPORTED. >> That's because this config appears to define >> __ARM_ARCH_EXT_IDIV__ however idiv appears not to be present. >> >> For instance __aeabi_div is called to perform >> division for the following test-case: >> int f(int

Re: [RFC] [2/2] divmod transform: override expand_divmod_libfunc for ARM and add test-cases

2016-07-28 Thread Prathamesh Kulkarni
On 28 July 2016 at 20:39, Richard Earnshaw wrote: > On 28/07/16 14:36, Prathamesh Kulkarni wrote: >> Um I had configured with --with-tune=cortex-a9. Is that incorrect for >> armv8l-unknown-linux-gnueabihf ? > > Why on earth would you want to generate code for ARMv8 and

Re: [PR70920] transform (intptr_t) x eq/ne CST to x eq/ne (typeof x) cst

2016-07-28 Thread Prathamesh Kulkarni
On 28 July 2016 at 19:18, Richard Biener wrote: > On Thu, 28 Jul 2016, Prathamesh Kulkarni wrote: > >> On 28 July 2016 at 15:58, Andreas Schwab wrote: >> > On Mo, Jul 25 2016, Prathamesh Kulkarni >> > wrote: >> > >> >> diff --git a/gcc/testsui

Re: [PR70920] transform (intptr_t) x eq/ne CST to x eq/ne (typeof x) cst

2016-07-29 Thread Prathamesh Kulkarni
On 29 July 2016 at 12:42, Richard Biener wrote: > On Fri, 29 Jul 2016, Prathamesh Kulkarni wrote: > >> On 28 July 2016 at 19:18, Richard Biener wrote: >> > On Thu, 28 Jul 2016, Prathamesh Kulkarni wrote: >> > >> >> On 28 July 2016 at 15:58, Andreas

Re: [RFC] [2/2] divmod transform: override expand_divmod_libfunc for ARM and add test-cases

2016-07-29 Thread Prathamesh Kulkarni
On 29 July 2016 at 05:40, Prathamesh Kulkarni wrote: > On 28 July 2016 at 20:14, Ramana Radhakrishnan > wrote: >> >>> appear UNSUPPORTED. >>> That's because this config appears to define >>> __ARM_ARCH_EXT_IDIV__ however idiv appears not to be present

Re: [PATCH] Replacing gcc's dependence on libiberty's fnmatch to gnulib's fnmatch

2016-07-29 Thread Prathamesh Kulkarni
On 30 July 2016 at 03:40, Joseph Myers wrote: > On Tue, 26 Jul 2016, Prathamesh Kulkarni wrote: > >> >> GCC can run on other systems besides OSX and GNU/Linux, how can you >> >> test that your change does not break anything on those systems? >> >> >>

Re: [RFC] warn on dead function calls in ipa-pure-const [1/4]

2016-07-31 Thread Prathamesh Kulkarni
On 31 July 2016 at 22:01, Jan Hubicka wrote: >> On Tue, 26 Jul 2016, Prathamesh Kulkarni wrote: >> >> > + warning_at (gimple_location (g), OPT_Wunused_value, >> > + "Call from %s to %s has no effect", >> > + e->cal

Re: [PR71078] x / abs(x) -> copysign (1.0, x)

2016-07-31 Thread Prathamesh Kulkarni
> Joseph S. Myers > jos...@codesourcery.com 2016-08-01 Prathamesh Kulkarni * match.pd (x/abs(x) -> copysign(1.0, x)): Don't transform for long double. testsuite/ * gcc.dg/tree-ssa/pr71078-1.c: Remove f3. * gcc.dg/tree-ssa/pr71078-2.c: Likewise. diff --git a

fold strlen (s) eq/ne 0 to *s eq/ne 0 on GIMPLE

2016-08-01 Thread Prathamesh Kulkarni
following assert in execute_todo(): if (flag_checking && cfun && need_ssa_update_p (cfun)) gcc_assert (flags & TODO_update_ssa_any); Bootstrap+test in progress on x86_64-unknown-linux-gnu. Thanks, Prathamesh 2016-08-01 Prathamesh Kulkarni

PR78501

2016-11-24 Thread Prathamesh Kulkarni
Hi, The attached patch fixes ada bootstrap failure. Bootstrap+tested on x86_64-unknown-linux-gnu with --enable-languages=all,ada Cross-tested on aarch64*-*-*, arm*-*-* with --enable-languages=c,c++,fortran. OK to commit ? Thanks, Prathamesh 2016-11-24 Jakub Jelinek Prathamesh

Re: [tree-tailcall] Check if function returns it's argument

2016-11-24 Thread Prathamesh Kulkarni
On 24 November 2016 at 18:08, Richard Biener wrote: > On Thu, 24 Nov 2016, Prathamesh Kulkarni wrote: > >> On 24 November 2016 at 17:48, Richard Biener wrote: >> > On Thu, 24 Nov 2016, Prathamesh Kulkarni wrote: >> > >> >> On 24 November 2016 at 14:07,

change initialization of ptrdiff_type_node

2016-11-24 Thread Prathamesh Kulkarni
it's definition from c-common.h and moved it to tree.h. Is that OK ? Thanks, Prathamesh 2016-11-25 Prathamesh Kulkarni * tree-core.h (TI_UNSIGNED_PTRDIFF_TYPE): New enum value. * tree.h (unsigned_ptrdiff_type_node): New macro. c-family/ * c-common.h (CTI_UNSIG

Re: [tree-tailcall] Check if function returns it's argument

2016-11-25 Thread Prathamesh Kulkarni
On 25 November 2016 at 13:37, Richard Biener wrote: > On Fri, 25 Nov 2016, Prathamesh Kulkarni wrote: > >> On 24 November 2016 at 18:08, Richard Biener wrote: >> > On Thu, 24 Nov 2016, Prathamesh Kulkarni wrote: >> > >> >> On 24 November 2016 at 17:48,

Re: [tree-tailcall] Check if function returns it's argument

2016-11-25 Thread Prathamesh Kulkarni
On 25 November 2016 at 13:55, Richard Biener wrote: > On Fri, 25 Nov 2016, Prathamesh Kulkarni wrote: > >> On 25 November 2016 at 13:37, Richard Biener wrote: >> > On Fri, 25 Nov 2016, Prathamesh Kulkarni wrote: >> > >> >> On 24 November 2016 at 18:08,

Re: change initialization of ptrdiff_type_node

2016-11-25 Thread Prathamesh Kulkarni
On 25 November 2016 at 13:43, Richard Biener wrote: > On Fri, 25 Nov 2016, Jakub Jelinek wrote: > >> On Fri, Nov 25, 2016 at 01:28:06PM +0530, Prathamesh Kulkarni wrote: >> > --- a/gcc/lto/lto-lang.c >> > +++ b/gcc/lto/lto-lang.c >> > @@ -1271,8 +1271,3

Re: change initialization of ptrdiff_type_node

2016-11-26 Thread Prathamesh Kulkarni
On 25 November 2016 at 14:48, Richard Biener wrote: > On Fri, 25 Nov 2016, Prathamesh Kulkarni wrote: > >> On 25 November 2016 at 13:43, Richard Biener wrote: >> > On Fri, 25 Nov 2016, Jakub Jelinek wrote: >> > >> >> On Fri, Nov 25, 2016 at 0

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

2016-11-27 Thread Prathamesh Kulkarni
On 28 November 2016 at 10:55, kugan wrote: > Hi, > > On 24/11/16 19:48, Richard Biener wrote: >> >> On Wed, Nov 23, 2016 at 4:33 PM, Martin Jambor wrote: >>> >>> Hi, >>> >>> On Fri, Nov 18, 2016 at 12:38:18PM +1100, kugan wrote: Hi, I was relying on ipa_get_callee_param_type t

PR78599

2016-12-01 Thread Prathamesh Kulkarni
-*-*. LTO bootstrap on x86_64-unknown-linux-gnu in progress. Is it OK to commit if it succeeds ? Thanks, Prathamesh 2016-12-01 Prathamesh Kulkarni PR ipa/78599 * ipa-cp.c (propagate_bits_accross_jump_function): Check if parm_type is integral or pointer type. diff --gi

Re: [tree-tailcall] Check if function returns it's argument

2016-12-01 Thread Prathamesh Kulkarni
On 25 November 2016 at 21:17, Jeff Law wrote: > On 11/25/2016 01:07 AM, Richard Biener wrote: > >>> For the tail-call, issue should we artificially create a lhs and use that >>> as return value (perhaps by a separate pass before tailcall) ? >>> >>> __builtin_memcpy (a1, a2, a3); >>> return a1; >>>

Re: [tree-tailcall] Check if function returns it's argument

2016-12-01 Thread Prathamesh Kulkarni
On 1 December 2016 at 17:40, Richard Biener wrote: > On Thu, 1 Dec 2016, Prathamesh Kulkarni wrote: > >> On 25 November 2016 at 21:17, Jeff Law wrote: >> > On 11/25/2016 01:07 AM, Richard Biener wrote: >> > >> >>> For the tail-call, issue sho

Re: [tree-tailcall] Check if function returns it's argument

2016-12-01 Thread Prathamesh Kulkarni
On 1 December 2016 at 18:26, Richard Biener wrote: > On Thu, 1 Dec 2016, Prathamesh Kulkarni wrote: > >> On 1 December 2016 at 17:40, Richard Biener wrote: >> > On Thu, 1 Dec 2016, Prathamesh Kulkarni wrote: >> > >> >> On 25 November 2016 at 21:17, Jeff

Re: [tree-tailcall] Check if function returns it's argument

2016-12-01 Thread Prathamesh Kulkarni
On 1 December 2016 at 18:38, Richard Biener wrote: > On Thu, 1 Dec 2016, Prathamesh Kulkarni wrote: > >> On 1 December 2016 at 18:26, Richard Biener wrote: >> > On Thu, 1 Dec 2016, Prathamesh Kulkarni wrote: >> > >> >> On 1 December 2016 at 17:40, Ri

PR78629

2016-12-01 Thread Prathamesh Kulkarni
Hi Richard, I tested your fix for the patch with ubsan stage-1 built gcc, and it fixes the error. Is it OK to commit if bootstrap+test passes on x86_64-unknown-linux-gnu ? Thanks, Prathamesh 2016-12-01 Richard Biener Prathamesh Kulkarni PR middle-end/78629

Re: [tree-tailcall] Check if function returns it's argument

2016-12-01 Thread Prathamesh Kulkarni
On 2 December 2016 at 03:57, Jeff Law wrote: > On 12/01/2016 06:22 AM, Richard Biener wrote: >>> >>> Well after removing DECL_BY_REFERENCE, verify_gimple still fails but >>> differently: >>> >>> tail-padding1.C:13:1: error: RESULT_DECL should be read only when >>> DECL_BY_REFERENCE is set >>> } >

Re: PR78599

2016-12-02 Thread Prathamesh Kulkarni
On 3 December 2016 at 00:25, Martin Jambor wrote: > Hi, > > On Thu, Dec 01, 2016 at 01:43:16PM +0100, Richard Biener wrote: >> On Thu, Dec 1, 2016 at 11:07 AM, Prathamesh Kulkarni >> wrote: >> > Hi, >> > As mentioned in PR, the issue seems to be that in >

Fold strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if strlen (t) is known

2016-12-05 Thread Prathamesh Kulkarni
e that's OK ? clang unconditionally transforms strstr (s, t) == s to strncmp (s, t, strlen (t)) However I am not sure what algorithm glibc's strstr uses, so didn't attempt to transform if strlen (t) is unknown. Should we do the transform even if strlen (t) is unknown ? Thanks, Pratham

Re: Fold strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if strlen (t) is known

2016-12-05 Thread Prathamesh Kulkarni
On 5 December 2016 at 23:38, Bernd Schmidt wrote: > On 12/05/2016 07:02 PM, Prathamesh Kulkarni wrote: >> >> This patch folds strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if >> strlen (t) is known. > > > That's not the same thing, is it? > > s = &qu

Re: Fold strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if strlen (t) is known

2016-12-05 Thread Prathamesh Kulkarni
On 5 December 2016 at 23:40, Prathamesh Kulkarni wrote: > On 5 December 2016 at 23:38, Bernd Schmidt wrote: >> On 12/05/2016 07:02 PM, Prathamesh Kulkarni wrote: >>> >>> This patch folds strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if >>> strlen (t) is known

Re: [PATCH] Fix ICE due to IPA-VRP (PR tree-optimization/78681)

2016-12-06 Thread Prathamesh Kulkarni
On 6 December 2016 at 14:50, Richard Biener wrote: > On Tue, 6 Dec 2016, Jakub Jelinek wrote: > >> On Tue, Dec 06, 2016 at 09:36:55AM +0100, Richard Biener wrote: >> > > As shown on the testcase, with K&R definitions and fn prototypes with >> > > promoted types, we can end up computing caller's va

Re: Fold strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if strlen (t) is known

2016-12-07 Thread Prathamesh Kulkarni
On 5 December 2016 at 23:47, Jakub Jelinek wrote: > On Mon, Dec 05, 2016 at 11:32:15PM +0530, Prathamesh Kulkarni wrote: >> So I had to check if SSA_NAME_DEF_STMT (rhs2) was call to strstr >> rather than rhs1. > > Then you need to test both whether it is strstr (s, t) == s o

Re: Fold strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if strlen (t) is known

2016-12-09 Thread Prathamesh Kulkarni
On 7 December 2016 at 17:36, Jakub Jelinek wrote: > On Wed, Dec 07, 2016 at 05:02:46PM +0530, Prathamesh Kulkarni wrote: >> + if (arg1_len == NULL_TREE) >> + { >> + gim

Re: Fold strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if strlen (t) is known

2016-12-13 Thread Prathamesh Kulkarni
On 9 December 2016 at 17:59, Jakub Jelinek wrote: > On Fri, Dec 09, 2016 at 05:36:41PM +0530, Prathamesh Kulkarni wrote: >> --- a/gcc/tree-ssa-strlen.c >> +++ b/gcc/tree-ssa-strlen.c >> @@ -2302,7 +2302,81 @@ strlen_optimize_stmt (gimple_stmt_iterator *gs

Re: Fold strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if strlen (t) is known

2016-12-13 Thread Prathamesh Kulkarni
On 13 December 2016 at 15:27, Jakub Jelinek wrote: > On Tue, Dec 13, 2016 at 03:08:17PM +0530, Prathamesh Kulkarni wrote: >> Thanks for the suggestions. It didn't occur to me to check for gimple_cond. >> I have tried to do the changes in the attached version. >> I am

Re: Fold strstr (s, t) eq/ne s to strcmp (s, t) eq/ne 0 if strlen (t) is known

2016-12-13 Thread Prathamesh Kulkarni
On 13 December 2016 at 17:54, Jakub Jelinek wrote: > On Tue, Dec 13, 2016 at 05:41:09PM +0530, Prathamesh Kulkarni wrote: >> --- a/gcc/tree-ssa-strlen.c >> +++ b/gcc/tree-ssa-strlen.c >> @@ -,6 +,90 @@ handle_char_store (gimple_stmt_iterator *gsi) >>return t

[gimplefe] reject invalid pass name in startwith

2016-12-18 Thread Prathamesh Kulkarni
Hi Richard, The attached patch attempts to reject invalid pass-name in startwith and verified gimplefe tests pass with the patch (not sure if bootstrap is required?) Does it look OK ? Thanks, Prathamesh 2016-12-18 Prathamesh Kulkarni c/ * gimple-parser.c (c_parser_gimple_pass_list

Re: [gimplefe] reject invalid pass name in startwith

2016-12-18 Thread Prathamesh Kulkarni
On 18 December 2016 at 18:02, Jakub Jelinek wrote: > On Sun, Dec 18, 2016 at 05:41:23PM +0530, Prathamesh Kulkarni wrote: >> --- a/gcc/c/gimple-parser.c >> +++ b/gcc/c/gimple-parser.c >> @@ -1046,6 +1046,17 @@ c_parser_gimple_pass_list (c_parser *parser) >>if

Re: increase alignment of global structs in increase_alignment pass

2016-05-20 Thread Prathamesh Kulkarni
On 19 May 2016 at 13:19, Richard Biener wrote: > On Thu, 19 May 2016, Prathamesh Kulkarni wrote: > >> On 18 May 2016 at 19:38, Richard Biener wrote: >> > On Wed, 18 May 2016, Prathamesh Kulkarni wrote: >> > >> >> On 17 May 2016 at 18:36, Richard

RFC [1/2] divmod transform

2016-05-23 Thread Prathamesh Kulkarni
Hi, I have updated my patch for divmod (attached), which was originally based on Kugan's patch. The patch transforms stmts with code TRUNC_DIV_EXPR and TRUNC_MOD_EXPR having same operands to divmod representation, so we can cse computation of mod. t1 = a TRUNC_DIV_EXPR b; t2 = a TRUNC_MOD_EXPR b i

[RFC] [2/2] divmod transform: override expand_divmod_libfunc for ARM and add test-cases

2016-05-23 Thread Prathamesh Kulkarni
Hi, This patch overrides expand_divmod_libfunc for ARM port and adds test-cases. I separated the SImode tests into separate file from DImode tests because certain arm configs (cortex-15) have hardware div insn for SImode but not for DImode, and for that config we want SImode tests to be disabled bu

Re: [ARM] implement division using vrecpe/vrecps with -funsafe-math-optimizations

2016-05-23 Thread Prathamesh Kulkarni
On 5 February 2016 at 18:40, Prathamesh Kulkarni wrote: > On 4 February 2016 at 16:31, Ramana Radhakrishnan > wrote: >> On Sun, Jan 17, 2016 at 9:06 AM, Prathamesh Kulkarni >> wrote: >>> On 31 July 2015 at 15:04, Ramana Radhakrishnan >>> wrote: >>

Re: RFC [1/2] divmod transform

2016-05-24 Thread Prathamesh Kulkarni
On 23 May 2016 at 17:35, Richard Biener wrote: > On Mon, May 23, 2016 at 10:58 AM, Prathamesh Kulkarni > wrote: >> Hi, >> I have updated my patch for divmod (attached), which was originally >> based on Kugan's patch. >> The patch transforms stmts with cod

Re: RFC [1/2] divmod transform

2016-05-24 Thread Prathamesh Kulkarni
On 24 May 2016 at 17:42, Richard Biener wrote: > On Tue, 24 May 2016, Prathamesh Kulkarni wrote: > >> On 23 May 2016 at 17:35, Richard Biener wrote: >> > On Mon, May 23, 2016 at 10:58 AM, Prathamesh Kulkarni >> > wrote: >> >> Hi, >> >> I

Re: RFC [1/2] divmod transform

2016-05-24 Thread Prathamesh Kulkarni
On 24 May 2016 at 19:39, Richard Biener wrote: > On Tue, 24 May 2016, Prathamesh Kulkarni wrote: > >> On 24 May 2016 at 17:42, Richard Biener wrote: >> > On Tue, 24 May 2016, Prathamesh Kulkarni wrote: >> > >> >> On 23 May 2016 at 17:35, Richard Biener

Re: [match.pd] Fix for PR35691

2016-11-04 Thread Prathamesh Kulkarni
ht be wrong) > > Yeah. I also think it's not so much important - I just wanted to mention > vectors... > > Btw, I still think we need a more sensible infrastructure for passes > to gather, analyze and modify complex conditions. (I'm always pointing > to tree-affine

Re: [match.pd] Fix for PR35691

2016-11-07 Thread Prathamesh Kulkarni
On 7 November 2016 at 15:43, Richard Biener wrote: > On Fri, 4 Nov 2016, Prathamesh Kulkarni wrote: > >> On 4 November 2016 at 13:41, Richard Biener wrote: >> > On Thu, 3 Nov 2016, Marc Glisse wrote: >> > >> >> On Thu, 3 Nov 2016, Richard Biener wrot

Re: [match.pd] Fix for PR35691

2016-11-07 Thread Prathamesh Kulkarni
On 7 November 2016 at 23:06, Prathamesh Kulkarni wrote: > On 7 November 2016 at 15:43, Richard Biener wrote: >> On Fri, 4 Nov 2016, Prathamesh Kulkarni wrote: >> >>> On 4 November 2016 at 13:41, Richard Biener wrote: >>> > On Thu, 3 Nov 2016, Marc Glisse wr

Re: [match.pd] Fix for PR35691

2016-11-08 Thread Prathamesh Kulkarni
On 8 November 2016 at 13:23, Richard Biener wrote: > On Mon, 7 Nov 2016, Prathamesh Kulkarni wrote: > >> On 7 November 2016 at 23:06, Prathamesh Kulkarni >> wrote: >> > On 7 November 2016 at 15:43, Richard Biener wrote: >> >> On Fri, 4 Nov 2016, Prath

Re: [match.pd] Fix for PR35691

2016-11-09 Thread Prathamesh Kulkarni
On 8 November 2016 at 16:46, Richard Biener wrote: > On Tue, 8 Nov 2016, Prathamesh Kulkarni wrote: > >> On 8 November 2016 at 13:23, Richard Biener wrote: >> > On Mon, 7 Nov 2016, Prathamesh Kulkarni wrote: >> > >> >> On 7 November 2016 at 23:06, Prat

Re: [ping * 4] PR35503 - warn for restrict

2016-11-13 Thread Prathamesh Kulkarni
On 2 November 2016 at 23:17, Prathamesh Kulkarni wrote: > On 2 November 2016 at 23:07, Jason Merrill wrote: >> On Wed, Nov 2, 2016 at 1:08 PM, Prathamesh Kulkarni >> wrote: >>> On 2 November 2016 at 18:29, Jason Merrill wrote: >>>> Then I'll approve th

Fix PR78154

2016-11-16 Thread Prathamesh Kulkarni
commit this patch in stage-3 ? Thanks, Prathamesh 2016-11-17 Prathamesh Kulkarni * tree-vrp.c (gimple_str_nonzero_warnv_p): New function. (gimple_stmt_nonzero_warnv_p): Call gimple_str_nonzero_warnv_p. testsuite/ * gcc.dg/tree-ssa/pr78154.c: New test-case. diff --git a

PR78319

2016-11-16 Thread Prathamesh Kulkarni
Hi, As discussed in PR, this patch marks the test-case to xfail on arm-none-eabi. OK to commit ? Thanks, Prathamesh 2016-11-17 Prathamesh Kulkarni PR tree-optimization/78319 testsuite/ * gcc.dg/uninit-pred-8_a.c (foo): Mark dg-bogus test to xfail on arm-none-eabi

Re: PR78319

2016-11-16 Thread Prathamesh Kulkarni
On 17 November 2016 at 03:20, Jeff Law wrote: > On 11/16/2016 01:23 PM, Prathamesh Kulkarni wrote: >> >> Hi, >> As discussed in PR, this patch marks the test-case to xfail on >> arm-none-eabi. >> OK to commit ? > > You might check if Aldy's change to

Re: Fix PR78154

2016-11-17 Thread Prathamesh Kulkarni
On 17 November 2016 at 14:21, Richard Biener wrote: > On Thu, 17 Nov 2016, Prathamesh Kulkarni wrote: > >> Hi Richard, >> Following your suggestion in PR78154, the patch checks if stmt >> contains call to memmove (and friends) in gimple_stmt_nonzero_warnv_p >>

Re: Fix PR78154

2016-11-18 Thread Prathamesh Kulkarni
On 17 November 2016 at 15:24, Richard Biener wrote: > On Thu, 17 Nov 2016, Prathamesh Kulkarni wrote: > >> On 17 November 2016 at 14:21, Richard Biener wrote: >> > On Thu, 17 Nov 2016, Prathamesh Kulkarni wrote: >> > >> >> Hi Richard, >> >>

PR78153

2016-11-20 Thread Prathamesh Kulkarni
Hi, As suggested by Martin in PR78153 strlen's return value cannot exceed PTRDIFF_MAX. So I set it's range to [0, PTRDIFF_MAX - 1] in extract_range_basic() in the attached patch. However it regressed strlenopt-3.c: Consider fn1() from strlenopt-3.c: __attribute__((noinline, noclone)) size_t fn1

Re: PR78153

2016-11-20 Thread Prathamesh Kulkarni
On 20 November 2016 at 19:34, Jakub Jelinek wrote: > On Sun, Nov 20, 2016 at 07:20:20PM +0530, Prathamesh Kulkarni wrote: >> --- a/gcc/tree-vrp.c >> +++ b/gcc/tree-vrp.c >> @@ -4013,6 +4013,16 @@ extract_range_basic (value_range *vr, gimple *stmt) >>

Re: Fix PR78154

2016-11-22 Thread Prathamesh Kulkarni
On 21 November 2016 at 15:34, Richard Biener wrote: > On Fri, 18 Nov 2016, Prathamesh Kulkarni wrote: > >> On 17 November 2016 at 15:24, Richard Biener wrote: >> > On Thu, 17 Nov 2016, Prathamesh Kulkarni wrote: >> > >> >> On 17 November 2016 at 14:21,

<    1   2   3   4   5   6   7   8   9   10   >