[clang] [llvm] [HLSL][Clang] Start emitting @llvm.structured.alloca (PR #190157)

Steven Perron via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 14 10:16:20 PDT 2026


================
@@ -107,7 +107,12 @@ RawAddress
 CodeGenFunction::CreateTempAllocaWithoutCast(llvm::Type *Ty, CharUnits Align,
                                              const Twine &Name,
                                              llvm::Value *ArraySize) {
-  auto Alloca = CreateTempAlloca(Ty, Name, ArraySize);
+  if (getLangOpts().EmitLogicalPointer) {
+    auto Alloca = Builder.CreateStructuredAlloca(Ty, Name);
+    return RawAddress(Alloca, Ty, Align, KnownNonNull);
+  }
----------------
s-perron wrote:

That is what I meant. There could be other variants of it. It could get optimized away, but in a bad way before reaching the backend as well.

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


More information about the cfe-commits mailing list