Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture 2013
DOI: 10.1145/2540708.2540738
|View full text |Cite
|
Sign up to set email alerts
|

Allocating rotating registers by scheduling

Abstract: A rotating alias register file is a scalable hardware support to detect memory aliases at run-time. It has been shown that it can enable instruction-level parallelism to be effectively exploited from sequential code. Yet it is unknown how to apply it to loops. This paper presents an elegant and efficient solution that allocates rotating alias registers for a software-pipelined schedule of a loop. We show that surprisingly, this specific register allocation problem can be reduced to another software pipelining … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2014
2014
2015
2015

Publication Types

Select...
3
1

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(4 citation statements)
references
References 23 publications
0
4
0
Order By: Relevance
“…With coalescing, Algorithm 1 constructs the checking graph with Aj acting as a proxy for A; all checking and anti-checking edges which would have been incident on A are instead incident on Aj. Incremental Construction of Checking Graph (Algorithm 1, lines [8][9][10][11][12][13][14][15][16][17][18][19][20][21]: Checking edges go backwards in the schedule while anti-checking edges go forward. Therefore, unscheduled instructions are inspected for checking edges while instructions already scheduled are inspected for anti-checking edges.…”
Section: Alias Register Allocation Algorithmmentioning
confidence: 99%
See 3 more Smart Citations
“…With coalescing, Algorithm 1 constructs the checking graph with Aj acting as a proxy for A; all checking and anti-checking edges which would have been incident on A are instead incident on Aj. Incremental Construction of Checking Graph (Algorithm 1, lines [8][9][10][11][12][13][14][15][16][17][18][19][20][21]: Checking edges go backwards in the schedule while anti-checking edges go forward. Therefore, unscheduled instructions are inspected for checking edges while instructions already scheduled are inspected for anti-checking edges.…”
Section: Alias Register Allocation Algorithmmentioning
confidence: 99%
“…Prior proposals make use of an alias register mechanism for alias detection in hardware [3,6,9,11,18,21]. For instance, Itanium uses the Advanced Load Address Table (ALAT) [3] for memory alias detection.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations