21 #define DEBUG_TYPE "hello"
23 STATISTIC(HelloCounter,
"Counts number of functions greeted");
31 bool runOnFunction(
Function &
F)
override {
49 bool runOnFunction(
Function &
F)
override {
65 Y(
"hello2",
"Hello World Pass (with getAnalysisUsage implemented)");
raw_ostream & errs()
This returns a reference to a raw_ostream for standard error.
RegisterPass<t> template - This template class is used to notify the system that a Pass is available ...
STATISTIC(NumFunctions,"Total number of functions")
static RegisterPass< Hello2 > Y("hello2","Hello World Pass (with getAnalysisUsage implemented)")
StringRef getName() const
Return a constant reference to the value's name.
static RegisterPass< Hello > X("hello","Hello World Pass")
Represent the analysis usage information of a pass.
FunctionPass class - This class is used to implement most global optimizations.
raw_ostream & write_escaped(StringRef Str, bool UseHexEscapes=false)
Output Str, turning '\', '', ' ', '"', and anything that doesn't satisfy std::isprint into an escape...
void setPreservesAll()
Set by analyses that do not transform their input at all.