[all-commits] [llvm/llvm-project] 7caa9c: [AArch64][GlobalISel] Avoid creating redundant ubf...

Jessica Paquette via All-commits all-commits at lists.llvm.org
Tue Jun 16 09:51:19 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7caa9caa80fe508a618095fea6da2c680651fb3a
      https://github.com/llvm/llvm-project/commit/7caa9caa80fe508a618095fea6da2c680651fb3a
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2020-06-16 (Tue, 16 Jun 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Avoid creating redundant ubfx when selecting G_ZEXT

When selecting 32 b -> 64 b G_ZEXTs, we don't have to always emit the extend.

If the instruction feeding into the G_ZEXT implicitly zero extends the high
half of the register, we can just emit a SUBREG_TO_REG instead.

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




More information about the All-commits mailing list