aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorDhruv Chawla <dhruvc@nvidia.com>2024-05-23 13:45:52 +0530
committerGitHub <noreply@github.com>2024-05-23 13:45:52 +0530
commit4c48b3cb5c681b34345e0dffe920649a5c26aaf4 (patch)
treea24368d8fda4fee3f55c91e2c0b43141dc543c47 /clang/lib/CodeGen/CodeGenModule.cpp
parent781b13538e55a42b2d02bb4d21779f15ff8a640c (diff)
downloadllvm-4c48b3cb5c681b34345e0dffe920649a5c26aaf4.zip
llvm-4c48b3cb5c681b34345e0dffe920649a5c26aaf4.tar.gz
llvm-4c48b3cb5c681b34345e0dffe920649a5c26aaf4.tar.bz2
[GISel][CombinerHelper] Push freeze through non-poison-producing operands (#90618)
This combine matches the existing fold in InstCombine, i.e. InstCombinerImpl::pushFreezeToPreventPoisonFromPropagating. It tries to push freeze through an operand if the operand has only one maybe-poison operand and all other operands are guaranteed non-poison, and if the operation itself cannot generate poison (eg. add with nsw can generate poison, even with non-poison operands). This is beneficial because it can potentially enable other optimizations to occur that would otherwise be blocked because of the freeze.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions