Re: no_new_pseudos

2007-07-09 Thread Joe Buck
On Mon, Jul 09, 2007 at 05:26:00PM -0400, Paolo Bonzini wrote: > > >"Joe can open the door during the meeting" could mean "Joe is able to > >open the door (e.g., he has the keys)" or "from time to time, Joe will > >open the door during the meeting (e.g., it has been known to happen)." > > > >But I

Re: no_new_pseudos

2007-07-09 Thread Ian Lance Taylor
Bernd Schmidt <[EMAIL PROTECTED]> writes: > Daniel Jacobowitz wrote: > > Am I the only one who completely fails to see the point of the > > spelling change? I realize that you have said you find negative > > predicates confusing - I don't, but I do find changing predicates > > confusing. I appla

Re: no_new_pseudos

2007-07-09 Thread Paolo Bonzini
"Joe can open the door during the meeting" could mean "Joe is able to open the door (e.g., he has the keys)" or "from time to time, Joe will open the door during the meeting (e.g., it has been known to happen)." But I agree that it doesn't seem to be used that way in gcc. And in compilers in

Re: no_new_pseudos

2007-07-09 Thread Ian Lance Taylor
Eric Botcazou <[EMAIL PROTECTED]> writes: > tree-ssa-loop-im.c:may_move_till (tree ref, tree *index, void *data) > tree-ssa-loop-prefetch.c:may_use_storent_in_loop_p (struct loop *loop) So there are some existing cases of asking permission using "may". Joe Buck <[EMAIL PROTECTED]> writes: > "Ma

Re: no_new_pseudos

2007-07-09 Thread Ian Lance Taylor
Eric Botcazou <[EMAIL PROTECTED]> writes: > tree-ssa-loop-im.c:may_move_till (tree ref, tree *index, void *data) > tree-ssa-loop-prefetch.c:may_use_storent_in_loop_p (struct loop *loop) So there are some existing cases of asking permission using "may". Joe Buck <[EMAIL PROTECTED]> writes: > "Ma

Re: no_new_pseudos

2007-07-09 Thread Joe Buck
On Mon, Jul 09, 2007 at 11:54:39AM -0700, Ian Lance Taylor wrote: > Kenneth Zadeck <[EMAIL PROTECTED]> writes: > > > Ian Lance Taylor wrote: > > > Eric Botcazou <[EMAIL PROTECTED]> writes: > > > > > > > > >>> Note that I spent less time writing this patch than I did replying to > > >>> the e-ma

Re: no_new_pseudos

2007-07-09 Thread Eric Botcazou
> Shouldn't we see this as a teachable moment for correct English > grammar? That would be overloading the predicate. :-) More seriously: [EMAIL PROTECTED]:~/svn/gcc/gcc> grep "^may_" *.c fold-const.c:may_negate_without_overflow_p (tree t) haifa-sched.c:may_trap_exp (rtx x, int is_store) loop-in

Re: no_new_pseudos

2007-07-09 Thread Ian Lance Taylor
Kenneth Zadeck <[EMAIL PROTECTED]> writes: > Ian Lance Taylor wrote: > > Eric Botcazou <[EMAIL PROTECTED]> writes: > > > > > >>> Note that I spent less time writing this patch than I did replying to > >>> the e-mail messages on this thread. > >>> > >> You're probably going to hit the roo

Re: no_new_pseudos

2007-07-09 Thread Joe Buck
On Mon, Jul 09, 2007 at 02:54:49PM -0400, Richard Kenner wrote: > > Am I the only one who completely fails to see the point of the > > spelling change? I realize that you have said you find negative > > predicates confusing - I don't, but I do find changing predicates > > confusing. I applaud cle

Re: no_new_pseudos

2007-07-09 Thread Ian Lance Taylor
Alexandre Oliva <[EMAIL PROTECTED]> writes: > > Note that I spent less time writing this patch than I did replying to > > the e-mail messages on this thread. > > Yes, it's frustrating, but my experience has been that getting > consensus is generally much more difficult than implementing an > agre

Re: no_new_pseudos

2007-07-09 Thread Bernd Schmidt
Daniel Jacobowitz wrote: Am I the only one who completely fails to see the point of the spelling change? I realize that you have said you find negative predicates confusing - I don't, but I do find changing predicates confusing. I applaud cleaning up the definition and/or replacing it with a ma

