[all-commits] [llvm/llvm-project] 85322e: [TwoAddressInstructionPass] Special processing of ...
dantrushin via All-commits
all-commits at lists.llvm.org
Mon May 30 09:08:01 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 85322e82be5014fb0abddb3a36df928d16760fba
https://github.com/llvm/llvm-project/commit/85322e82be5014fb0abddb3a36df928d16760fba
Author: Denis Antrushin <dantrushin at azul.com>
Date: 2022-05-30 (Mon, 30 May 2022)
Changed paths:
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
A llvm/test/CodeGen/X86/statepoint-vreg-twoaddr.mir
M llvm/test/CodeGen/X86/statepoint-vreg-unlimited-tied-opnds.ll
Log Message:
-----------
[TwoAddressInstructionPass] Special processing of STATEPOINT instruction.
STATEPOINT is a special pseudo instruction which represent Moving GC semantic to LLVM.
Every tied def/use VReg pair in STATEPOINT represent same physical register which can
'magically' change during call wrapped by statepoint.
(By construction, tied use operand is not live across STATEPOINT).
This means that when converting into two-address form, there is not need to insert COPY
instruction before stateppoint, what TwoAddressInstruction pass does for 'regular'
instructions.
Reviewed By: MatzeB
Differential Revision: https://reviews.llvm.org/D124631
More information about the All-commits
mailing list