Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-30 Thread Jeff Law
On 10/30/2017 03:32 AM, Pedro Alves wrote: > On 10/25/2017 06:20 PM, Jeff Law wrote: > >> My conclusion on the virtual dtor issue is that it's not strictly needed >> right now. >> >> IIUC the issue is you could do something like >> >> base *foo = new derived (); >> [ ... ] >> delete foo; >> >> If

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-30 Thread Pedro Alves
On 10/25/2017 06:20 PM, Jeff Law wrote: > My conclusion on the virtual dtor issue is that it's not strictly needed > right now. > > IIUC the issue is you could do something like > > base *foo = new derived (); > [ ... ] > delete foo; > > If the base's destructor is not virtual and foo is a bas

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-29 Thread Trevor Saunders
On Wed, Oct 25, 2017 at 11:20:38AM -0600, Jeff Law wrote: > On 10/24/2017 03:45 PM, Jeff Law wrote: > > On 10/24/2017 02:57 PM, David Malcolm wrote: > >> On Tue, 2017-10-24 at 12:44 -0600, Jeff Law wrote: > >>> This is similar to the introduction of the ssa_propagate_engine, but > >>> for > >>> the

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-27 Thread Jeff Law
On 10/26/2017 12:11 PM, Richard Biener wrote: > On October 26, 2017 6:50:15 PM GMT+02:00, Jeff Law wrote: [ Big snip ] >>> Both patches look ok to me though it would be nice to >>> do the actual composition with a comment that the >>> lattices might be moved here (if all workers became >>> membe

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-26 Thread Richard Biener
On October 26, 2017 6:50:15 PM GMT+02:00, Jeff Law wrote: >On 10/26/2017 03:24 AM, Richard Biener wrote: >> On Tue, Oct 24, 2017 at 8:44 PM, Jeff Law wrote: >>> This is similar to the introduction of the ssa_propagate_engine, but >for >>> the substitution/replacements bits. >>> >>> In a couple pl

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-26 Thread Jeff Law
On 10/26/2017 03:24 AM, Richard Biener wrote: > On Tue, Oct 24, 2017 at 8:44 PM, Jeff Law wrote: >> This is similar to the introduction of the ssa_propagate_engine, but for >> the substitution/replacements bits. >> >> In a couple places the pass specific virtual functions are just wrappers >> arou

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-26 Thread Richard Biener
On Tue, Oct 24, 2017 at 8:44 PM, Jeff Law wrote: > This is similar to the introduction of the ssa_propagate_engine, but for > the substitution/replacements bits. > > In a couple places the pass specific virtual functions are just wrappers > around existing functions. A good example of this is > c

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-25 Thread Jeff Law
On 10/24/2017 03:45 PM, Jeff Law wrote: > On 10/24/2017 02:57 PM, David Malcolm wrote: >> On Tue, 2017-10-24 at 12:44 -0600, Jeff Law wrote: >>> This is similar to the introduction of the ssa_propagate_engine, but >>> for >>> the substitution/replacements bits. >>> >>> In a couple places the pass s

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-24 Thread Jeff Law
On 10/24/2017 02:57 PM, David Malcolm wrote: > On Tue, 2017-10-24 at 12:44 -0600, Jeff Law wrote: >> This is similar to the introduction of the ssa_propagate_engine, but >> for >> the substitution/replacements bits. >> >> In a couple places the pass specific virtual functions are just >> wrappers >

Re: [RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-24 Thread David Malcolm
On Tue, 2017-10-24 at 12:44 -0600, Jeff Law wrote: > This is similar to the introduction of the ssa_propagate_engine, but > for > the substitution/replacements bits. > > In a couple places the pass specific virtual functions are just > wrappers > around existing functions. A good example of this

[RFA][PATCH] Provide a class interface into substitute_and_fold.

2017-10-24 Thread Jeff Law
This is similar to the introduction of the ssa_propagate_engine, but for the substitution/replacements bits. In a couple places the pass specific virtual functions are just wrappers around existing functions. A good example of this is ccp_folder::get_value. Many other routines in tree-ssa-ccp.c