static Function* resolveFunction(Module& M, StringRef name) { Function* f = M.getFunction(name); if (f != NULL) return f; GlobalAlias* ga = M.getNamedAlias(name); if (ga != NULL) { const GlobalValue* v = ga->resolveAliasedGlobal(true); f = dyn_cast<Function>(const_cast<GlobalValue*>(v)); if (f != NULL) { errs() << "Resolved alias " << name << " to " << f->getName() << "\n"; return f; } } return NULL; }