[SelectionDAGBuilder] Fix ISD::FREEZE creation for structs with fields of different...
authorCraig Topper <craig.topper@intel.com>
Mon, 6 Apr 2020 17:22:50 +0000 (10:22 -0700)
committerCraig Topper <craig.topper@intel.com>
Mon, 6 Apr 2020 18:03:40 +0000 (11:03 -0700)
commit07ed1fb5977804e6bda9f3c915a8c2d1c3f541a9
tree4b35f09f51ab8a59a1721dddc439671889ad3b75
parent77e24936022add9e5a0b4ff3db99148c96d113af
[SelectionDAGBuilder] Fix ISD::FREEZE creation for structs with fields of different types.

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 Revision: https://reviews.llvm.org/D77093
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/test/CodeGen/X86/freeze.ll