[all-commits] [llvm/llvm-project] 7356b4: [SVE] Fix invalid assert in expand_DestructiveOp.

paulwalker-arm via All-commits all-commits at lists.llvm.org
Sat Jul 4 02:23:48 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7356b4243ad9dc373c63bb4b7ac0ba4f877c47ee
      https://github.com/llvm/llvm-project/commit/7356b4243ad9dc373c63bb4b7ac0ba4f877c47ee
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2020-07-04 (Sat, 04 Jul 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    A llvm/test/CodeGen/AArch64/sve-pseudos-expand-undef.mir

  Log Message:
  -----------
  [SVE] Fix invalid assert in expand_DestructiveOp.

AArch64ExpandPseudo::expand_DestructiveOp contains an assert to
ensure the destructive operand's register is unique.  However,
this is only required when psuedo expansion emits a movprfx.

A simple example when a movprfx is not required is
  Z0 = FADD_ZPZZ_UNDEF_S P0, Z0, Z0
which expands to an unprefixed FADD_ZPmZ_S instruction.

This patch moves the assert to the places where a movprfx is emitted.

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




More information about the All-commits mailing list