DirectXShaderCompiler icon indicating copy to clipboard operation
DirectXShaderCompiler copied to clipboard

Assert/hang in SROA_HLSL pass related to empty base struct regression

Open simontaylor81 opened this issue 3 years ago • 2 comments

#3016 seems to have reappeared. Unknown if it is exact same issue or just similar, but symptoms and general area of code are the same, at least.

Repro is unchanged:

Compile the following with -E main -T vs_6_0:

struct EmptyStruct
{
};

struct BaseStruct
{
	EmptyStruct emptyStructMember;

	//float makeMeNotEmpty;	// Uncomment to prevent assert
};

struct ChildStruct : BaseStruct
{
	float4 m_childMember;

	float4 func() { return m_childMember; }
};

float4 main() : SV_Position
{
	ChildStruct var_1;
	EmptyStruct var_2;
	var_1.emptyStructMember = var_2;	// Comment out to prevent assert
	var_1.m_childMember = 0;
	return var_1.func();
}

simontaylor81 avatar Aug 24 '22 06:08 simontaylor81

CC @pow2clk -- new issue as requested

simontaylor81 avatar Aug 24 '22 06:08 simontaylor81

https://godbolt.org/z/7zW3febaj

pow2clk avatar Feb 14 '24 16:02 pow2clk