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
The use of absolute addresses in load and store instructions necessitates either backtracking when a load or store instruction is found to figure out which address it refers to, or keeping track of all allocations and arithmetic on them as you traverse the IR to keep track of addresses.
Happy Case
If addresses were instead represented as constants (without even an associated Allocate instruction) then they could be optimized to known values automatically. Then, the mem2reg and flatten_cfg passes wouldn't need any additional mapping/tracking of instructions to find which refer to known addresses and which do not.
Alternatives Considered
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response
The text was updated successfully, but these errors were encountered:
Yes, I've already experimented with it and it didn't help much. This was also when we could add on allocate instructions to get offsets which isn't possible anymore.
Problem
The use of absolute addresses in load and store instructions necessitates either backtracking when a load or store instruction is found to figure out which address it refers to, or keeping track of all allocations and arithmetic on them as you traverse the IR to keep track of addresses.
Happy Case
If addresses were instead represented as constants (without even an associated Allocate instruction) then they could be optimized to known values automatically. Then, the mem2reg and flatten_cfg passes wouldn't need any additional mapping/tracking of instructions to find which refer to known addresses and which do not.
Alternatives Considered
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response
The text was updated successfully, but these errors were encountered: