<div dir="ltr">Hello,<div><br></div><div>This patch implements the initial serialization of stack objects from the MachineFrameInfo class. It can only serialize the ordinary stack objects (including ordinary spill slots), but it doesn't serialize variable sized or fixed stack objects yet.</div><div><br></div><div>The stack objects are serialized using a YAML sequence of YAML inline mappings. Each mapping ha s the object's ID, type, size, offset and alignment. Example:</div><div><br></div><div>  <span style="line-height:normal">stack:</span></div><div>    - { id: 0, offset: -12, size: 4, alignment: 4 }</div><div>    - { id: 1, offset: -24, size: 8, alignment: 8 }</div><div>    - { id: 2, type: spill-slot, offset: -32, size: 4, alignment: 4 }</div><div><br></div><div>The stack objects are a part of machine function's YAML mapping.</div><div><br></div><div>The follow up patches will serialize the variable sized and fixed stack objects. The variable sized stack objects will use a different type to distinguish them from ordinary stack objects, but the fixed stack objects will use a different YAML sequence of fixed stack objects, Example:</div><div><br></div><div><div>fixedStack:</div><div>  - { id: 0, offset: 0, size: 4, alignment: 4, isImmutable: true, isAliased: false }</div><div>stack:</div><div>  - { id: 0, offset: -8, size: 4, alignment: 4 }</div></div><div><br></div><div>The machine operands will reference the stack objects using the following syntax:</div><div>  </div><div>    %<id>[.<name>]</div><div><br></div><div>Thanks,</div><div>Alex</div></div>