Author: Timm Bäder
Date: 2023-07-23T10:27:51+02:00
New Revision: 0d91cb5ef9c01ab633243838e892f61f73ebc56b

URL: 
https://github.com/llvm/llvm-project/commit/0d91cb5ef9c01ab633243838e892f61f73ebc56b
DIFF: 
https://github.com/llvm/llvm-project/commit/0d91cb5ef9c01ab633243838e892f61f73ebc56b.diff

LOG: [clang][Interp][NFC] Clean up getOrCreateDummy()

Added: 
    

Modified: 
    clang/lib/AST/Interp/Program.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/AST/Interp/Program.cpp 
b/clang/lib/AST/Interp/Program.cpp
index 1ebf9e8cbb1655..c1697bb7fa6d64 100644
--- a/clang/lib/AST/Interp/Program.cpp
+++ b/clang/lib/AST/Interp/Program.cpp
@@ -139,17 +139,17 @@ std::optional<unsigned> Program::getOrCreateGlobal(const 
ValueDecl *VD,
 }
 
 std::optional<unsigned> Program::getOrCreateDummy(const ParmVarDecl *PD) {
-  auto &ASTCtx = Ctx.getASTContext();
 
+  // Dedup blocks since they are immutable and pointers cannot be compared.
+  if (auto It = DummyParams.find(PD);
+      It != DummyParams.end())
+    return It->second;
+
+  auto &ASTCtx = Ctx.getASTContext();
   // Create a pointer to an incomplete array of the specified elements.
   QualType ElemTy = PD->getType()->castAs<PointerType>()->getPointeeType();
   QualType Ty = ASTCtx.getIncompleteArrayType(ElemTy, ArrayType::Normal, 0);
 
-  // Dedup blocks since they are immutable and pointers cannot be compared.
-  auto It = DummyParams.find(PD);
-  if (It != DummyParams.end())
-    return It->second;
-
   if (auto Idx = createGlobal(PD, Ty, /*isStatic=*/true, /*isExtern=*/true)) {
     DummyParams[PD] = *Idx;
     return Idx;


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to