Loading...
Please wait, while we are loading the content...
Similar Documents
Compression of Compiler Intermediate Representations of Program Code
| Content Provider | Semantic Scholar |
|---|---|
| Author | Brisk, Philip Kastner, R. Macbeth, Jamie Nahapetian, Ani Sarrafzadeh, Majid |
| Copyright Year | 2005 |
| Abstract | Code compression reduces the size of a program to be stored on-chip in an embedded system. We introduce an algorithm that a compiler may use to compress its intermediate representation of a program. The algorithm relies on repeated calls to an exact isomorphism algorithm in order to identify redundant patterns that occur within the program, which is represented as a Control Data Flow Graph (CDFG). Repeated patterns are then extracted from the program, and each occurrence is replaced with a pointer to a single representative instance of the pattern. This algorithm can also be used to perform instruction selection for embedded architectures that feature specialized assembly instructions for dictionary compression. In experiments with 10 embedded applications written in C, the number of vertices and edges in the intermediate representation were reduced by as much as 51.90% and 69.17% respectively. An experiment using quadratic regression yielded strong empirical evidence that the runtime of the compression algorithm is quadratic in the size of the program that is compiled, under the assumption that no unrolled loops are present in the initial code that is compiled. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://cseweb.ucsd.edu/~kastner/papers/tech-ir_compression.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |