Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Department of Computer Science and Technology – Course pages 2022–23 (working draft): Optimising Compilers skip to primary navigationskip to content Study at Cambridge About the University Research at Cambridge Search site Home Study at Cambridge Undergraduate Courses Applying Events and open days Fees and finance Student blogs and videos Graduate Why Cambridge Course directory How to apply Fees and funding Frequently asked questions International students Continuing education Executive and professional education Courses in education About the University How the University and Colleges work History Visiting the University Term dates and calendars Map For media Video and audio Find an expert Publications Global Cambridge News Events Public engagement Jobs Give to Cambridge Research at Cambridge For staff For current students For alumni For business Colleges & departments Libraries & facilities Museums & collections Email & phone search Computer Laboratory Teaching Courses 2022–23 Optimising Compilers Department of Computer Science and Technology Undergraduate Course pages 2022–23 (working draft) Optimising Compilers Syllabus Course materials Recordings Information for supervisors Principal lecturer: Dr Timothy Jones Taken by: Part II CST Hours: 16 Format: Video lectures and in-person Q&A sessions Suggested hours of supervisions: 4 Prerequisites: Compiler Construction Past exam questions Aims The aims of this course are to introduce the principles of program optimisation and related issues in decompilation. The course will cover optimisations of programs at the abstract syntax, flowgraph and target-code level. It will also examine how related techniques can be used in the process of decompilation. Lectures Introduction and motivation. Outline of an optimising compiler. Optimisation partitioned: analysis shows a property holds which enables a transformation. The flow graph; representation of programming concepts including argument and result passing. The phase-order problem. Kinds of optimisation. Local optimisation: peephole optimisation, instruction scheduling. Global optimisation: common sub-expressions, code motion. Interprocedural optimisation. The call graph. Classical dataflow analysis. Graph algorithms, live and avail sets. Register allocation by register colouring. Common sub-expression elimination. Spilling to memory; treatment of CSE-introduced temporaries. Data flow anomalies. Static Single Assignment (SSA) form. Higher-level optimisations. Abstract interpretation, Strictness analysis. Constraint-based analysis, Control flow analysis for lambda-calculus. Rule-based inference of program properties, Types and effect systems. Points-to and alias analysis. Target-dependent optimisations. Instruction selection. Instruction scheduling and its phase-order problem. Decompilation. Legal/ethical issues. Some basic ideas, control flow and type reconstruction. Objectives At the end of the course students should be able to explain program analyses as dataflow equations on a flowgraph; know various techniques for high-level optimisation of programs at the abstract syntax level; understand how code may be re-scheduled to improve execution speed; know the basic ideas of decompilation. Recommended reading * Nielson, F., Nielson, H.R. and Hankin, C.L. (1999). Principles of program analysis. Springer. Good on part A and part B. Appel, A. (1997). Modern compiler implementation in Java/C/ML (3 editions). Muchnick, S. (1997). Advanced compiler design and implementation. Morgan Kaufmann. Wilhelm, R. (1995). Compiler design. Addison-Wesley. Aho, A.V., Sethi, R. and Ullman, J.D. (2007). Compilers: principles, techniques and tools. Addison-Wesley (2nd ed.). © 2022 Department of Computer Science and Technology, University of Cambridge Information provided by Dr Timothy Jones – edit page University A-Z Contact the University Accessibility Freedom of information Terms and conditions Study at Cambridge Undergraduate Graduate International students Continuing education Executive and professional education Courses in education About the University How the University and Colleges work Visiting the University Map News Events Jobs Give to Cambridge Research at Cambridge News Features Discussion Spotlight on... About research at Cambridge