From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joern Rennecke To: law@cygnus.com Cc: jimb@cygnus.com, egcs@egcs.cygnus.com, gdb@sourceware.cygnus.com Subject: Re: IA32: printing FP register variables Date: Mon, 12 Jul 1999 16:50:00 -0000 Message-id: <199907122349.AAA25740@phal.cygnus.co.uk> References: <9209.931822541@upchuck.cygnus.com> X-SW-Source: 1999-q3/msg00056.html > I'm not sure this is safe either. Consider what happens at basic block > boundaries to the regstack. I believe variables location relative to > the bottom of the stack can change at a basic block boundary. Huh? Why that? The FPU doesn't know about the control flow. >From law@cygnus.com Mon Jul 12 17:07:00 1999 From: Jeffrey A Law To: Joern Rennecke Cc: jimb@cygnus.com, egcs@egcs.cygnus.com, gdb@sourceware.cygnus.com Subject: Re: IA32: printing FP register variables Date: Mon, 12 Jul 1999 17:07:00 -0000 Message-id: <9384.931824345@upchuck.cygnus.com> References: <199907122349.AAA25740@phal.cygnus.co.uk> X-SW-Source: 1999-q3/msg00057.html Content-length: 766 In message < 199907122349.AAA25740@phal.cygnus.co.uk >you write: > > I'm not sure this is safe either. Consider what happens at basic block > > boundaries to the regstack. I believe variables location relative to > > the bottom of the stack can change at a basic block boundary. > > Huh? Why that? The FPU doesn't know about the control flow. Consider two threads of control, each with one variable on the FP stack. At some point they merge. One variable has to be on the bottom, the other on the top. regstack has to track this stuff and emit appropriate code at block boundaries to move stuff around via copies. It is also why I believe an LCM based copy propagation algorithm can be used to improve the code generated by regstack. jeff