[all-commits] [llvm/llvm-project] 5157f9: [AMDGPU] Enable divergence-driven XNOR selection
alex-t via All-commits
all-commits at lists.llvm.org
Wed Jan 26 04:30:42 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5157f984ae2c5e6fe9a8bd3a5dae99d5a96a276d
https://github.com/llvm/llvm-project/commit/5157f984ae2c5e6fe9a8bd3a5dae99d5a96a276d
Author: alex-t <alexander.timofeev at amd.com>
Date: 2022-01-26 (Wed, 26 Jan 2022)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
A llvm/test/CodeGen/AMDGPU/divergence-driven-xnor.ll
M llvm/test/CodeGen/AMDGPU/fused-bitlogic.ll
M llvm/test/CodeGen/AMDGPU/permute.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/xnor.ll
M llvm/test/CodeGen/AMDGPU/xor3.ll
Log Message:
-----------
[AMDGPU] Enable divergence-driven XNOR selection
Currently not (xor_one_use) pattern is always selected to S_XNOR irrelative od the node divergence.
This relies on further custom selection pass which converts to VALU if necessary and replaces with V_NOT_B32 ( V_XOR_B32)
on those targets which have no V_XNOR.
Current change enables the patterns which explicitly select the not (xor_one_use) to appropriate form.
We assume that xor (not) is already turned into the not (xor) by the combiner.
Reviewed By: rampitec
Differential Revision: https://reviews.llvm.org/D116270
More information about the All-commits
mailing list