Re: no_new_pseudos

2007-07-09 Thread Richard Kenner
> Am I the only one who completely fails to see the point of the > spelling change? I realize that you have said you find negative > predicates confusing - I don't, but I do find changing predicates > confusing. I applaud cleaning up the definition and/or replacing it > with a macro, and I'd appl

Re: no_new_pseudos

2007-07-09 Thread Daniel Jacobowitz
Am I the only one who completely fails to see the point of the spelling change? I realize that you have said you find negative predicates confusing - I don't, but I do find changing predicates confusing. I applaud cleaning up the definition and/or replacing it with a macro, and I'd applaud adding

Re: no_new_pseudos

2007-07-09 Thread Kenneth Zadeck
Ian Lance Taylor wrote: > Eric Botcazou <[EMAIL PROTECTED]> writes: > > >>> Note that I spent less time writing this patch than I did replying to >>> the e-mail messages on this thread. >>> >> You're probably going to hit the roof :-) but could you rename the predicate >> to can_create_p

Re: no_new_pseudos

2007-07-09 Thread Ian Lance Taylor
Eric Botcazou <[EMAIL PROTECTED]> writes: > > Note that I spent less time writing this patch than I did replying to > > the e-mail messages on this thread. > > You're probably going to hit the roof :-) but could you rename the predicate > to can_create_pseudo_p? "may" is somewhat ambiguous for

Re: no_new_pseudos

2007-07-09 Thread Alexandre Oliva
On Jul 9, 2007, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: > Alexandre Oliva <[EMAIL PROTECTED]> writes: >> On Jul 9, 2007, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: >> >> > Or tell us how you think my patch should be changed. >> >> #define no_new_pseudos (reload_in_progress || reload_compl

RE: no_new_pseudos

2007-07-09 Thread Dave Korn
On 09 July 2007 19:24, Eric Botcazou wrote: >> Note that I spent less time writing this patch than I did replying to >> the e-mail messages on this thread. > > You're probably going to hit the roof :-) but could you rename the predicate > to can_create_pseudo_p? "may" is somewhat ambiguous for n

Re: no_new_pseudos

2007-07-09 Thread Mike Stump
On Jul 9, 2007, at 11:04 AM, Ian Lance Taylor wrote: OK, what do you think of this patch? In hopes of ending this thread, I like this color of red... :-)

Re: no_new_pseudos

2007-07-09 Thread Richard Kenner
> We've moved past that option, now we're arguing about using > regalloc_started_p (). I'm against that. Why are we hardwiring that as the point at which no new pseudos can be created? It seems right for now, but suppose we later have some mechanism for doing regalloc "on the fly"? If you want

Re: no_new_pseudos

2007-07-09 Thread Eric Botcazou
> Note that I spent less time writing this patch than I did replying to > the e-mail messages on this thread. You're probably going to hit the roof :-) but could you rename the predicate to can_create_pseudo_p? "may" is somewhat ambiguous for non-native speakers. -- Eric Botcazou

Re: no_new_pseudos

2007-07-09 Thread Richard Kenner
> The bad abstraction was causing quirks in *when* no_new_pseudos was set > to 1. But no_new_pseudos is a good abstraction in itself, people are > arguing on whether it is a better abstraction as "reload_in_progress || > reload_completed". I argue that because both have historically been misused,

Re: no_new_pseudos

2007-07-09 Thread Richard Kenner
> I am going to argue that it was a bug that we did not allow new pseudos > after flow had ran. And that we should have always allowed pseudos > before the register allocator. Since flow was so broken, we could not, > we added the hack no_new_pseudos get around that problem. Now we are > saying

Re: no_new_pseudos

2007-07-09 Thread Alexandre Oliva
On Jul 9, 2007, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: > Or tell us how you think my patch should be changed. #define no_new_pseudos (reload_in_progress || reload_completed) if you want to reword it into a functional macro without a negative, then it would take modifying back-ends as well.

Re: no_new_pseudos

2007-07-09 Thread Alexandre Oliva
On Jul 9, 2007, "Andrew Pinski" <[EMAIL PROTECTED]> wrote: > Since flow was so broken, we > could not, we added the hack no_new_pseudos get around that problem. > Now we are saying it is a nice abstraction but I am saying this > abstraction should never have happened in the first place. You're c

Re: no_new_pseudos

