#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/StringRef.h"
+
#include <cassert>
#include <vector>
/// PassInfo ctor - Do not call this directly, this should only be invoked
/// through RegisterPass. This version is for use by analysis groups; it
/// does not auto-register the pass.
- PassInfo(const char *name, const void *pi)
+ PassInfo(StringRef name, const void *pi)
: PassName(name), PassArgument(""), PassID(pi), IsCFGOnlyPass(false),
IsAnalysis(false), IsAnalysisGroup(true), NormalCtor(nullptr),
TargetMachineCtor(nullptr) {}
///
template <typename passName> struct RegisterPass : public PassInfo {
// Register Pass using default constructor...
- RegisterPass(const char *PassArg, const char *Name, bool CFGOnly = false,
+ RegisterPass(StringRef PassArg, StringRef Name, bool CFGOnly = false,
bool is_analysis = false)
: PassInfo(Name, PassArg, &passName::ID,
PassInfo::NormalCtor_t(callDefaultCtor<passName>), CFGOnly,
///
class RegisterAGBase : public PassInfo {
public:
- RegisterAGBase(const char *Name, const void *InterfaceID,
+ RegisterAGBase(StringRef Name, const void *InterfaceID,
const void *PassID = nullptr, bool isDefault = false);
};
// RegisterAGBase implementation
//
-RegisterAGBase::RegisterAGBase(const char *Name, const void *InterfaceID,
+RegisterAGBase::RegisterAGBase(StringRef Name, const void *InterfaceID,
const void *PassID, bool isDefault)
: PassInfo(Name, InterfaceID) {
PassRegistry::getPassRegistry()->registerAnalysisGroup(InterfaceID, PassID,