//===----------------------------------------------------------------------===//
-/// createGlobalConstifierPass - This function returns a new pass that marks
-/// internal globals "constant" if they are provably never written to.
+/// createGlobalOptimizerPass - This function returns a new pass that optimizes
+/// non-address taken internal globals.
///
-ModulePass *createGlobalConstifierPass();
+ModulePass *createGlobalOptimizerPass();
//===----------------------------------------------------------------------===//
addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst
addPass(PM, createCFGSimplificationPass()); // Clean up disgusting code
addPass(PM, createPromoteMemoryToRegister()); // Kill useless allocas
- addPass(PM, createGlobalConstifierPass()); // Mark read-only globals const
- addPass(PM, createGlobalDCEPass()); // Remove unused globals
+ addPass(PM, createGlobalOptimizerPass()); // Optimize out global vars
+ addPass(PM, createGlobalDCEPass()); // Remove unused fns and globs
addPass(PM, createIPConstantPropagationPass());// IP Constant Propagation
addPass(PM, createDeadArgEliminationPass()); // Dead argument elimination
addPass(PM, createInstructionCombiningPass()); // Clean up after IPCP & DAE
addPass(Passes, createInternalizePass());
}
- // Now that we internalized some globals, see if we can mark any globals as
- // being constant!
- addPass(Passes, createGlobalConstifierPass());
+ // Now that we internalized some globals, see if we can hack on them!
+ addPass(Passes, createGlobalOptimizerPass());
// Linking modules together can lead to duplicated global constants, only
// keep one copy of each constant...
addPass(Passes, createInternalizePass());
}
- // Now that we internalized some globals, see if we can mark any globals as
- // being constant!
- addPass(Passes, createGlobalConstifierPass());
+ // Now that we internalized some globals, see if we can hack on them!
+ addPass(Passes, createGlobalOptimizerPass());
// Linking modules together can lead to duplicated global constants, only
// keep one copy of each constant...