2007-07-09 Thread Richard Earnshaw
On Mon, 2007-07-09 at 09:30 -0700, Ian Lance Taylor wrote: > Paolo Bonzini <[EMAIL PROTECTED]> writes: > > > > I am going to argue that it was a bug that we did not allow new > > > pseudos after flow had ran. And that we should have always allowed > > > pseudos before the register allocator. Sin

Re: no_new_pseudos

2007-07-09 Thread Ian Lance Taylor
This discussion has gotten far too abstract for me. Alexandre, please write your own patch, and we will approve it or not. Or tell us how you think my patch should be changed. Give us code, not discussion. I have already spent more time writing e-mail messages than I've spent writing the patch.

Re: no_new_pseudos

2007-07-09 Thread Ian Lance Taylor
Paolo Bonzini <[EMAIL PROTECTED]> writes: > > I am going to argue that it was a bug that we did not allow new > > pseudos after flow had ran. And that we should have always allowed > > pseudos before the register allocator. Since flow was so broken, we > > could not, we added the hack no_new_pse

Re: no_new_pseudos

2007-07-09 Thread Paolo Bonzini
I am going to argue that it was a bug that we did not allow new pseudos after flow had ran. And that we should have always allowed pseudos before the register allocator. Since flow was so broken, we could not, we added the hack no_new_pseudos get around that problem. Now we are saying it is a

Re: no_new_pseudos

2007-07-09 Thread Andrew Pinski
On 7/9/07, Alexandre Oliva <[EMAIL PROTECTED]> wrote: It's true that, before your patch, one couldn't create new pseudos after flow analysis, and after your patch, one can create them all the way until reload. 'no_new_pseudos' would still mean the same: it's true if it's too late to create new

Re: no_new_pseudos

2007-07-09 Thread Alexandre Oliva
On Jul 9, 2007, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: > Apparently there areplaces, at least in the ppc backend that did not > generate pseudos before reload because of the abstraction that are > now able to generate them. I don't understand what you mean by 'because of the abstraction'. It

Re: no_new_pseudos

2007-07-09 Thread Kenneth Zadeck
Richard Kenner wrote: >> just as a small point, at least the ppc does behave differently with my >> patch then without it. Apparently there areplaces, at least in the ppc >> backend that did not generate pseudos before reload because of the >> abstraction that are now able to generate them. >>

Re: no_new_pseudos

2007-07-09 Thread Richard Kenner
> just as a small point, at least the ppc does behave differently with my > patch then without it. Apparently there areplaces, at least in the ppc > backend that did not generate pseudos before reload because of the > abstraction that are now able to generate them. I'm sure that's true.

Re: no_new_pseudos

2007-07-09 Thread Kenneth Zadeck
Richard Kenner wrote: >> Now, it is true that the overspecification of the comment above its >> declaration may have led people to use it for different purposes. >> While some may have used it to test whether new pseudos can be >> created, others may have used it to test whether we're on or past li

Re: no_new_pseudos

2007-07-09 Thread Richard Kenner
> Now, it is true that the overspecification of the comment above its > declaration may have led people to use it for different purposes. > While some may have used it to test whether new pseudos can be > created, others may have used it to test whether we're on or past life > analysis. Whether th

Re: no_new_pseudos

2007-07-09 Thread Alexandre Oliva
On Jul 9, 2007, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: > Alexandre Oliva <[EMAIL PROTECTED]> writes: >> On Jul 8, 2007, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: >> >> > But since these aspects of the register allocator are not at all >> > likely to change, wouldn't it be a waste of time

Re: no_new_pseudos

2007-07-09 Thread Richard Kenner
> Since we have no reason to believe that the backend should not > create new pseudo-registers before register allocation, and since we > have no reason to believe that after register allocation starts it > will be possible for the backend to create new pseudo-registers, I > believe that you are in

Re: no_new_pseudos

2007-07-08 Thread Ian Lance Taylor
Alexandre Oliva <[EMAIL PROTECTED]> writes: > On Jul 8, 2007, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: > > > But since these aspects of the register allocator are not at all > > likely to change, wouldn't it be a waste of time to prepare for them > > now? > > Yup. But from that to concludin

Re: no_new_pseudos

2007-07-08 Thread Alexandre Oliva
On Jul 8, 2007, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: > To be even more blunt, I never viewed no_new_pseudos as a useful abstraction > It was a gate that protected a set of badly designed concrete > datastructures. I can appreciate that this is a valid point of view for the implementation of

