================
@@ -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);
+  }
----------------
Keenuts wrote:

An example is the Exception handling is using allocas. We don't use exception 
in HLSL, but allowing structured allocas to end up in the exception handling 
code with this flag is out of scope (don't know enough about this part to make 
a call)
Those then also end up in a list of escaped locals, still in the exception 
handling bits.
Second part is related to RAII, which tracks Allocas.
I'm not saying we shouldn't, but I'm saying it may not be just a mater of 
sinking the call slightly further, hence why I want to deccorelate this. 

https://github.com/llvm/llvm-project/pull/190157
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to