[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