On Tue, Mar 06, 2012 at 06:17:52AM -0500, Richard Kenner wrote: > > I don't see how a VAR_DECL can ever get a DECL_RTL equal to one of > > the mentioned regs. > > Doesn't that happen when you have a local variable that's a > variable-sized object? What would have changed that would cause it to > no longer happen? This is tree-level stuff, not RTL.
VLA VAR_DECLs have just DECL_HAS_VALUE_EXPR_P set and DECL_VALUE_EXPR being INDIRECT_REF (or MEM_REF now?) dereferencing some DECL_ARTIFICIAL VAR_DECL that is initialized from alloca builtin. So the VLA VAR_DECLs don't have any DECL_RTL at all (kept for debug info purposes only), and the artificial pointer to it will just have as DECL_RTL some pseudo or so. Jakub