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