+ All Categories
Home > Documents > Common Subexpression Elimination and Copy Propagation in Titanium

Common Subexpression Elimination and Copy Propagation in Titanium

Date post: 19-Jan-2016
Category:
Upload: brinly
View: 25 times
Download: 0 times
Share this document with a friend
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
Popular Tags:
23
Common Subexpression Elimination and Copy Propagation in Titanium Johnathon Jamison David Marin CS265 S. Graham
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?


Recommended