aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2023-06-09 16:21:39 +0200
committerNikita Popov <npopov@redhat.com>2023-06-15 14:17:58 +0200
commit03de1cb715c9a106f3ea4139042a33afcd7ca6ae (patch)
tree31650fa065d2c83fca4e6e6a9195c34af59578e1 /llvm/lib/Bitcode/Reader/MetadataLoader.cpp
parente96bec9cd8e14ee2174490c0ce09cedfcd6be79e (diff)
downloadllvm-03de1cb715c9a106f3ea4139042a33afcd7ca6ae.zip
llvm-03de1cb715c9a106f3ea4139042a33afcd7ca6ae.tar.gz
llvm-03de1cb715c9a106f3ea4139042a33afcd7ca6ae.tar.bz2
[InstCombine][CGP] Move swapMayExposeCSEOpportunities() fold
InstCombine tries to swap compare operands to match sub instructions in order to expose "CSE opportunities". However, it doesn't really make sense to perform this transform in the middle-end, as we cannot actually CSE the instructions there. The backend already performs this fold in https://github.com/llvm/llvm-project/blob/18f5446a45da5a61dbfb1b7667d27fb441ac62db/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp#L4236 on the SDAG level, however this only works within a single basic block. To handle cross-BB cases, we do need to handle this in the IR layer. This patch moves the fold from InstCombine to CGP in the backend, while keeping the same (somewhat dubious) heuristic. Differential Revision: https://reviews.llvm.org/D152541
Diffstat (limited to 'llvm/lib/Bitcode/Reader/MetadataLoader.cpp')
0 files changed, 0 insertions, 0 deletions