[GlobalISel][AMDGPU] add legalization for G_FREEZE
authorDominik Montada <dominik.montada@hightec-rt.com>
Tue, 14 Apr 2020 09:25:05 +0000 (11:25 +0200)
committerDominik Montada <dominik.montada@hightec-rt.com>
Fri, 17 Apr 2020 14:44:46 +0000 (16:44 +0200)
commit55e3a7c6b21fb21d88896a9548b95384d2bd97dd
treec3f0acc0f4742ed52f4abbe635ecabcbabb9e876
parentc245d3e033a58582475c3d749085f47a9ab0dda1
[GlobalISel][AMDGPU] add legalization for G_FREEZE

Summary:
Copy the legalization rules from SelectionDAG:
-widenScalar using anyext
-narrowScalar using intermediate merges
-scalarize/fewerElements using unmerge
-moreElements using G_IMPLICIT_DEF and insert

Add G_FREEZE legalization actions to AMDGPULegalizerInfo.
Use the same legalization actions as G_IMPLICIT_DEF.

Depends on D77795.

Reviewers: dsanders, arsenm, aqjune, aditya_nandakumar, t.p.northover, lebedev.ri, paquette, aemerson

Reviewed By: arsenm

Subscribers: kzhuravl, yaxunl, dstuttard, tpr, t-tye, jvesely, nhaehnle, kerbowa, wdng, rovka, hiraditya, volkan, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78092
llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir [new file with mode: 0644]
llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp