ARG_POINTER_REGNUM is included in the artificial defs of all blocks
(which I think is overly conservative - just having them
in the entry block def should be enough).
Hence, from dataflow point of view, they are always considered initialized.
I think we should probably do something similar
for
On 6/19/07, Rask Ingemann Lambertsen <[EMAIL PROTECTED]> wrote:
..
Hmm, how do you handle arg_pointer_rtx, frame_pointer_rtx and the like?
The are all uninitialized until the prologue is emitted, which is some time
after reload.
ARG_POINTER_REGNUM is included in the artificial defs of all bl
On Tue, Jun 19, 2007 at 08:33:52AM -0400, Kenneth Zadeck wrote:
>
> Since it sounds like you understand this, are either of you willing/able
> to attack the problem at it's source?
Uros is already at it
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg01317.html>.
--
Rask Ingemann Lambertsen
>>>
>> There is one annoying case in PR32374, where on-the-stack constructor
>> creates invalid memory clobber that includes virtual-stack-regs. These
>> are simply ignored by vregs pass and this confuses dataflow register
>> initialization.
>>
>
&
tructor
> creates invalid memory clobber that includes virtual-stack-regs. These
> are simply ignored by vregs pass and this confuses dataflow register
> initialization.
Yes, that sure rings a bell with me. A "bare" (clobber) with a
virtual-what-have-we reg inside it does the t
one of these virtual
pseudo inside a (clobber) or (use) or something like that. I don't quite
recall the details, but maybe the substitution fails if they appear outside
an operand?
There is one annoying case in PR32374, where on-the-stack constructor
creates invalid memory clobber that inclu
On Mon, Jun 18, 2007 at 08:28:25PM -0400, Kenneth Zadeck wrote:
> I would like to get some more information about pr32374.
>
> I do not know what virtual_stack_vars are and there is no documentation
> in the doc directory.
less -p 'Virtual registers ' gcc/rtl.h
less -p 'enum global_rtl_index' gcc
> I would like to get some more information about pr32374.
>
> I do not know what virtual_stack_vars are and there is no documentation
> in the doc directory.
It is documented:
@findex VIRTUAL_STACK_VARS_REGNUM
@cindex @code{FRAME_GROWS_DOWNWARD} and virtual registers
@item VIRTUAL_STACK_VARS_REG
I would like to get some more information about pr32374.
I do not know what virtual_stack_vars are and there is no documentation
in the doc directory.
1) What are these?
2) Why are they uninitialized?
3) If they really are uninitialized, why is it a problem to assign zero
to them.
4) If they a