Lession 12--Differential Register Allocation Flashcards

1
Q

Differential Register encoding

A

Instead of putting the register number, use the difference to the next register. This allows us to use less bits going from register to register.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

RegN

A

Total number of registers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

RegW

A

Number of bits in register field

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

DiffN

A

Number of distinct differences

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

DiffW

A

Number of bits needed for differences

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Adjacency Graph

A

A directed weighted graph, each node representing a live range or register

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

set_last_reg

A

Solves “Difference out of range” and “Multipath inconsistency” issues. Allows us to set the register to the last register value, making the difference 0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Edge Coverage

A

An edge is covered if the modulo difference of the two end nodes can be encoded after register allocation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Cost

A

Weight of uncovered edges (also the number of set_last_reg instructions needed to handle differences that cannot be fit int he register field)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Differential remapping

A

Remap register numbers after register allocation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Differential select

A

AG of live ranges instead of registers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Differential coalesce

A

Apply differential encoding to an optimal spilling register allocator

How well did you know this?
1
Not at all
2
3
4
5
Perfectly