Fix UBSan bootstrap: don't bind reference to nullptr.
[oota-llvm.git] / include / llvm / CodeGen / RegAllocPBQP.h
index 540af08408816ba9d2a6903cb79ce25698253eb8..3badfe0b240594b95352bed9fc811b24044fdd66 100644 (file)
@@ -192,8 +192,10 @@ public:
     : RS(Other.RS), NumOpts(Other.NumOpts), DeniedOpts(Other.DeniedOpts),
       OptUnsafeEdges(new unsigned[NumOpts]), VReg(Other.VReg),
       AllowedRegs(Other.AllowedRegs) {
-    std::copy(&Other.OptUnsafeEdges[0], &Other.OptUnsafeEdges[NumOpts],
-              &OptUnsafeEdges[0]);
+    if (NumOpts > 0) {
+      std::copy(&Other.OptUnsafeEdges[0], &Other.OptUnsafeEdges[NumOpts],
+                &OptUnsafeEdges[0]);
+    }
   }
 
   // FIXME: Re-implementing default behavior to work around MSVC. Remove once