[clang] [HLSL] Remove support for constructors for user defined structs (PR #190089)

Sarah Spall via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 13 09:48:30 PDT 2026


================
@@ -153,10 +163,14 @@ TwoInts case5(int2 TwoVals) {
 // Case 6: Initialization from a scalarized structure of different type with
 // different element types.
 // CHECK-LABEL: define hidden void @_Z5case69TwoFloats(
-// CHECK-SAME: ptr dead_on_unwind noalias writable sret([[STRUCT_TWOINTS:%.*]]) align 1 [[AGG_RESULT:%.*]], ptr noundef byval([[STRUCT_TWOFLOATS:%.*]]) align 1 [[TF4:%.*]]) #[[ATTR0]] {
+// CHECK-SAME: ptr dead_on_unwind noalias writable sret([[STRUCT_TWOINTS:%.*]]) align 1 [[AGG_RESULT:%.*]], ptr noundef dead_on_return [[TF4:%.*]]) #[[ATTR0]] {
----------------
spall wrote:

It is no longer being passed byval, because there is no longer a copy constructor.

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


More information about the cfe-commits mailing list