aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-02-13 07:53:34 +0000
committerChris Lattner <sabre@nondot.org>2007-02-13 07:53:34 +0000
commitec79b3da13ae9ba09f52e177bd71fcc5669d61a5 (patch)
tree7e7091d79aced6902ecc25b29b2e1c78fa79b4a6
parent189395282649f11ece08bc2a792187de3669129c (diff)
add a setName variant that takes a null-terminated string. This can be
used to avoid std::string allocations in common cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34232 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Value.h2
-rw-r--r--lib/VMCore/Value.cpp4
2 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/Value.h b/include/llvm/Value.h
index be751d5f63..fac596b415 100644
--- a/include/llvm/Value.h
+++ b/include/llvm/Value.h
@@ -92,6 +92,8 @@ public:
void setName(const std::string &name);
void setName(const char *Name, unsigned NameLen);
+ void setName(const char *Name); // Takes a null-terminated string.
+
/// takeName - transfer the name from V to this value, setting V's name to
/// empty. It is an error to call V->takeName(V).
diff --git a/lib/VMCore/Value.cpp b/lib/VMCore/Value.cpp
index ee6f94ad38..c7af931359 100644
--- a/lib/VMCore/Value.cpp
+++ b/lib/VMCore/Value.cpp
@@ -122,6 +122,10 @@ void Value::setName(const std::string &name) {
setName(&name[0], name.size());
}
+void Value::setName(const char *Name) {
+ setName(Name, Name ? strlen(Name) : 0);
+}
+
void Value::setName(const char *NameStr, unsigned NameLen) {
if (NameLen == 0 && !hasName()) return;
if (getType() != Type::VoidTy && "Cannot assign a name to void values!");