You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently all const memory is placed in the 'data section' similarly to ELF binaries and the .rodata segment. This is constructed and managed entirely by the ASMgen.
The constdemotion pass introduced in #4336 will explicitly place initialised constant values onto the stack so as to provide a pointer to those values as opposed to referring to them by value. They are in turn stored in the data section but still copied from there onto the stack before being used.
If the IR maintained a global memory region to store such values, rather than the stack, then they could more easily be added to the data section in ASMgen and easily avoid being copied to the stack.
A global region could be used and explicitly managed for configurable constants too.
The text was updated successfully, but these errors were encountered:
Currently all const memory is placed in the 'data section' similarly to ELF binaries and the
.rodata
segment. This is constructed and managed entirely by the ASMgen.The
constdemotion
pass introduced in #4336 will explicitly place initialised constant values onto the stack so as to provide a pointer to those values as opposed to referring to them by value. They are in turn stored in the data section but still copied from there onto the stack before being used.If the IR maintained a global memory region to store such values, rather than the stack, then they could more easily be added to the data section in ASMgen and easily avoid being copied to the stack.
A global region could be used and explicitly managed for configurable constants too.
The text was updated successfully, but these errors were encountered: