jagomart
digital resources
picture1_A Intro Small


 116x       Filetype PDF       File size 0.23 MB       Source: cseweb.ucsd.edu


File: A Intro Small
let s look at a compiler compiler advanced compiler design if x code else optimizer parser compiler exec y gen cse 231 instructor sorin lerner let s look at a ...

icon picture PDF Filetype PDF | Posted on 02 Feb 2023 | 2 years ago
Partial capture of text on file.
                                                                                                                                                                                                 Let’s look at a compiler
                                                                                                                                                                                                                                                     Compiler
                                       Advanced Compiler Design                                                                                                                                                     if (…) {
                                                                                                                                                                                                                     x := …;                                                           Code
                                                                                                                                                                                                                    } else {                         Optimizer
                                                                                                                                                                                                                           Parser                   Compiler                                  Exec
                                                                                                                                                                                                                     y := …;                                                            Gen
                                                                                                                                                                                                                    }
                                                                                      CSE 231                                                                                                                       …;
                                                                     Instructor: Sorin Lerner
                                    Let’s look at a compiler
                                                                                        CCoommppiilleerr                                                                                            Advanced Optimizer Design
                                                              PPaarrsseerr              Optimizer                        CoCoddee
                                                                                                                           GeGenn
                                                                                                                                                                                                                                                   CSE 231
                                                                                                                                                                                                                                  Instructor: Sorin Lerner
                                    What does an optimizer do?                                                                                                                                   What do these tools have in common?
                                                                                                                                                                                                 • Bug finders
                                                                                   Compiler                                                                                                      • Program verifiers
                                                         Parser                    Optimizer                         Code                                                                        • Code refactoring tools
                                                                                                                      Gen                                                                        • Garbage collectors
                                                                                                                                                                                                 • Runtime monitoring system
                                              1.Compute information about a program                                                                                                              • And… optimizers
                                              2.Use that information to perform program 
                                                   transformations 
                                                   (with the goal of improving some metric, e.g. performance)
                                                                                                                                                                                                                                                                                                                                                     1
         What do these tools have in common?
         • Bug finders
         • Program verifiers                      Program Analyses, Transformations,
         • Code refactoring tools                 and Applications
         • Garbage collectors
         • Runtime monitoring system                          CSE 231
                                                          Instructor: Sorin Lerner
         • And… optimizers
             They all analyze and transform programs
             We will learn about the techniques underlying all 
             these tools
         Course goals                             Course topics
         • Understand basic techniques            • Representing programs 
           – cornerstone of a variety of program analysis tools
           – useful no matter what your future path
                                                  • Analyzing and transforming programs
         • Get a feel for compiler research/implementation
                                                  • Applications of these techniques
           – useful if you don’t have a research area picked
           – also useful if you have a research area picked
         Course topics (more details)             Course topics (more details)
         • Representations                        • Analysis/Transformation Algorithms
           – Abstract Syntax Tree                  – Dataflow Analysis
           – Control Flow Graph                    – Interprocedural analysis 
           – Dataflow Graph                        – Pointer analysis
           – Static Single Assignment              – Rule-based analyses and transformations
           – Control Dependence Graph              – Constraint-based analysis
           – Program Dependence Graph
           – Call Graph
                                                                                       2
          Course topics (more details)                Course pre-requisites
          • Applications                              • No compilers background necessary
            – Scalar optimizations                    • No familiarity with lattices
            – Loop optimizations                        – I will review what is necessary in class
            – Object oriented optimizations
            – Program verification                    • Familiarity with functional/OO programming
            – Bug finding                               – Optimization techniques for these kinds of languages
                                                      • Standard ugrad cs curriculum likely enough
                                                        – Talk to me if you’re concerned
          Course work                                 Course project
          • In-class midterm (30%)                    • Goal of the project
          • Take-home final (30%)                       – Get some hands on experience with compilers
                                                         and/orGet a feel for what research is like in PL
          • Course project (35%)                      • Three kinds of projects:
          • Class readings (5%)                         – research-y: explore some interesting ideas and try 
                                                         them out
                                                        – implementation-y: pick some existing idea out there, 
                                                         and implement it 
                                                        – paper-y: read 10 good papers on a topic, and write a 
                                                         report summarizing and integrating
          Course project                              Readings
          • Groups of 3 (make groups by this Friday)  • Paper readings throughout the quarter
          • Pick something to advance your personal   • Seminal papers and state of the art
            enrichment goals                          • Will give you a feel for what research looks like
          • Eg: Pick something related to your research, 
            something that you want to learn about
          • Milestones
            – Project proposal (due end of week 2)
            – Mid-point status report (5 weeks in)
            – Final presentation/written report (end of quarter)
                                                                                               3
                  Administrative info                                                         Academic Integrity
                  • Class web page is up                                                      • Governed by Policy on Integrity of Scholarship 
                     – http://cseweb.ucsd.edu/classes/sp15/cse231-a/                            (http://senate.ucsd.edu/Operating-Procedures/Senate-
                                                                                                Manual/Appendices/2)
                     – (or Google “Sorin Lerner”, follow “Teaching Now”)                      • Allegations are handled by Academic Integrity 
                     – Will post lectures, readings, project info, etc.                         Office (https://students.ucsd.edu/academics/academic-integrity)
                  • Piazza link on web page                                                   • Course penalty for any cheating in 231 will be a 
                     – Use for questions, answers                                               failing grade for the entire class
                     – Especially LLVM/project Q&A                                            • Cheaters may be subject to additional 
                                                                                                administrative sanctions
                  Questions?                                                                  Program Analyzer Issues (discuss)
                                                                                                    Input            Program              Output
                                                                                                                     Analyzer
                  Program Analyzer Issues (discuss)                                           Program Analyzer Issues (discuss)
                        Input            Program              Output                                Input            Program              Output
                                         Analyzer                                                                    Analyzer
                                                                                                                                                                     4
The words contained in this file might help you see if this file matches what you are looking for:

...Let s look at a compiler advanced design if x code else optimizer parser exec y gen cse instructor sorin lerner ccoommppiilleerr ppaarrsseerr cocoddee gegenn what does an do these tools have in common bug finders program verifiers refactoring garbage collectors runtime monitoring system compute information about and optimizers use that to perform transformations with the goal of improving some metric e g performance analyses applications they all analyze transform programs we will learn techniques underlying course goals topics understand basic representing cornerstone variety analysis useful no matter your future path analyzing transforming get feel for research implementation you don t area picked also more details representations transformation algorithms abstract syntax tree dataflow control flow graph interprocedural pointer static single assignment rule based dependence constraint call pre requisites compilers background necessary scalar optimizations familiarity lattices loop i ...

no reviews yet
Please Login to review.