bjorn3 opened Issue #1339:
What is the feature or code improvement you would like to do in Cranelift?
I want to move all cold code to the end of the function to reduce the average amount of jumps and improve code locality.What is the value of adding this in Cranelift?
While it is currently possible to first remove all instructions, then remove the ebb and then append the ebb with it's instructions again, doing so is slower than just moving all instructions in place.Do you have an implementation plan, and/or ideas for data structures or
algorithms to use?
First the ebb linked list is modified to place the ebb later in the layout. Then the sequence number of all instructions in the ebb are changed to accomodate the new position of the ebb.Have you considered alternative implementations? If so, how are they better
or worse than your proposal?
No
alexcrichton transferred Issue #1339:
What is the feature or code improvement you would like to do in Cranelift?
I want to move all cold code to the end of the function to reduce the average amount of jumps and improve code locality.What is the value of adding this in Cranelift?
While it is currently possible to first remove all instructions, then remove the ebb and then append the ebb with it's instructions again, doing so is slower than just moving all instructions in place.Do you have an implementation plan, and/or ideas for data structures or
algorithms to use?
First the ebb linked list is modified to place the ebb later in the layout. Then the sequence number of all instructions in the ebb are changed to accomodate the new position of the ebb.Have you considered alternative implementations? If so, how are they better
or worse than your proposal?
No
Last updated: Nov 22 2024 at 17:03 UTC