Merge pull request #7533 from adrian-prantl/30520286

Fix a bug in GenericCloner causing an LLVM assertion
diff --git a/lib/SILOptimizer/Utils/GenericCloner.cpp b/lib/SILOptimizer/Utils/GenericCloner.cpp
index 2b4b9a3..25558f2 100644
--- a/lib/SILOptimizer/Utils/GenericCloner.cpp
+++ b/lib/SILOptimizer/Utils/GenericCloner.cpp
@@ -96,8 +96,10 @@
         // Try to create a new debug_value from an existing debug_value_addr.
         for (Operand *ArgUse : OrigArg->getUses()) {
           if (auto *DVAI = dyn_cast<DebugValueAddrInst>(ArgUse->getUser())) {
+            getBuilder().setCurrentDebugScope(remapScope(DVAI->getDebugScope()));
             getBuilder().createDebugValue(DVAI->getLoc(), NewArg,
                                           DVAI->getVarInfo());
+            getBuilder().setCurrentDebugScope(nullptr);
             break;
           }
         }