summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Demangle/ItaniumDemangle.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-06-04 22:26:45 +0000
committerSanjay Patel <spatel@rotateright.com>2018-06-04 22:26:45 +0000
commitdcb8d304c319bf8d6c92cde4fcbcff11aa4be238 (patch)
tree8106def33450b7a41c25e0950398dec0fa13e746 /llvm/lib/Demangle/ItaniumDemangle.cpp
parent800ac42573a3fba949c17f7336d3f38ca394acba (diff)
downloadbcm5719-llvm-dcb8d304c319bf8d6c92cde4fcbcff11aa4be238.tar.gz
bcm5719-llvm-dcb8d304c319bf8d6c92cde4fcbcff11aa4be238.zip
[InstCombine] refine UB-handling in shuffle-binop transform
As noted in rL333782, we can be both better for optimization and safer with this transform: BinOp (shuffle V1, Mask), C --> shuffle (BinOp V1, NewC), Mask The only potentially unsafe-to-speculate binops are integer div/rem. All other binops are always safe (although I don't see a way to assert that in code here). For opcodes like shifts that can produce poison, it can't matter here because we know the lanes with undef are dropped by the subsequent shuffle. Differential Revision: https://reviews.llvm.org/D47686 llvm-svn: 333962
Diffstat (limited to 'llvm/lib/Demangle/ItaniumDemangle.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud