HomePhabricator

[AMDGPU] Run `unreachable-mbb-elimination` after isel to clean up PHIs.

Authored by hliao on Jul 25 2019, 7:50 AM.

Description

[AMDGPU] Run unreachable-mbb-elimination after isel to clean up PHIs.

Summary:

  • As LCSSA is turned on just before isel, it may create PHI of the flow, which is consumed by pseudo structurized CFG instructions. When that PHIs are eliminated in O0, COPY may be placed wrongly as the these pseudo structurized CFG instructions are considering prologue of MBB.
  • Run extra unreachable-mbb-elimination at the end of isel to clean up PHIs.

Reviewers: arsenm, rampitec

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64353

llvm-svn: 367023

Details

Committed
hliaoJul 25 2019, 7:50 AM
Differential Revision
D64353: [AMDGPU] Run '' after isel to simplify PHIs.
Parents
rG0ef3f27458f5: [clang] Fail for empty names in is*DerivedFrom matchers.
Branches
Unknown
Tags
Unknown