The previous code used the type of the first field for the VT
passed to getNode for every field.
I've based the implementation here off what is done in visitSelect
as it removes the need to special case aggregates.
Differential D77093
[SelectionDAGBuilder] Fix ISD::FREEZE creation for structs with fields of different types. craig.topper on Mar 30 2020, 2:22 PM. Authored by
Details The previous code used the type of the first field for the VT I've based the implementation here off what is done in visitSelect
Diff Detail
Event TimelineComment Actions Looks good to me, but maybe someone else who knows SelDag well should review this as well..?
Comment Actions Oh I meant just anyone other than me, including people who were already added as reviewers. :) |
Realized that the original code had a problem with a nested struct type.
It would be great if there is a test for freeze with nested struct type.