[all-commits] [llvm/llvm-project] d9e8b2: AMDGPU/GlobalISel: Skip DAG hack passes on selecte...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Feb 17 08:50:09 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d9e8b2cbccccfea5189277f1e5e793320cbbeb19
      https://github.com/llvm/llvm-project/commit/d9e8b2cbccccfea5189277f1e5e793320cbbeb19
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-02-17 (Mon, 17 Feb 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp
    M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp

  Log Message:
  -----------
  AMDGPU/GlobalISel: Skip DAG hack passes on selected functions

The way fallback to SelectionDAG works is somewhat surprising to
me. When the fallback path is enabled, the entire set of SelectionDAG
selector passes is added to the pass pipeline, and each one needs to
check if the function was selected. This results in the surprising
behavior of running SIFixSGPRCopies for example, but only if
-global-isel-abort=2 is used.

SIAddIMGInitPass is also added in addInstSelector, but I'm not sure
why we have this pass or if it should be added somewhere else for
GlobalISel.




More information about the All-commits mailing list