Re: no_new_pseudos

2007-07-08 Thread Alexandre Oliva
On Jul 8, 2007, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: > But since these aspects of the register allocator are not at all > likely to change, wouldn't it be a waste of time to prepare for them > now? Yup. But from that to concluding that we should remove the clear abstraction that enables

Re: no_new_pseudos

2007-07-08 Thread Kenneth Zadeck
Ian Lance Taylor wrote: > Alexandre Oliva <[EMAIL PROTECTED]> writes: > > >> See why imprecise abstractions are a problem, and why lowering >> abstractions just because it's possible ATM, without any performance >> or maintainability gains to justify them, is a losing proposition in >> the long

Re: no_new_pseudos

2007-07-08 Thread Ian Lance Taylor
Alexandre Oliva <[EMAIL PROTECTED]> writes: > See why imprecise abstractions are a problem, and why lowering > abstractions just because it's possible ATM, without any performance > or maintainability gains to justify them, is a losing proposition in > the long run? To be blunt: no, I don't. I s

Re: no_new_pseudos

2007-07-08 Thread Alexandre Oliva
On Jul 6, 2007, Ian Lance Taylor <[EMAIL PROTECTED]> wrote: > Richard Sandiford <[EMAIL PROTECTED]> writes: >> That's why it seems so odd to me to want to get rid of the port uses >> and not replace it with something directly equivalent. I just don't >> see how it qualifies as a clean-up. I thi

Re: no_new_pseudos

2007-07-06 Thread Richard Sandiford
Ian Lance Taylor <[EMAIL PROTECTED]> writes: > Richard Sandiford <[EMAIL PROTECTED]> writes: > >> That's why it seems so odd to me to want to get rid of the port uses >> and not replace it with something directly equivalent. I just don't >> see how it qualifies as a clean-up. I think tying the po

Re: no_new_pseudos

2007-07-06 Thread Alexandre Oliva
On Jul 6, 2007, David Edelsohn <[EMAIL PROTECTED]> wrote: >> Alexandre Oliva writes: Alexandre> Collapsing no_new_pseudos with anything else that doesn't carry the Alexandre> semantics it currently expresses is a transformation that loses Alexandre> information. Pretty please don't do this j

Re: no_new_pseudos

2007-07-06 Thread Richard Sandiford
David Edelsohn <[EMAIL PROTECTED]> writes: > So far all I read is complaints from you and Richard, but no > offers to implement your more extensive proposal in the next few weeks. > You simply are making demands that volunteers implement more extensive > transformation. This is a giant Bike

Re: no_new_pseudos

2007-07-06 Thread David Edelsohn
> Alexandre Oliva writes: Alexandre> Collapsing no_new_pseudos with anything else that doesn't carry the Alexandre> semantics it currently expresses is a transformation that loses Alexandre> information. Pretty please don't do this just because the current Alexandre> code doesn't care about t

Re: no_new_pseudos

2007-07-06 Thread Alexandre Oliva
On Jul 5, 2007, Richard Sandiford <[EMAIL PROTECTED]> wrote: > Ian Lance Taylor <[EMAIL PROTECTED]> writes: >> I think the best option is for somebody to go through the uses of >> no_new_pseudos and fix them. Incomplete transitions are bad. > I admit I'm still not sure on this point, and seein

Re: no_new_pseudos

2007-07-05 Thread Joseph S. Myers
On Thu, 5 Jul 2007, Alexandre Oliva wrote: > We might want to take GDB's practice of adding DEPRECATED_ to > deprecated constructs, such that people who stumble across the code > are more likely to notice that it needs auditing and updating. The GDB method (port x86-foo uses deprecated_something,

Re: no_new_pseudos

2007-07-05 Thread Richard Sandiford
Ian Lance Taylor <[EMAIL PROTECTED]> writes: > Alexandre Oliva <[EMAIL PROTECTED]> writes: >> On Jul 5, 2007, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: >> >> > The work here is not changing the bits. the work here is the actual >> > auditing of each place to see if it was the correct place. >>

Re: no_new_pseudos

2007-07-05 Thread Ian Lance Taylor
Alexandre Oliva <[EMAIL PROTECTED]> writes: > On Jul 5, 2007, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: > > > The work here is not changing the bits. the work here is the actual > > auditing of each place to see if it was the correct place. > > Then I guess the best option is to leave no_new_p

