summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNadav Rotem <nadav.rotem@intel.com>2011-06-12 14:40:30 +0000
committerNadav Rotem <nadav.rotem@intel.com>2011-06-12 14:40:30 +0000
commit65255b98ad5b35b14df8aebcda38e9d5cc646886 (patch)
tree93fd85e39baae05ef4c066b6e9ef2051aaec4ed6 /include
parentb95fd2d5fd4818a601dd1df05f38863e3ca5c920 (diff)
downloadllvm-65255b98ad5b35b14df8aebcda38e9d5cc646886.tar.gz
llvm-65255b98ad5b35b14df8aebcda38e9d5cc646886.tar.bz2
llvm-65255b98ad5b35b14df8aebcda38e9d5cc646886.tar.xz
Bugfix: When looking for a legal vector type, stop looking when a non-simple
element type is found. This fix addresses some of the tests in Duncan's testcase (forthcoming). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132891 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Target/TargetLowering.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index 3e36fb7bb5..093e79b1c1 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -1853,6 +1853,7 @@ private:
// If there is no simple vector type with this many elements then there
// cannot be a larger legal vector type. Note that this assumes that
// there are no skipped intermediate vector types in the simple types.
+ if (!EltVT.isSimple()) break;
MVT LargerVector = MVT::getVectorVT(EltVT.getSimpleVT(), NumElts);
if (LargerVector == MVT()) break;