[all-commits] [llvm/llvm-project] ab280c: [ARM] Ensure undef is propagated to CBZ/CBNZ flags

David Green via All-commits all-commits at lists.llvm.org
Wed Mar 3 00:03:29 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ab280cbaa3daef375a6056c385986f8f38932e2c
      https://github.com/llvm/llvm-project/commit/ab280cbaa3daef375a6056c385986f8f38932e2c
  Author: David Green <david.green at arm.com>
  Date:   2021-03-03 (Wed, 03 Mar 2021)

  Changed paths:
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec-cbnz.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/no-dec.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/out-of-range-cbz.mir
    M llvm/test/CodeGen/Thumb2/constant-islands-cbz.mir
    A llvm/test/CodeGen/Thumb2/constant-islands-cbzundef.mir

  Log Message:
  -----------
  [ARM] Ensure undef is propagated to CBZ/CBNZ flags

In some rare circumstances we can be using an undef register for a
compare. When folded into a CBZ/CBNZ the undef flags are lost, leading
to machine verifier problems. This propagates the existing flags to the
new instruction.




More information about the All-commits mailing list