lecture-08-6up

lecture-08-6up - Main idea Global Register Allocation Want...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Global Register Allocation (Slides from Andrew Myers) Monday, October 17, 2011 Main idea • Want to replace temporary variables with some fixed set of registers • First : need to know which variables are live after each instruction – Two simultaneously live variables cannot be allocated to the same register Monday, October 17, 2011 Register allocation • For every node n in CFG, we have out[n] – Set of temporaries live out of n • Two variables interfere if – both initially live (ie: function args), or – both appear in out[n] for any n • How to assign registers to variables? Monday, October 17, 2011 Interference graph • Nodes of the graph = variables • Edges connect variables that interfere with one another • Nodes will be assigned a color corresponding to the register assigned to the variable • Two colors can’t be next to one another in the graph Monday, October 17, 2011 Interference graph Instructions Live vars b = a + 2 c = b * b b = c + 1 return b * a Monday, October 17, 2011 Interference graph Instructions Live vars b = a + 2 c = b * b b = c + 1 b,a return b * a Monday, October 17, 2011
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Interference graph Instructions Live vars b = a + 2 c = b * b a,c b = c + 1 b,a return b * a Monday, October 17, 2011 Interference graph Instructions Live vars b = a + 2 b,a c = b * b a,c b = c + 1 b,a return b * a Monday, October 17, 2011 Interference graph Instructions Live vars a b = a + 2 b,a c = b * b a,c b = c + 1 b,a return b * a Monday, October 17, 2011 Interference graph Instructions Live vars a b = a + 2 a,b c = b * b a,c b = c + 1 a,b return b * a a c b eax ebx color register Monday, October 17, 2011 Interference graph Instructions Live vars a b = a + 2 a,b c = b * b a,c b = c + 1 a,b return b * a a c b eax ebx color register Monday, October 17, 2011 Graph coloring • Questions: – Can we efficiently find a coloring of the graph whenever possible? – Can we efficiently find the optimum coloring of
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 8

lecture-08-6up - Main idea Global Register Allocation Want...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online