This gives better packing.
Details
Diff Detail
Event Timeline
LGTM apart from above minor comment.
llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | ||
---|---|---|
267 | Now since we are calling performOptimizedStructLayout(), I am not sure, if the struct member with max align is guarenteed to be at offset 0. |
Renamed MaxAlign, fixed tidy formatting warning.
llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | ||
---|---|---|
267 |
Good catch! No, it is not true anymore. I have removed the comment and renamed the variable. We still need to set FGV alignment to its first field though. |
llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | ||
---|---|---|
216 | This asserts if the type has zero size. There's a repro that hits that internally at 317624. I'm not yet sure what to do with zero size fields. |
llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | ||
---|---|---|
216 | I think we generally do not support opaque types. Anyhow there is no reasonable way to layout this. |
This asserts if the type has zero size. There's a repro that hits that internally at 317624. I'm not yet sure what to do with zero size fields.