summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-09-09 02:08:49 +0000
committerDan Gohman <gohman@apple.com>2008-09-09 02:08:49 +0000
commit7164e9a7026e5d7ff064e5bf810e6a51a48cfda9 (patch)
treee563f092b2234f9bf0061bb4e68f810247f5cc60
parent1e97901388d9a5d5f7b66a07af63ee3a19f903e0 (diff)
downloadbcm5719-llvm-7164e9a7026e5d7ff064e5bf810e6a51a48cfda9.tar.gz
bcm5719-llvm-7164e9a7026e5d7ff064e5bf810e6a51a48cfda9.zip
Temporarily disable vector select in the bitcode reader. The
way it handles the type of the condition is breaking plain scalar select in the case that the value is a forward-reference. llvm-svn: 55976
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp2
-rw-r--r--llvm/test/Assembler/vector-select.ll1
2 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index eeba0e5ed81..d7f5b092353 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -1499,7 +1499,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
Value *TrueVal, *FalseVal, *Cond;
if (getValueTypePair(Record, OpNum, NextValueNo, TrueVal) ||
getValue(Record, OpNum, TrueVal->getType(), FalseVal) ||
- getValue(Record, OpNum, 0 /*skip type check*/, Cond))
+ getValue(Record, OpNum, Type::Int1Ty, Cond))
return Error("Invalid SELECT record");
// select condition can be either i1 or [N x i1]
diff --git a/llvm/test/Assembler/vector-select.ll b/llvm/test/Assembler/vector-select.ll
index 87af602aaf5..7c76a8678d4 100644
--- a/llvm/test/Assembler/vector-select.ll
+++ b/llvm/test/Assembler/vector-select.ll
@@ -1,4 +1,5 @@
; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | grep select
+; XFAIL: *
; rudimentary test of select on vectors returning vector of bool
define <4 x i32> @foo(<4 x i32> %a, <4 x i32> %b,
OpenPOWER on IntegriCloud