Re: no_new_pseudos

2007-07-05 Thread Alexandre Oliva
On Jul 5, 2007, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: > The work here is not changing the bits. the work here is the actual > auditing of each place to see if it was the correct place. Then I guess the best option is to leave no_new_pseudos defined as a macro, such that we can introduce the

Re: no_new_pseudos

2007-07-05 Thread Kenneth Zadeck
David Edelsohn wrote: >> Alexandre Oliva writes: >> > > >>> Except that no_new_pseudos was not used consistently. >>> > > Alex> I'm not sure what you mean by "consistently", but regardless, how > Alex> could any argument possibly make it better to replace it with > >

Re: no_new_pseudos

2007-07-05 Thread David Edelsohn
> Alexandre Oliva writes: >> Except that no_new_pseudos was not used consistently. Alex> I'm not sure what you mean by "consistently", but regardless, how Alex> could any argument possibly make it better to replace it with Alex> (reload_in_progress || reload_completed) Alex> rather than Al

Re: no_new_pseudos

2007-07-05 Thread Ian Lance Taylor
Richard Sandiford <[EMAIL PROTECTED]> writes: > For the record, Alex puts my point of view perfectly here too. > I gather from the follow-ups that there's resistance to > s/no_new_pseudos/!BEFORE_RELOAD_P ()/ -- with BEFORE_RELOAD_P > defined as "reload_in_progress || reload_completed" until Alex'

Re: no_new_pseudos

2007-07-05 Thread Richard Sandiford
Alexandre Oliva <[EMAIL PROTECTED]> writes: > On Jul 4, 2007, David Edelsohn <[EMAIL PROTECTED]> wrote: > >>> Alexandre Oliva writes: > Alexandre> It's as mechanical as the change you proposed, except that yours > Alexandre> potentially loses information that would enable someone to recover >

Re: no_new_pseudos

2007-07-04 Thread Alexandre Oliva
On Jul 4, 2007, David Edelsohn <[EMAIL PROTECTED]> wrote: >> Alexandre Oliva writes: Alexandre> It's as mechanical as the change you proposed, except that yours Alexandre> potentially loses information that would enable someone to recover Alexandre> !BEFORE_RELOAD_P() out of the expanded ver

Re: no_new_pseudos

2007-07-04 Thread Richard Kenner
> Alexandre> It's as mechanical as the change you proposed, except that yours > Alexandre> potentially loses information that would enable someone to recover > Alexandre> !BEFORE_RELOAD_P() out of the expanded version of no_new_pseudos. > > Except that no_new_pseudos was not used consistent

Re: no_new_pseudos

2007-07-04 Thread Kenneth Zadeck
Alexandre Oliva wrote: > On Jul 4, 2007, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: > > enum { BEFORE_RELOAD = -1, DURING_RELOAD = 0, AFTER_RELOAD = 1 } reload_status; > > #define BEFORE_RELOAD_P() (reload_status < DURING_RELOAD) #define DURING_RELOAD_P() (r

Re: no_new_pseudos

2007-07-04 Thread David Edelsohn
> Alexandre Oliva writes: Alexandre> It's as mechanical as the change you proposed, except that yours Alexandre> potentially loses information that would enable someone to recover Alexandre> !BEFORE_RELOAD_P() out of the expanded version of no_new_pseudos. Except that no_new_pseudos

Re: no_new_pseudos

2007-07-04 Thread Alexandre Oliva
On Jul 4, 2007, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: >>> enum { BEFORE_RELOAD = -1, DURING_RELOAD = 0, AFTER_RELOAD = 1 } >>> reload_status; >>> #define BEFORE_RELOAD_P() (reload_status < DURING_RELOAD) >>> #define DURING_RELOAD_P() (reload_status == DURING_RELOAD) >>> #define AFTER_RELOAD

Re: no_new_pseudos

2007-07-04 Thread Kenneth Zadeck
Dave Korn wrote: > On 04 July 2007 19:25, Alexandre Oliva wrote: > > >> Actually, how about replacing the three variables with a single >> tri-state variable that indicates the progress into reload: >> >> enum { BEFORE_RELOAD = -1, DURING_RELOAD = 0, AFTER_RELOAD = 1 } >> reload_status; >> >> #

RE: no_new_pseudos

