Introduction
Installation
Building CIL on Windows with Microsoft Visual C
Distribution Contents
Compiling C to CIL
How to Use CIL
Using
cilly
, the CIL driver
Using CIL as a library
CIL API Documentation
Using the visitor
Interpreted Constructors and Deconstructors
Printing and Debugging support
Attributes
The CIL Driver
cilly
Options
cilly.asm
Options
Internal Options
Specifying a machine model
Library of CIL Modules
Control-Flow Graphs
Data flow analysis framework
Inliner
Dominators
Points-to Analysis
StackGuard
Heapify
One Return
Partial Evaluation and Constant Folding
Reaching Definitions
Available Expressions
Liveness Analysis
Dead Code Elimination
Simple Memory Operations
Simple Three-Address Code
Converting C to C++
Generating LLVM code (new in 1.3.7)
Controlling CIL
GCC Extensions
CIL Limitations
Known Bugs and Limitations
Code that CIL won’t compile
Code that behaves differently under CIL
Effects of the CIL translation
Using the merger
Using the patcher
Debugging support
Who Says C is Simple?
Standard C
GCC ugliness
Microsoft VC ugliness
Authors
License
Bug reports
Changes
This document was translated from L
A
T
E
X by
H
E
V
E
A
.