[all-commits] [llvm/llvm-project] 050e1a: [AArch64] Don't rename registers with pseudo defs ...

Florian Hahn via All-commits all-commits at lists.llvm.org
Wed Jan 22 11:07:07 PST 2020


  Branch: refs/heads/release/10.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 050e1a3c2688f2daf03456cf94dd3ed79e8ebe7f
      https://github.com/llvm/llvm-project/commit/050e1a3c2688f2daf03456cf94dd3ed79e8ebe7f
  Author: Florian Hahn <florian_hahn at apple.com>
  Date:   2020-01-22 (Wed, 22 Jan 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir

  Log Message:
  -----------
  [AArch64] Don't rename registers with pseudo defs in Ld/St opt.

If the root def of for renaming is a noop-pseudo instruction like kill,
we would end up without a correct def for the renamed register, causing
miscompiles.

This patch conservatively bails out on any pseudo instruction.

This fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1037912#c70

(cherry picked from commit 300997c41a00b705ca10264c15910dd8d691ab75)




More information about the All-commits mailing list