diff options
| author | Craig Topper <craig.topper@gmail.com> | 2012-04-09 05:55:33 +0000 | 
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2012-04-09 05:55:33 +0000 | 
| commit | e3ad4834ae9d911e4a75a90517d0dd7da3f74758 (patch) | |
| tree | 13f4066afa66e57902b82b7a01c4fdcd8920047b /llvm/lib | |
| parent | 8a49d049e17b1e0916aa4c1b662444b4b6da3405 (diff) | |
| download | bcm5719-llvm-e3ad4834ae9d911e4a75a90517d0dd7da3f74758.tar.gz bcm5719-llvm-e3ad4834ae9d911e4a75a90517d0dd7da3f74758.zip | |
Optimize code slightly. No functionality change.
llvm-svn: 154307
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 13 | 
1 files changed, 7 insertions, 6 deletions
| diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 036f0392a03..a910e34579e 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -7723,12 +7723,13 @@ SDValue DAGCombiner::visitVECTOR_SHUFFLE(SDNode *N) {      SmallVector<int, 8> NewMask;      for (unsigned i = 0; i != NumElts; ++i) {        int Idx = SVN->getMaskElt(i); -      if (Idx < 0) -        NewMask.push_back(Idx); -      else if (Idx < (int)NumElts) -        NewMask.push_back(Idx + NumElts); -      else -        NewMask.push_back(Idx - NumElts); +      if (Idx >= 0) { +        if (Idx < (int)NumElts) +          Idx += NumElts; +        else +          Idx -= NumElts; +      } +      NewMask.push_back(Idx);      }      return DAG.getVectorShuffle(VT, N->getDebugLoc(), N1, DAG.getUNDEF(VT),                                  &NewMask[0]); | 

