Difference: ProjectHome (5 vs. 6)

Revision 62008-01-18 - XiaomingGu

Line: 1 to 1
 
META TOPICPARENT name="CS255Spring08"

Project for CSC 255/455, Spring 2008

Introduction

Changed:
<
<
TBD
>
>
In the project, we add our own passes in Gcc at gimple level. Because Gcc is a real compiler, it looks a little more difficult than previous semesters. You have to know the basic framework of Gcc and how to manipulate gimple tree to do the analyses and transformations. The following resources will help you through the problems. Wish you have a good practice with Gcc.
 

Build up working environment

  • Check out code and install: see Gcc-4.0.1 notes on installation
Changed:
<
<
  • Output gimple code: use option -fdump-tree-gimple
>
>
  • Use qsub -I at node64 to get a node to do the make and install: see ClusterJobs
  • Output gimple tree in c-like form: use option -fdump-tree-gimple
 

Resources

Line: 19 to 20
 

Part 1: Trivial

Changed:
<
<
TBD
>
>
In this part, we count and output the number of executed statements of a run of a program. So you need to maintain a global counter which is initialized to 0 and increased after each gimple statement and reported when the program exits. Following are the three parts of the intrumented code:
  • Initialization: added at the entry of main function
  • Increasing: added after each statements
  • Report: added at all possible exits of the program
 
Added:
>
>
Add and use option -255-part1 to invoke the instrumentation in compilation.
 
Changed:
<
<
>
>
This part is very easy. Its purpose is to make you get familiar with Gcc and concentrate on real stuffs of the class after it.
 
Added:
>
>
 -- XiaomingGu - 16 Jan 2008
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding URCS? Send feedback