[all-commits] [llvm/llvm-project] d1fd79: [TwoAddressInstruction] Handle pointer compare sun...

dantrushin via All-commits all-commits at lists.llvm.org
Tue Aug 23 02:35:19 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d1fd791e72c0e00854dcd318b4b08e7ea55acd20
      https://github.com/llvm/llvm-project/commit/d1fd791e72c0e00854dcd318b4b08e7ea55acd20
  Author: Denis Antrushin <dantrushin at gmail.com>
  Date:   2022-08-23 (Tue, 23 Aug 2022)

  Changed paths:
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/test/CodeGen/X86/statepoint-cmp-sunk-past-statepoint.ll

  Log Message:
  -----------
  [TwoAddressInstruction] Handle pointer compare sunk past statepoint.

CodeGenPrepare pass can sink pointer comparison across statepoint
to the point of use (see comment in IR/SafepointIRVerifier.cpp)
Due to specifics of statepoints, it is still legal to have tied
def and use rewritten to the same register in TwoAddress pass.
However, properly updating LiveIntervals and LiveVariables becomes
complicated. For simplicity, let's fall back to generic handling of
tied registers when we detect such case.
TODO: This fixes functional (assertion) failure. Ideally we should
try to recompute new live range/liveness in place.

Reviewed By: skatkov

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




More information about the All-commits mailing list