common subexpression elimination and copy propagation in titanium

23
Common Subexpression Elimination and Copy Propagation in Titanium Johnathon Jamison David Marin CS265 S. Graham

Upload: brinly

Post on 19-Jan-2016

27 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Common Subexpression Elimination and Copy Propagation in Titanium

Common Subexpression Elimination and Copy

Propagation in TitaniumJohnathon Jamison

David Marin

CS265

S. Graham

Page 2: Common Subexpression Elimination and Copy Propagation in Titanium
Page 3: Common Subexpression Elimination and Copy Propagation in Titanium
Page 4: Common Subexpression Elimination and Copy Propagation in Titanium
Page 5: Common Subexpression Elimination and Copy Propagation in Titanium
Page 6: Common Subexpression Elimination and Copy Propagation in Titanium
Page 7: Common Subexpression Elimination and Copy Propagation in Titanium

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?)

Page 8: Common Subexpression Elimination and Copy Propagation in Titanium

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.

Page 9: Common Subexpression Elimination and Copy Propagation in Titanium
Page 10: Common Subexpression Elimination and Copy Propagation in Titanium
Page 11: Common Subexpression Elimination and Copy Propagation in Titanium
Page 12: Common Subexpression Elimination and Copy Propagation in Titanium
Page 13: Common Subexpression Elimination and Copy Propagation in Titanium
Page 14: Common Subexpression Elimination and Copy Propagation in Titanium
Page 15: Common Subexpression Elimination and Copy Propagation in Titanium
Page 16: Common Subexpression Elimination and Copy Propagation in Titanium
Page 17: Common Subexpression Elimination and Copy Propagation in Titanium
Page 18: Common Subexpression Elimination and Copy Propagation in Titanium
Page 19: Common Subexpression Elimination and Copy Propagation in Titanium

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

Page 20: Common Subexpression Elimination and Copy Propagation in Titanium
Page 21: Common Subexpression Elimination and Copy Propagation in Titanium
Page 22: Common Subexpression Elimination and Copy Propagation in Titanium
Page 23: Common Subexpression Elimination and Copy Propagation in Titanium

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?