aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LowerInvoke.cpp
diff options
context:
space:
mode:
authorKai Luo <lkail@cn.ibm.com>2020-12-29 12:11:55 +0000
committerKai Luo <lkail@cn.ibm.com>2020-12-30 02:00:47 +0000
commitf904d50c29f23510cdbae0579085ae7ffebc1f63 (patch)
treecb5fb8df587766e7e6472fce5c37d40ac5b77fae /llvm/lib/Transforms/Utils/LowerInvoke.cpp
parent5efc71e119d4eba235209d262e7d171361a0b9be (diff)
downloadllvm-f904d50c29f23510cdbae0579085ae7ffebc1f63.zip
llvm-f904d50c29f23510cdbae0579085ae7ffebc1f63.tar.gz
llvm-f904d50c29f23510cdbae0579085ae7ffebc1f63.tar.bz2
[PowerPC] Remaining KnownBits should be constant when performing non-sign comparison
In `PPCTargetLowering::DAGCombineTruncBoolExt`, when checking if it's correct to perform the transformation for non-sign comparison, as the comment says ``` // This is neither a signed nor an unsigned comparison, just make sure // that the high bits are equal. ``` Origin check ``` if (Op1Known.Zero != Op2Known.Zero || Op1Known.One != Op2Known.One) return SDValue(); ``` is not strong enough. For example, ``` Op1Known = 111x000x; Op2Known = 111x000x; ``` Bit 4, besides bit 0, is still unknown and affects the final result. This patch fixes https://bugs.llvm.org/show_bug.cgi?id=48388. Reviewed By: nemanjai, #powerpc Differential Revision: https://reviews.llvm.org/D93092
Diffstat (limited to 'llvm/lib/Transforms/Utils/LowerInvoke.cpp')
0 files changed, 0 insertions, 0 deletions