investigation of flow graphs optimization methods used in optimizing compilers n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Investigation of flow graphs optimization methods used in optimizing compilers PowerPoint Presentation
Download Presentation
Investigation of flow graphs optimization methods used in optimizing compilers

Loading in 2 Seconds...

play fullscreen
1 / 18

Investigation of flow graphs optimization methods used in optimizing compilers - PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on

Investigation of flow graphs optimization methods used in optimizing compilers. Eugene Gavrin – MSc student. Universal compiler back-end. Tasks. Develop an universal internal representation of the program based on formal computational model

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Investigation of flow graphs optimization methods used in optimizing compilers' - jenn


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
investigation of flow graphs optimization methods used in optimizing compilers

Investigation of flow graphs optimization methods used in optimizing compilers

Eugene Gavrin – MSc student

tasks
Tasks
  • Develop an universal internal representation of the program based on formal computational model
  • Implement the set of common compiler optimizations
internal representation
Internal representation
  • AST
  • Control flow graph
  • Data flow graph
  • Call graph
  • Dependency graph
  • ...
internal representation1
Internal representation
  • AST
  • Control flow graph
  • Data flow graph
  • Call graph
  • Dependency graph
  • ...
internal representation2
Internal representation
  • AST
  • Control flow graph
  • Data flow graph
  • Call graph
  • Dependency graph
  • ...
internal representation3
Internal representation
  • AST
  • Control flow graph
  • Data flow graph
  • Call graph
  • Dependency graph
  • ...
internal representation4
Internal representation
  • AST
  • Control flow graph
  • Data flow graph
  • Call graph
  • Dependency graph
  • ...
internal representation5
Internal representation
  • AST
  • Control flow graph
  • Data flow graph
  • Call graph
  • Dependency graph
  • ...
internal representation6
Internal representation
  • Oriented graph
  • Nodes are functional operators
  • Vertexes are data dependencies
  • Each operator stores:
    • Operation name
    • Input and output data links
    • Meta data
internal representation branching
Internal representation (branching)
  • Extended data flow model by Davis & Keller
  • Selector and Distributor represents conditional statements
  • Enough to represent any control operator
    • If / Switch
    • For / While
optimizing transformations
Optimizing transformations

• Constant folding;

• Sub-expression evaluation;

• Strength reduction;

• Null sequences;

• Combine operators;

• Loop optimizations;

• Branch Elimination;

constant folding
Constant folding

Before

After

future plans
Future plans
  • СIL processing (.NET assembly)
    • Load
    • Unload
    • Compare results with MSFT .NET compiler
  • Static program analysis