Demoting CHelpers.h to include/llvm/Support.
[oota-llvm.git] / lib / VMCore / Value.cpp
index 2178ce47a3f5ad7cf6761fc90be47075ea0748ef..0150c7e6e96a00f0c56562d70dc04d54e48e8378 100644 (file)
@@ -128,7 +128,7 @@ const char *Value::getNameStart() const {
 /// getNameLen - Return the length of the string, correctly handling nul
 /// characters embedded into them.
 unsigned Value::getNameLen() const {
-  return Name->getKeyLength();
+  return Name ? Name->getKeyLength() : 0;
 }
 
 
@@ -276,15 +276,15 @@ void Value::uncheckedReplaceAllUsesWith(Value *New) {
   while (!use_empty()) {
     Use &U = *UseList;
     // Must handle Constants specially, we cannot call replaceUsesOfWith on a
-    // constant!
+    // constant because they are uniqued.
     if (Constant *C = dyn_cast<Constant>(U.getUser())) {
-      if (!isa<GlobalValue>(C))
+      if (!isa<GlobalValue>(C)) {
         C->replaceUsesOfWithOnConstant(this, New, &U);
-      else
-        U.set(New);
-    } else {
-      U.set(New);
+        continue;
+      }
     }
+    
+    U.set(New);
   }
 }