Re: DSE calls to builtins (memset, etc)

2014-08-21 Thread Richard Biener
On Wed, Aug 20, 2014 at 5:05 PM, Marc Glisse wrote: > On Wed, 20 Aug 2014, Richard Biener wrote: > >> On Wed, Aug 20, 2014 at 4:18 PM, Marc Glisse wrote: >>> >>> On Wed, 20 Aug 2014, Richard Biener wrote: >>> >>> - if (stmt != use_stmt >>> - && ref_maybe_used_by_stmt_p (use_s

Re: DSE calls to builtins (memset, etc)

2014-08-20 Thread Marc Glisse
On Wed, 20 Aug 2014, Richard Biener wrote: On Wed, Aug 20, 2014 at 4:18 PM, Marc Glisse wrote: On Wed, 20 Aug 2014, Richard Biener wrote: - if (stmt != use_stmt - && ref_maybe_used_by_stmt_p (use_stmt, gimple_assign_lhs (stmt))) - return; - I don't see how you can remo

Re: DSE calls to builtins (memset, etc)

2014-08-20 Thread Richard Biener
On Wed, Aug 20, 2014 at 4:31 PM, Marc Glisse wrote: > On Wed, 20 Aug 2014, Richard Biener wrote: > >> On Wed, Aug 20, 2014 at 9:14 AM, Marc Glisse wrote: >>> >>> Hello, >>> >>> here is a new version of the patch which passed bootstrap+testsuite. I am >>> still removing the ref_maybe_used_by_stmt_

Re: DSE calls to builtins (memset, etc)

2014-08-20 Thread Marc Glisse
On Wed, 20 Aug 2014, Marc Glisse wrote: On Wed, 20 Aug 2014, Richard Biener wrote: On Wed, Aug 20, 2014 at 9:14 AM, Marc Glisse wrote: Hello, here is a new version of the patch which passed bootstrap+testsuite. I am still removing the ref_maybe_used_by_stmt_p test, see the previous message

Re: DSE calls to builtins (memset, etc)

2014-08-20 Thread Marc Glisse
On Wed, 20 Aug 2014, Richard Biener wrote: On Wed, Aug 20, 2014 at 9:14 AM, Marc Glisse wrote: Hello, here is a new version of the patch which passed bootstrap+testsuite. I am still removing the ref_maybe_used_by_stmt_p test, see the previous message for a discussion. Looks good to me. I'm

Re: DSE calls to builtins (memset, etc)

2014-08-20 Thread Richard Biener
On Wed, Aug 20, 2014 at 4:18 PM, Marc Glisse wrote: > On Wed, 20 Aug 2014, Richard Biener wrote: > > - if (stmt != use_stmt > - && ref_maybe_used_by_stmt_p (use_stmt, gimple_assign_lhs > (stmt))) > - return; > - I don't see how you can rem

Re: DSE calls to builtins (memset, etc)

2014-08-20 Thread Marc Glisse
On Wed, 20 Aug 2014, Richard Biener wrote: - if (stmt != use_stmt - && ref_maybe_used_by_stmt_p (use_stmt, gimple_assign_lhs (stmt))) - return; - I don't see how you can remove this code? dse_possible_dead_store_p already tests ref_maybe_used_by_stmt_p and thus cannot re

Re: DSE calls to builtins (memset, etc)

2014-08-20 Thread Richard Biener
On Wed, Aug 20, 2014 at 9:14 AM, Marc Glisse wrote: > Hello, > > here is a new version of the patch which passed bootstrap+testsuite. I am > still removing the ref_maybe_used_by_stmt_p test, see the previous message > for a discussion. Looks good to me. I'm still nervous about removing that chec

Re: DSE calls to builtins (memset, etc)

2014-08-20 Thread Richard Biener
On Tue, Aug 19, 2014 at 4:16 PM, Marc Glisse wrote: > On Tue, 19 Aug 2014, Richard Biener wrote: > >>> /* Return true whether REF may refer to global memory. */ >>> >>> bool >>> -ref_may_alias_global_p (tree ref) >>> +ref_may_alias_global_p (ao_ref *ref) >>> { >>> - tree base = get_base_addre

Re: DSE calls to builtins (memset, etc)

2014-08-20 Thread Marc Glisse
Hello, here is a new version of the patch which passed bootstrap+testsuite. I am still removing the ref_maybe_used_by_stmt_p test, see the previous message for a discussion. 2014-08-20 Marc Glisse PR tree-optimization/62112 gcc/ * gimple-iterator.c (gsi_replace): Return wh

Re: DSE calls to builtins (memset, etc)

2014-08-19 Thread Marc Glisse
On Tue, 19 Aug 2014, Richard Biener wrote: /* Return true whether REF may refer to global memory. */ bool -ref_may_alias_global_p (tree ref) +ref_may_alias_global_p (ao_ref *ref) { - tree base = get_base_address (ref); + tree base = ao_ref_base (ref); if (DECL_P (base)) return is_

Re: DSE calls to builtins (memset, etc)

2014-08-19 Thread Richard Biener
On Sat, Aug 16, 2014 at 11:21 PM, Marc Glisse wrote: > Hello, > > here is a patch extending DSE to handle calls to memset, memcpy and memmove. > A number of alias functions didn't have a version taking an ao_ref*, so I > added those. Instead of naming things _1, _2, etc I took advantage of C++ > a

DSE calls to builtins (memset, etc)

2014-08-16 Thread Marc Glisse
Hello, here is a patch extending DSE to handle calls to memset, memcpy and memmove. A number of alias functions didn't have a version taking an ao_ref*, so I added those. Instead of naming things _1, _2, etc I took advantage of C++ and overloaded. I kept ref_maybe_used_by_call_p so we are sti