diff options
| author | Daniel Sanders <daniel.sanders@imgtec.com> | 2013-11-21 16:11:31 +0000 |
|---|---|---|
| committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2013-11-21 16:11:31 +0000 |
| commit | c8c50fb41fb030b3a643fce4995d7e6434f5af12 (patch) | |
| tree | a8de329b618b88f2a667c95c841e1e378bbce872 /clang/lib/Frontend/ChainedIncludesSource.cpp | |
| parent | 534140425816613454de75728d50715ec5ec034b (diff) | |
| download | bcm5719-llvm-c8c50fb41fb030b3a643fce4995d7e6434f5af12.tar.gz bcm5719-llvm-c8c50fb41fb030b3a643fce4995d7e6434f5af12.zip | |
[mips][msa] Fix a corner case in performORCombine() when combining nodes into VSELECT.
Mask == ~InvMask asserts if the width of Mask and InvMask differ.
The combine isn't valid (with two exceptions, see below) if the widths differ
so test for this before testing Mask == ~InvMask.
In the specific cases of Mask=~0 and InvMask=0, as well as Mask=0 and
InvMask=~0, the combine is still valid. However, there are more appropriate
combines that could be used in these cases such as folding x & 0 to 0, or
x & ~0 to x.
llvm-svn: 195364
Diffstat (limited to 'clang/lib/Frontend/ChainedIncludesSource.cpp')
0 files changed, 0 insertions, 0 deletions

