> 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_REGNUM If @code{FRAME_GROWS_DOWNWARD} is defined to a nonzero value, this points to immediately above the first variable on the stack. Otherwise, it points to the first variable on the stack. > > 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. Basically like all virtual registers, those are just placeholders used during expansion for RTL expressions that are fed into the place later. See instantiate_virtual_regs. As such emitting a store into the register definitly confuse the logic. > > 4) If they are not uninitialized, where is the initialization code? Why > does df not see it? > > 5) How can I tell if a reg is a virtual_stack_reg? By the regno. If you want to check for all those animals, you need FIRST_VIRTUAL_REGISTER. Why do you need the dataflow so early? Honza >