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

Common Subexpression Elimination and Copy Propagation in Titanium

Jan 19, 2016

Download

Documents

brinly

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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?