2007-07-04 Thread Dave Korn
On 04 July 2007 19:25, Alexandre Oliva wrote: > Actually, how about replacing the three variables with a single > tri-state variable that indicates the progress into reload: > > enum { BEFORE_RELOAD = -1, DURING_RELOAD = 0, AFTER_RELOAD = 1 } > reload_status; > > #define BEFORE_RELOAD_P() (relo

Re: no_new_pseudos

2007-07-04 Thread Alexandre Oliva
On Jul 4, 2007, Richard Sandiford <[EMAIL PROTECTED]> wrote: > What about the earlier idea of keeping no_new_pseudos and making it > equivalent to "reload_in_progress || reload_completed", either by being > a macro or by being a variable? Actually, how about replacing the three variables with a

Re: no_new_pseudos

2007-07-04 Thread Kenneth Zadeck
Richard Sandiford wrote: > David Edelsohn <[EMAIL PROTECTED]> writes: > >> I think the proposal is to get the semantics right first and then >> fix the syntax, not just leave the long, cumbersome flag. >> >> Creating a macro or alias could lead to confusion and creates an >> opportunit

Re: no_new_pseudos

2007-07-04 Thread Richard Sandiford
David Edelsohn <[EMAIL PROTECTED]> writes: > I think the proposal is to get the semantics right first and then > fix the syntax, not just leave the long, cumbersome flag. > > Creating a macro or alias could lead to confusion and creates an > opportunity for divergence. I don't understa

Re: no_new_pseudos

2007-07-04 Thread David Edelsohn
> Richard Sandiford writes: Richard> So which of (1) and (2) from my message do think is best? Replace backend Richard> uses with "reload_completed" when doing so is safe, or consistently replace Richard> it with "reload_in_progress || reload_completed" throughout the backends? Richard,

Re: no_new_pseudos

2007-07-04 Thread Eric Botcazou
> #define BEFORE_RELOAD_P (!reload_in_progress && !reload_completed) I'd personally vote for something like this. -- Eric Botcazou

RE: no_new_pseudos

2007-07-04 Thread Dave Korn
On 04 July 2007 18:03, Ian Lance Taylor wrote: > Richard Sandiford <[EMAIL PROTECTED]> writes: > >> Ian Lance Taylor <[EMAIL PROTECTED]> writes: >>> Richard Sandiford <[EMAIL PROTECTED]> writes: What about the earlier idea of keeping no_new_pseudos and making it equivalent to "reload_in

Re: no_new_pseudos

2007-07-04 Thread Ian Lance Taylor
Richard Sandiford <[EMAIL PROTECTED]> writes: > Ian Lance Taylor <[EMAIL PROTECTED]> writes: > > Richard Sandiford <[EMAIL PROTECTED]> writes: > >> What about the earlier idea of keeping no_new_pseudos and making it > >> equivalent to "reload_in_progress || reload_completed", either by being > >>

Re: no_new_pseudos

2007-07-04 Thread Richard Sandiford
Ian Lance Taylor <[EMAIL PROTECTED]> writes: > Richard Sandiford <[EMAIL PROTECTED]> writes: >> What about the earlier idea of keeping no_new_pseudos and making it >> equivalent to "reload_in_progress || reload_completed", either by being >> a macro or by being a variable? > > I would prefer to get

RE: no_new_pseudos

2007-07-04 Thread Dave Korn
On 04 July 2007 17:41, Ian Lance Taylor wrote: > Richard Sandiford <[EMAIL PROTECTED]> writes: > >> What about the earlier idea of keeping no_new_pseudos and making it >> equivalent to "reload_in_progress || reload_completed", either by being >> a macro or by being a variable? > > I would prefer

Re: no_new_pseudos

2007-07-04 Thread Ian Lance Taylor
Richard Sandiford <[EMAIL PROTECTED]> writes: > What about the earlier idea of keeping no_new_pseudos and making it > equivalent to "reload_in_progress || reload_completed", either by being > a macro or by being a variable? I would prefer to get rid of it and clean up afterward. Ian

Re: no_new_pseudos

2007-07-04 Thread Rask Ingemann Lambertsen
On Tue, Jul 03, 2007 at 05:14:21PM -0400, Kenneth Zadeck wrote: > David Edelsohn points out that some of the expanders could have all of > this code removed since expanders only run before reload. I do not know > how to figure this out. The movM and addM3 expanders are used by reload. The prolo

