Method, apparatus, and product for optimizing compiler with rotating register assignment to modulo scheduled code in SSA form
AssigneeHewlett-Packard Development Company, L.P.
InventorUma Srinivasan
Life of this patent
Estimating the term…
Loading patent…
AssigneeHewlett-Packard Development Company, L.P.
InventorUma Srinivasan
Estimating the term…
In a computer having rotating registers, a schedule-assigner for allocating the rotating registers. The scheduler-assigner includes a software-pipelined instruction scheduler that generates a first software-pipelined instruction schedule based on an intermediate representation that has data flow information in SSA form. The scheduler-assigner also includes a rotating register allocator that designates live ranges of loop-variant variables in the first software-pipelined instruction schedule as being allocated to rotating registers, when available. The first software-pipelined instruction schedule may be a modulo schedule. When a rotating register is not available, the software-pipelined instruction scheduler may generate a second software-pipelined instruction schedule having an initiation interval greater than the initiation interval of the first software-pipelined instruction schedule.
In a computer having one or more rotating registers and at least one memory unit having stored therein a first intermediate representation (first IR) of source code, a scheduler-assigner for allocating at least one of the one or more rotating registers, comprising:
A method for allocating at least one of one or more rotating registers in a computer, comprising:
Dependencies are inferred from the claim text.