Author: Timm Bäder
Date: 2023-01-25T17:09:33+01:00
New Revision: eee8075f57f018e047b5bc8923b0284a6f62ea3e

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

LOG: [clang][Interp][NFCI] Remove an unnecessary DupPtr op

When initializing a primitive array, we don't need to dup the base
pointer for every element.

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/clang/lib/AST/Interp/ByteCodeExprGen.cpp 
b/clang/lib/AST/Interp/ByteCodeExprGen.cpp
index 7777392052f2..a2f0a77142ad 100644
--- a/clang/lib/AST/Interp/ByteCodeExprGen.cpp
+++ b/clang/lib/AST/Interp/ByteCodeExprGen.cpp
@@ -1022,8 +1022,6 @@ bool 
ByteCodeExprGen<Emitter>::visitArrayInitializer(const Expr *Initializer) {
     for (const Expr *Init : InitList->inits()) {
       if (std::optional<PrimType> T = classify(Init->getType())) {
         // Visit the primitive element like normal.
-        if (!this->emitDupPtr(Init))
-          return false;
         if (!this->visit(Init))
           return false;
         if (!this->emitInitElem(*T, ElementIndex, Init))
@@ -1042,9 +1040,9 @@ bool 
ByteCodeExprGen<Emitter>::visitArrayInitializer(const Expr *Initializer) {
 
         if (!visitInitializer(Init))
           return false;
-      }
         if (!this->emitPopPtr(Init))
           return false;
+      }
 
       ++ElementIndex;
     }


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

Reply via email to