583L1 - EECS 583 Advanced Compilers Course Overview,...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
EECS 583 – Advanced Compilers Course Overview, Introduction to Control Flow Analysis Fall 2011, University of Michigan September 7, 2011
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 1 - About Me Mahlke = mall key » But just call me Scott 10 years here at Michigan » Compiler guy who likes hardware » Program optimization and building custom hardware for high performance/low power Before this – HP Labs » Compiler research for Itanium-like processors » PICO – automatic design of NPAs Before before – Grad student at UIUC Before ^ 3 – Undergrad at UIUC
Background image of page 2
- 2 - Class Overview This class is NOT about: » Programming languages » Parsing, syntax checking, semantic analysis » Handling advanced language features – virtual functions, … » Frontend transformations » Debugging » Simulation Compiler backend » Mapping applications to processor hardware » Retargetability – work for multiple platforms (not hard coded) » Work at the assembly-code level (but processor independent) » Speed/Efficiency How to make the application run fast Use less memory (text, data), efficiently execute Parallelize
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 3 - Background You Should Have 1. Programming » Good C++ programmer (essential) » Linux, gcc, emacs » Debugging experience – hard to debug with printf’s alone » Compiler system not ported to Windows 2. Computer architecture » EECS 370 is good, 470 is better but not essential » Basics – caches, pipelining, function units, registers, virtual memory, branches, multiple cores, assembly code 3. Compilers » Frontend stuff is not very relevant for this class » Basic backend stuff we will go over fast Non-EECS 483 people will have to do some supplemental reading
Background image of page 4
- 4 - Textbook and Other Classroom Material No required text – Lecture notes, papers LLVM compiler system » LLVM webpage: http://www.llvm.org » Read the documentation! » LLVM users group Course webpage + course newsgroup » http://www.eecs.umich.edu/~mahlke/courses/583f11 » Lecture notes – available the night before class » Newsgroup – ask/answer questions, GSI and I will try to check regularly but may not be able to do so always http://phorum.eecs.umich.edu
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 5 - What the Class Will be Like Class meeting time – 10:30 – 12:30, MW » 2 hrs is hard to handle » We’ll stop at 12:00, most of the time Core backend stuff » Text book material – some overlap with 483 » 2 homeworks to apply classroom material Research papers » I’ll present research material along the way » However, its not a monologue, you are expected to participate in the discussion » Students will be asked to submit summaries/opinions about papers
Background image of page 6
- 6 - What the Class Will be Like (2) Learning compilers » No memorizing definitions, terms, formulas, algorithms, etc » Learn by doing – Writing code » Substantial amount of programming Fair learning curve for LLVM compiler » Reasonable amount of reading Classroom » Attendance – You should be here
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 29

583L1 - EECS 583 Advanced Compilers Course Overview,...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online