[clang] [Clang][HLSL] Start emitting structured GEP instruction (PR #177332)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 28 11:50:16 PST 2026


Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/177332 at github.com>


================
@@ -4498,6 +4498,9 @@ Address CodeGenFunction::EmitArrayToPointerDecay(const Expr *E,
   if (!E->getType()->isVariableArrayType()) {
     assert(isa<llvm::ArrayType>(Addr.getElementType()) &&
            "Expected pointer to array");
+
+    if (getLangOpts().HLSL && getLangOpts().EmitStructuredGEP)
+      return Addr;
----------------
efriedma-quic wrote:

If there isn't actually any decay, why are we calling EmitArrayToPointerDecay in the first place?

If there actually is some reason to do HLSL-specific things here, should we have a check for LangOpts.HLSL?

https://github.com/llvm/llvm-project/pull/177332


More information about the cfe-commits mailing list