1 //===- llvm/Transforms/CleanupGCCOutput.h - Cleanup GCC Output ---*- C++ -*--=//
4 //===----------------------------------------------------------------------===//
6 #ifndef LLVM_TRANSFORMS_CLEANUPGCCOUTPUT_H
7 #define LLVM_TRANSFORMS_CLEANUPGCCOUTPUT_H
11 class CleanupGCCOutput : public Pass {
12 Method *Malloc, *Free; // Pointers to external declarations, or null if none
15 inline CleanupGCCOutput() : Malloc(0), Free(0) {}
17 // doPassInitialization - For this pass, it removes global symbol table
18 // entries for primitive types. These are never used for linking in GCC and
19 // they make the output uglier to look at, so we nuke them.
21 // Also, initialize instance variables.
23 bool doPassInitialization(Module *M);
25 // doPerMethodWork - This method simplifies the specified method hopefully.
27 bool doPerMethodWork(Method *M);
29 bool doOneCleanupPass(Method *M);