summaryrefslogtreecommitdiff
path: root/include/llvm
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-25 06:02:13 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-25 06:02:13 +0000
commit92ccf70ad448eb02f9f273d2c70ae4708b3bd0f2 (patch)
tree79e29e5f8e24b6c70ff964e42d9b438c3b11eddf /include/llvm
parent8b5ee823c2393d15c74e2dda0c46f8a2c6f40dc8 (diff)
downloadllvm-92ccf70ad448eb02f9f273d2c70ae4708b3bd0f2.tar.gz
llvm-92ccf70ad448eb02f9f273d2c70ae4708b3bd0f2.tar.bz2
llvm-92ccf70ad448eb02f9f273d2c70ae4708b3bd0f2.tar.xz
Finish migrating VMCore to StringRef/Twine based APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77051 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/GlobalAlias.h2
-rw-r--r--include/llvm/GlobalValue.h2
-rw-r--r--include/llvm/InlineAsm.h14
-rw-r--r--include/llvm/LLVMContext.h32
-rw-r--r--include/llvm/Linker.h18
-rw-r--r--include/llvm/Module.h46
-rw-r--r--include/llvm/TypeSymbolTable.h6
7 files changed, 59 insertions, 61 deletions
diff --git a/include/llvm/GlobalAlias.h b/include/llvm/GlobalAlias.h
index b106116f37..91bd61b838 100644
--- a/include/llvm/GlobalAlias.h
+++ b/include/llvm/GlobalAlias.h
@@ -40,7 +40,7 @@ public:
}
/// GlobalAlias ctor - If a parent module is specified, the alias is
/// automatically inserted into the end of the specified module's alias list.
- GlobalAlias(const Type *Ty, LinkageTypes Linkage, const std::string &Name = "",
+ GlobalAlias(const Type *Ty, LinkageTypes Linkage, const Twine &Name = "",
Constant* Aliasee = 0, Module *Parent = 0);
/// Provide fast operand accessors
diff --git a/include/llvm/GlobalValue.h b/include/llvm/GlobalValue.h
index d53d49bfec..7b0de34d9c 100644
--- a/include/llvm/GlobalValue.h
+++ b/include/llvm/GlobalValue.h
@@ -90,7 +90,7 @@ public:
bool hasSection() const { return !Section.empty(); }
const std::string &getSection() const { return Section; }
- void setSection(const std::string &S) { Section = S; }
+ void setSection(const StringRef &S) { Section = S; }
/// If the usage is empty (except transitively dead constants), then this
/// global value can can be safely deleted since the destructor will
diff --git a/include/llvm/InlineAsm.h b/include/llvm/InlineAsm.h
index 84292cf19e..e0d992be7e 100644
--- a/include/llvm/InlineAsm.h
+++ b/include/llvm/InlineAsm.h
@@ -32,15 +32,15 @@ class InlineAsm : public Value {
std::string AsmString, Constraints;
bool HasSideEffects;
- InlineAsm(const FunctionType *Ty, const std::string &AsmString,
- const std::string &Constraints, bool hasSideEffects);
+ InlineAsm(const FunctionType *Ty, const StringRef &AsmString,
+ const StringRef &Constraints, bool hasSideEffects);
virtual ~InlineAsm();
public:
/// InlineAsm::get - Return the the specified uniqued inline asm string.
///
- static InlineAsm *get(const FunctionType *Ty, const std::string &AsmString,
- const std::string &Constraints, bool hasSideEffects);
+ static InlineAsm *get(const FunctionType *Ty, const StringRef &AsmString,
+ const StringRef &Constraints, bool hasSideEffects);
bool hasSideEffects() const { return HasSideEffects; }
@@ -61,7 +61,7 @@ public:
/// the specified constraint string is legal for the type. This returns true
/// if legal, false if not.
///
- static bool Verify(const FunctionType *Ty, const std::string &Constraints);
+ static bool Verify(const FunctionType *Ty, const StringRef &Constraints);
// Constraint String Parsing
enum ConstraintPrefix {
@@ -106,7 +106,7 @@ public:
/// Parse - Analyze the specified string (e.g. "=*&{eax}") and fill in the
/// fields in this structure. If the constraint string is not understood,
/// return true, otherwise return false.
- bool Parse(const std::string &Str,
+ bool Parse(const StringRef &Str,
std::vector<InlineAsm::ConstraintInfo> &ConstraintsSoFar);
};
@@ -114,7 +114,7 @@ public:
/// constraints and their prefixes. If this returns an empty vector, and if
/// the constraint string itself isn't empty, there was an error parsing.
static std::vector<ConstraintInfo>
- ParseConstraints(const std::string &ConstraintString);
+ ParseConstraints(const StringRef &ConstraintString);
/// ParseConstraints - Parse the constraints of this inlineasm object,
/// returning them the same way that ParseConstraints(str) does.
diff --git a/include/llvm/LLVMContext.h b/include/llvm/LLVMContext.h
index 73d88984c1..ab81595722 100644
--- a/include/llvm/LLVMContext.h
+++ b/include/llvm/LLVMContext.h
@@ -21,30 +21,31 @@
namespace llvm {
-class LLVMContextImpl;
+class APFloat;
+class APInt;
+class ArrayType;
class Constant;
-class ConstantInt;
-class ConstantPointerNull;
-class ConstantStruct;
class ConstantAggregateZero;
class ConstantArray;
class ConstantFP;
+class ConstantInt;
+class ConstantPointerNull;
+class ConstantStruct;
class ConstantVector;
-class UndefValue;
+class FunctionType;
+class IntegerType;
+class LLVMContextImpl;
class MDNode;
class MDString;
-class IntegerType;
+class OpaqueType;
class PointerType;
+class StringRef;
class StructType;
-class ArrayType;
-class VectorType;
-class OpaqueType;
-class FunctionType;
class Type;
-class APInt;
-class APFloat;
-class Value;
+class UndefValue;
class Use;
+class Value;
+class VectorType;
/// This is an important class for using LLVM in a threaded context. It
/// (opaquely) owns and manages the core "global" data of LLVM's core
@@ -100,7 +101,7 @@ public:
/// of the array by one (you've been warned). However, in some situations
/// this is not desired so if AddNull==false then the string is copied without
/// null termination.
- Constant* getConstantArray(const std::string& Initializer,
+ Constant* getConstantArray(const StringRef &Initializer,
bool AddNull = true);
// ConstantExpr accessors
@@ -204,8 +205,7 @@ public:
MDNode* getMDNode(Value* const* Vals, unsigned NumVals);
// MDString accessors
- MDString* getMDString(const char *StrBegin, unsigned Length);
- MDString* getMDString(const std::string &Str);
+ MDString* getMDString(const StringRef &Str);
// FunctionType accessors
FunctionType* getFunctionType(const Type* Result, bool isVarArg);
diff --git a/include/llvm/Linker.h b/include/llvm/Linker.h
index 2d0c2cd96b..ec3e17b541 100644
--- a/include/llvm/Linker.h
+++ b/include/llvm/Linker.h
@@ -65,8 +65,8 @@ class Linker {
/// name \p progname. \p progname will also be used for error messages.
/// @brief Construct with empty module
Linker(
- const std::string& progname, ///< name of tool running linker
- const std::string& modulename, ///< name of linker's end-result module
+ const StringRef& progname, ///< name of tool running linker
+ const StringRef& modulename, ///< name of linker's end-result module
LLVMContext& C, ///< Context for global info
unsigned Flags = 0 ///< ControlFlags (one or more |'d together)
);
@@ -74,7 +74,7 @@ class Linker {
/// Construct the Linker with a previously defined module, \p aModule. Use
/// \p progname for the name of the program in error messages.
/// @brief Construct with existing module
- Linker(const std::string& progname, Module* aModule, unsigned Flags = 0);
+ Linker(const StringRef& progname, Module* aModule, unsigned Flags = 0);
/// Destruct the Linker.
/// @brief Destructor
@@ -116,7 +116,7 @@ class Linker {
/// the Quiet control flag is not set, the error string will have already
/// been printed to std::cerr.
/// @brief Get the text of the last error that occurred.
- const std::string& getLastError() const { return Error; }
+ const std::string &getLastError() const { return Error; }
/// @}
/// @name Mutators
@@ -214,7 +214,7 @@ class Linker {
/// @returns true if an error occurs, false otherwise
/// @brief Link one library into the module
bool LinkInLibrary (
- const std::string& Library, ///< The library to link in
+ const StringRef &Library, ///< The library to link in
bool& is_native ///< Indicates if lib a native library
);
@@ -267,7 +267,7 @@ class Linker {
/// will be empty (i.e. sys::Path::isEmpty() will return true).
/// @returns A sys::Path to the found library
/// @brief Find a library from its short name.
- sys::Path FindLib(const std::string &Filename);
+ sys::Path FindLib(const StringRef &Filename);
/// @}
/// @name Implementation
@@ -277,9 +277,9 @@ class Linker {
/// Module it contains (wrapped in an auto_ptr), or 0 if an error occurs.
std::auto_ptr<Module> LoadObject(const sys::Path& FN);
- bool warning(const std::string& message);
- bool error(const std::string& message);
- void verbose(const std::string& message);
+ bool warning(const StringRef &message);
+ bool error(const StringRef &message);
+ void verbose(const StringRef &message);
/// @}
/// @name Data
diff --git a/include/llvm/Module.h b/include/llvm/Module.h
index 7a139cc1e0..888eac2a69 100644
--- a/include/llvm/Module.h
+++ b/include/llvm/Module.h
@@ -131,7 +131,7 @@ private:
public:
/// The Module constructor. Note that there is no default constructor. You
/// must provide a name for the module upon construction.
- explicit Module(const std::string &ModuleID, LLVMContext& C);
+ explicit Module(const StringRef &ModuleID, LLVMContext& C);
/// The module destructor. This will dropAllReferences.
~Module();
@@ -146,7 +146,7 @@ public:
/// Get the data layout string for the module's target platform. This encodes
/// the type sizes and alignments expected by this module.
/// @returns the data layout as a string
- const std::string& getDataLayout() const { return DataLayout; }
+ const std::string &getDataLayout() const { return DataLayout; }
/// Get the target triple which is a string describing the target host.
/// @returns a string containing the target triple.
@@ -173,20 +173,20 @@ public:
public:
/// Set the module identifier.
- void setModuleIdentifier(const std::string &ID) { ModuleID = ID; }
+ void setModuleIdentifier(const StringRef &ID) { ModuleID = ID; }
/// Set the data layout
- void setDataLayout(const std::string& DL) { DataLayout = DL; }
+ void setDataLayout(const StringRef &DL) { DataLayout = DL; }
/// Set the target triple.
- void setTargetTriple(const std::string &T) { TargetTriple = T; }
+ void setTargetTriple(const StringRef &T) { TargetTriple = T; }
/// Set the module-scope inline assembly blocks.
- void setModuleInlineAsm(const std::string &Asm) { GlobalScopeAsm = Asm; }
+ void setModuleInlineAsm(const StringRef &Asm) { GlobalScopeAsm = Asm; }
/// Append to the module-scope inline assembly blocks, automatically
/// appending a newline to the end.
- void appendModuleInlineAsm(const std::string &Asm) {
+ void appendModuleInlineAsm(const StringRef &Asm) {
GlobalScopeAsm += Asm;
GlobalScopeAsm += '\n';
}
@@ -198,8 +198,7 @@ public:
/// getNamedValue - Return the first global value in the module with
/// the specified name, of arbitrary type. This method returns null
/// if a global with the specified name is not found.
- GlobalValue *getNamedValue(const std::string &Name) const;
- GlobalValue *getNamedValue(const char *Name) const;
+ GlobalValue *getNamedValue(const StringRef &Name) const;
/// @}
/// @name Function Accessors
@@ -214,10 +213,10 @@ public:
/// the existing function.
/// 4. Finally, the function exists but has the wrong prototype: return the
/// function with a constantexpr cast to the right prototype.
- Constant *getOrInsertFunction(const std::string &Name, const FunctionType *T,
+ Constant *getOrInsertFunction(const StringRef &Name, const FunctionType *T,
AttrListPtr AttributeList);
- Constant *getOrInsertFunction(const std::string &Name, const FunctionType *T);
+ Constant *getOrInsertFunction(const StringRef &Name, const FunctionType *T);
/// getOrInsertFunction - Look up the specified function in the module symbol
/// table. If it does not exist, add a prototype for the function and return
@@ -226,21 +225,20 @@ public:
/// named function has a different type. This version of the method takes a
/// null terminated list of function arguments, which makes it easier for
/// clients to use.
- Constant *getOrInsertFunction(const std::string &Name,
+ Constant *getOrInsertFunction(const StringRef &Name,
AttrListPtr AttributeList,
const Type *RetTy, ...) END_WITH_NULL;
- Constant *getOrInsertFunction(const std::string &Name, const Type *RetTy, ...)
+ Constant *getOrInsertFunction(const StringRef &Name, const Type *RetTy, ...)
END_WITH_NULL;
- Constant *getOrInsertTargetIntrinsic(const std::string &Name,
+ Constant *getOrInsertTargetIntrinsic(const StringRef &Name,
const FunctionType *Ty,
AttrListPtr AttributeList);
/// getFunction - Look up the specified function in the module symbol table.
/// If it does not exist, return null.
- Function *getFunction(const std::string &Name) const;
- Function *getFunction(const char *Name) const;
+ Function *getFunction(const StringRef &Name) const;
/// @}
/// @name Global Variable Accessors
@@ -250,13 +248,13 @@ public:
/// symbol table. If it does not exist, return null. If AllowInternal is set
/// to true, this function will return types that have InternalLinkage. By
/// default, these types are not returned.
- GlobalVariable *getGlobalVariable(const std::string &Name,
+ GlobalVariable *getGlobalVariable(const StringRef &Name,
bool AllowInternal = false) const;
/// getNamedGlobal - Return the first global variable in the module with the
/// specified name, of arbitrary type. This method returns null if a global
/// with the specified name is not found.
- GlobalVariable *getNamedGlobal(const std::string &Name) const {
+ GlobalVariable *getNamedGlobal(const StringRef &Name) const {
return getGlobalVariable(Name, true);
}
@@ -267,7 +265,7 @@ public:
/// with a constantexpr cast to the right type.
/// 3. Finally, if the existing global is the correct delclaration, return
/// the existing global.
- Constant *getOrInsertGlobal(const std::string &Name, const Type *Ty);
+ Constant *getOrInsertGlobal(const StringRef &Name, const Type *Ty);
/// @}
/// @name Global Alias Accessors
@@ -276,7 +274,7 @@ public:
/// getNamedAlias - Return the first global alias in the module with the
/// specified name, of arbitrary type. This method returns null if a global
/// with the specified name is not found.
- GlobalAlias *getNamedAlias(const std::string &Name) const;
+ GlobalAlias *getNamedAlias(const StringRef &Name) const;
/// @}
/// @name Type Accessors
@@ -285,7 +283,7 @@ public:
/// addTypeName - Insert an entry in the symbol table mapping Str to Type. If
/// there is already an entry for this name, true is returned and the symbol
/// table is not modified.
- bool addTypeName(const std::string &Name, const Type *Ty);
+ bool addTypeName(const StringRef &Name, const Type *Ty);
/// getTypeName - If there is at least one entry in the symbol table for the
/// specified type, return it.
@@ -293,7 +291,7 @@ public:
/// getTypeByName - Return the type with the specified name in this module, or
/// null if there is none by that name.
- const Type *getTypeByName(const std::string &Name) const;
+ const Type *getTypeByName(const StringRef &Name) const;
/// @}
/// @name Direct access to the globals list, functions list, and symbol table
@@ -372,9 +370,9 @@ public:
/// @brief Returns the number of items in the list of libraries.
inline size_t lib_size() const { return LibraryList.size(); }
/// @brief Add a library to the list of dependent libraries
- void addLibrary(const std::string& Lib);
+ void addLibrary(const StringRef &Lib);
/// @brief Remove a library from the list of dependent libraries
- void removeLibrary(const std::string& Lib);
+ void removeLibrary(const StringRef &Lib);
/// @brief Get all the libraries
inline const LibraryListType& getLibraries() const { return LibraryList; }
diff --git a/include/llvm/TypeSymbolTable.h b/include/llvm/TypeSymbolTable.h
index e1459b0579..d2d909587a 100644
--- a/include/llvm/TypeSymbolTable.h
+++ b/include/llvm/TypeSymbolTable.h
@@ -55,14 +55,14 @@ public:
/// incrementing an integer and appending it to the name, if necessary
/// @returns the unique name
/// @brief Get a unique name for a type
- std::string getUniqueName(const std::string &BaseName) const;
+ std::string getUniqueName(const StringRef &BaseName) const;
/// This method finds the type with the given \p name in the type map
/// and returns it.
/// @returns null if the name is not found, otherwise the Type
/// associated with the \p name.
/// @brief Lookup a type by name.
- Type* lookup(const std::string& name) const;
+ Type *lookup(const StringRef &name) const;
/// @returns true iff the symbol table is empty.
/// @brief Determine if the symbol table is empty
@@ -102,7 +102,7 @@ public:
/// a many-to-one mapping between names and types. This method allows a type
/// with an existing entry in the symbol table to get a new name.
/// @brief Insert a type under a new name.
- void insert(const std::string &Name, const Type *Typ);
+ void insert(const StringRef &Name, const Type *Typ);
/// Remove a type at the specified position in the symbol table.
/// @returns the removed Type.