common subexpression elimination and copy propagation in titanium
DESCRIPTION
Common Subexpression Elimination and Copy Propagation in Titanium. Johnathon Jamison David Marin CS265 S. Graham. Global Copy Propagation. Given a = b; … x = a + 1; We want to replace a with b on the last line, but we need to know that a and b are unchanged - PowerPoint PPT PresentationTRANSCRIPT
Common Subexpression Elimination and Copy
Propagation in TitaniumJohnathon Jamison
David Marin
CS265
S. Graham
Global Copy Propagation
• Given
a = b;
…
x = a + 1;
• We want to replace a with b on the last line, but we need to know that a and b are unchanged
• Def/use analysis isn’t quite enough (why?)
Inserting Fake Defs and Uses
• Add fake defs and uses so that def/use analysis gives us the info we need
b = b;
a = b;
…
newtemp = b;
x = a + 1;• We can use this technique to enable CSE too.
Interaction with Copy Propagation
• Any temps introduced are placed after the calculation, so that copy propagation can remove thema = f * i a = f * i
temp_1 = a… …b = f * i b = temp_1
temp_2 = b… …c = f * i c = temp_2
Local CSE
• Used Muchnick’s algorithm (described in class)
• Used defs to find what was killed
• Fully implemented– Except method calls
• Since we are using defs already, why not so something more substantial?