diff --git a/llvm/unittests/Analysis/CallGraphTest.cpp b/llvm/unittests/Analysis/CallGraphTest.cpp
index 0c92804..2d4e63f 100644
--- a/llvm/unittests/Analysis/CallGraphTest.cpp
+++ b/llvm/unittests/Analysis/CallGraphTest.cpp
@@ -17,29 +17,29 @@
 namespace {
 
 template <typename Ty> void canSpecializeGraphTraitsIterators(Ty *G) {
-  typedef typename GraphTraits<Ty *>::NodeType NodeTy;
+  typedef typename GraphTraits<Ty *>::NodeRef NodeRef;
 
   auto I = GraphTraits<Ty *>::nodes_begin(G);
   auto E = GraphTraits<Ty *>::nodes_end(G);
   auto X = ++I;
 
   // Should be able to iterate over all nodes of the graph.
-  static_assert(std::is_same<decltype(*I), NodeTy *>::value,
+  static_assert(std::is_same<decltype(*I), NodeRef>::value,
                 "Node type does not match");
-  static_assert(std::is_same<decltype(*X), NodeTy *>::value,
+  static_assert(std::is_same<decltype(*X), NodeRef>::value,
                 "Node type does not match");
-  static_assert(std::is_same<decltype(*E), NodeTy *>::value,
+  static_assert(std::is_same<decltype(*E), NodeRef>::value,
                 "Node type does not match");
 
-  NodeTy *N = GraphTraits<Ty *>::getEntryNode(G);
+  NodeRef N = GraphTraits<Ty *>::getEntryNode(G);
 
-  auto S = GraphTraits<NodeTy *>::child_begin(N);
-  auto F = GraphTraits<NodeTy *>::child_end(N);
+  auto S = GraphTraits<NodeRef>::child_begin(N);
+  auto F = GraphTraits<NodeRef>::child_end(N);
 
   // Should be able to iterate over immediate successors of a node.
-  static_assert(std::is_same<decltype(*S), NodeTy *>::value,
+  static_assert(std::is_same<decltype(*S), NodeRef>::value,
                 "Node type does not match");
-  static_assert(std::is_same<decltype(*F), NodeTy *>::value,
+  static_assert(std::is_same<decltype(*F), NodeRef>::value,
                 "Node type does not match");
 }
 
