diff options
author | luxufan <luxufan@iscas.ac.cn> | 2023-05-19 13:35:55 +0800 |
---|---|---|
committer | luxufan <luxufan@iscas.ac.cn> | 2023-05-19 14:50:32 +0800 |
commit | 754f3ae65518331b7175d7a9b4a124523ebe6eac (patch) | |
tree | 1e57143b3ee721968c9396cf5321ca1933e96ab9 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | deccb2df236bbe9cc5663b46fba9e1b6a94af68f (diff) | |
download | llvm-754f3ae65518331b7175d7a9b4a124523ebe6eac.zip llvm-754f3ae65518331b7175d7a9b4a124523ebe6eac.tar.gz llvm-754f3ae65518331b7175d7a9b4a124523ebe6eac.tar.bz2 |
[ValueTracking][InstCombine] Add a new API to allow to ignore poison generating flags or metadatas when implying poison
This patch add a new API `impliesPoisonIgnoreFlagsOrMetadatas` which is
the same as `impliesPoison` but ignoring poison generating flags or
metadatas in the process of implying poison and recording these ignored
instructions.
In InstCombineSelect, replacing `impliesPoison` with
`impliesPoisonIgnoreFlagsOrMetadatas` to allow more patterns like
`select i1 %a, i1 %b, i1 false` to be optimized to and/or instructions
by droping the poison generating flags or metadatas.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D149404
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions