diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2011-09-15 01:14:29 +0000 | 
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2011-09-15 01:14:29 +0000 | 
| commit | 888bea0b952007b0121552666dd2415e1f352bbe (patch) | |
| tree | fe58061dea3d8732a0a2784148ad37f05f0174bc /llvm/lib/Transforms | |
| parent | 88c1b77f7427c0dda49afac2ceba8fb81afc058c (diff) | |
| download | bcm5719-llvm-888bea0b952007b0121552666dd2415e1f352bbe.tar.gz bcm5719-llvm-888bea0b952007b0121552666dd2415e1f352bbe.zip | |
Make demanded-elt simplification for shufflevector slightly stronger.  Spotted by inspection.
llvm-svn: 139768
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp | 3 | 
1 files changed, 3 insertions, 0 deletions
| diff --git a/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp b/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp index 66f39be17b3..81929bc6230 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp @@ -962,6 +962,9 @@ Value *InstCombiner::SimplifyDemandedVectorElts(Value *V, APInt DemandedElts,        unsigned MaskVal = Shuffle->getMaskValue(i);        if (MaskVal == -1u) {          UndefElts.setBit(i); +      } else if (!DemandedElts[i]) { +        NewUndefElts = true; +        UndefElts.setBit(i);        } else if (MaskVal < LHSVWidth) {          if (UndefElts4[MaskVal]) {            NewUndefElts = true; | 