Re: no_new_pseudos

2007-07-04 Thread Richard Sandiford
Kenneth Zadeck <[EMAIL PROTECTED]> writes: > Alexandre Oliva wrote: >> On Jul 2, 2007, Richard Earnshaw <[EMAIL PROTECTED]> wrote: >> >> >>> On Mon, 2007-07-02 at 12:10 -0400, Kenneth Zadeck wrote: >>> I do not remember if it was stevenb or bonzini that observed that because of c

Re: no_new_pseudos

2007-07-03 Thread Kenneth Zadeck
Dave Korn wrote: > On 03 July 2007 22:14, Kenneth Zadeck wrote: > > >> David Edelsohn points out that some of the expanders could have all of >> this code removed since expanders only run before reload. I do not know >> how to figure this out. >> > > I thought that movMM expanders could s

RE: no_new_pseudos

2007-07-03 Thread Richard Kenner
> I thought that movMM expanders could still be run /during/ reload, at the > very least? Or does "some of the expanders" mean "excluding movMM" in > particular? (I'm not sure if I should infer the word "those" between > "removed since" and "expanders only"). Certainly movMM can run during re

RE: no_new_pseudos

2007-07-03 Thread Dave Korn
On 03 July 2007 22:14, Kenneth Zadeck wrote: > David Edelsohn points out that some of the expanders could have all of > this code removed since expanders only run before reload. I do not know > how to figure this out. I thought that movMM expanders could still be run /during/ reload, at the ver

Re: no_new_pseudos

2007-07-02 Thread Alexandre Oliva
On Jul 2, 2007, Richard Earnshaw <[EMAIL PROTECTED]> wrote: > On Mon, 2007-07-02 at 12:10 -0400, Kenneth Zadeck wrote: >> I do not remember if it was stevenb or bonzini that observed that >> because of changes that came with the dataflow branch it is now trivial >> to get rid of no_new_pseudos.

Re: no_new_pseudos

2007-07-02 Thread Jan Hubicka
> Kenneth Zadeck wrote: > >I do not remember if it was stevenb or bonzini that observed that > >because of changes that came with the dataflow branch it is now trivial > >to get rid of no_new_pseudos. > > For the record, this was Steven's observation. And Kenner confirming > that this was the or

Re: no_new_pseudos

2007-07-02 Thread Ian Lance Taylor
Kenneth Zadeck <[EMAIL PROTECTED]> writes: > There appears to be an idiom, (or at least a chunk of code that has been > heavily copied) where *_output_mi_thunk sets reload_completed and > no_new_pseudos at the top and clears them at the bottom. > > This appears to be the majority of the not triv

Re: no_new_pseudos

2007-07-02 Thread Kenneth Zadeck
Richard Kenner wrote: >> There are 199 uses of it in the backends; compared to 32 in the front >> end. >> >> So it is quite heavily used by MD code. >> > > That distinction shouldn't matter unless some of the MD code uses it instead > of reload_completed, which is (unfortunately) a real possib

Re: no_new_pseudos

2007-07-02 Thread Paolo Bonzini
Kenneth Zadeck wrote: I do not remember if it was stevenb or bonzini that observed that because of changes that came with the dataflow branch it is now trivial to get rid of no_new_pseudos. For the record, this was Steven's observation. And Kenner confirming that this was the original purpose

Re: no_new_pseudos

2007-07-02 Thread Richard Kenner
> There are 199 uses of it in the backends; compared to 32 in the front > end. > > So it is quite heavily used by MD code. That distinction shouldn't matter unless some of the MD code uses it instead of reload_completed, which is (unfortunately) a real possibility. So I fear those will have to b

Re: no_new_pseudos

2007-07-02 Thread Richard Earnshaw
On Mon, 2007-07-02 at 12:10 -0400, Kenneth Zadeck wrote: > I do not remember if it was stevenb or bonzini that observed that > because of changes that came with the dataflow branch it is now trivial > to get rid of no_new_pseudos. All of the sets can just go away, as well > as the tests of it that

Re: no_new_pseudos

2007-07-02 Thread Richard Kenner
> I believe that the original purpose of this was to protect certain > datastructures that had to be resized manually when pseudos were added. Correct. > Does anyone think this is a bad idea? A grep for no_new_pseudos bears > out that nothing is really going on here anymore. Seems like a real