Skip to content

Concept of an IR-procedure #83

@RedmanPlus

Description

@RedmanPlus

We need a mechanism to handle more IR procedures than the main one.

Context:

Currently all code is constructed from the Representation class, that holds all of the information about all of the objects, memory regions and symbols within a Pyro program. This is a bit clumbsy, since the resulting operations and all of the symbols live in the same place.
We need to decouple the executable code part from the other stuff, so later we can add full function support to it

Solution:

There are two possiple approaches to storing information about the procedure:

  • Storing input arguments and the output in separate fields of the Procedure class
  • Storing input and output as a separate Signature class that is a member of a Procedure class
    First approach is easier for code generation, since the path to the arguments inside the generator is shorter
    Second approach will be easier later when functions will be the first-class-citisens
    The final approach is on the implementer

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions