diff options
author | Sanjay Patel <spatel@rotateright.com> | 2018-02-18 18:05:08 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2018-02-18 18:05:08 +0000 |
commit | adf6e88c74b1af1ccf2905d28814a0a971287108 (patch) | |
tree | e2eccaece6904144ca707385c75b04c80b26d5d3 /clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.h | |
parent | 7faceaed31c9a5577aadd9412eef12eebd8dcfcb (diff) | |
download | bcm5719-llvm-adf6e88c74b1af1ccf2905d28814a0a971287108.tar.gz bcm5719-llvm-adf6e88c74b1af1ccf2905d28814a0a971287108.zip |
[PatternMatch, InstSimplify] enhance m_AllOnes() to ignore undef elements in vectors
Loosening the matcher definition reveals a subtle bug in InstSimplify (we should not
assume that because an operand constant matches that it's safe to return it as a result).
So I'm making that change here too (that diff could be independent, but I'm not sure how
to reveal it before the matcher change).
This also seems like a good reason to *not* include matchers that capture the value.
We don't want to encourage the potential misstep of propagating undef values when it's
not allowed/intended.
I didn't include the capture variant option here or in the related rL325437 (m_One),
but it already exists for other constant matchers.
llvm-svn: 325466
Diffstat (limited to 'clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.h')
0 files changed, 0 insertions, 0 deletions