[all-commits] [llvm/llvm-project] e1a327: [AArch64] Teach analyzeBranch to remove branch equ...

Philip Reames via All-commits all-commits at lists.llvm.org
Tue Sep 22 14:38:46 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e1a3271ebb8756150fb78824b65fe0a752f6ec3d
      https://github.com/llvm/llvm-project/commit/e1a3271ebb8756150fb78824b65fe0a752f6ec3d
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2020-09-22 (Tue, 22 Sep 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/implicit-null-check.ll

  Log Message:
  -----------
  [AArch64] Teach analyzeBranch to remove branch equivelent to fallthrough

The motivation here is that MachineBlockPlacement relies on analyzeBranch to remove branches to fallthrough blocks when the branch is not fully analyzeable. With the introduction of the FAULTING_OP psuedo for implicit null checking (see D87861), this case becomes important. Note that it's hard to otherwise exercise this path as BranchFolding handle's any fully analyzeable branch sequence without using this interface.

p.s. For anyone who saw my comment in the original review, what I thought was an issue in BranchFolding originally turned out to simply be a bug in my patch. (Now fixed.)

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




More information about the All-commits mailing list