[PATCH] D77795: [GlobalISel] translate freeze to COPY

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 9 09:13:53 PDT 2020


arsenm added a comment.

In D77795#1972120 <https://reviews.llvm.org/D77795#1972120>, @aqjune wrote:

> The corresponding part in SelectionDAGISel looks like this:
>
>   void SelectionDAGISel::Select_FREEZE(SDNode *N) {
>     // TODO: We don't have FREEZE pseudo-instruction in MachineInstr-level now.
>     // If FREEZE instruction is added later, the code below must be changed as
>     // well.
>     CurDAG->SelectNodeTo(N, TargetOpcode::COPY, N->getValueType(0),
>                          N->getOperand(0));
>   }
>


This isn't equivalent. This is the selection of the intermediate ISD::FREEZE, not directly emitting a copy from the IR. The equivalent is here: https://github.com/llvm/llvm-project/blob/015dee1ac8988ed5184ef649c72ea0692f2633b3/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#L10549


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77795/new/

https://reviews.llvm.org/D77795





More information about the llvm-commits mailing list