diff options
author | Chris Lattner <sabre@nondot.org> | 2008-12-29 00:16:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-12-29 00:16:12 +0000 |
commit | 9ace0cdb12be5e9c213567209ace721dfeccaddf (patch) | |
tree | c378978c8d52a7271721c0f27eea84222a843737 /lib | |
parent | b76ec320dc2d612990139122c01a1945f9d0e654 (diff) | |
download | external_llvm-9ace0cdb12be5e9c213567209ace721dfeccaddf.zip external_llvm-9ace0cdb12be5e9c213567209ace721dfeccaddf.tar.gz external_llvm-9ace0cdb12be5e9c213567209ace721dfeccaddf.tar.bz2 |
select constant exprs should have the same constraints as select instructions,
notably, they should support vectors and aggregates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61462 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/VMCore/Constants.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index 5fc08dc..4e3b840 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -2111,9 +2111,7 @@ Constant *ConstantExpr::getCompare(unsigned short pred, Constant *ConstantExpr::getSelectTy(const Type *ReqTy, Constant *C, Constant *V1, Constant *V2) { - assert(C->getType() == Type::Int1Ty && "Select condition must be i1!"); - assert(V1->getType() == V2->getType() && "Select value types must match!"); - assert(V1->getType()->isFirstClassType() && "Cannot select aggregate type!"); + assert(!SelectInst::areInvalidOperands(C, V1, V2)&&"Invalid select operands"); if (ReqTy == V1->getType()) if (Constant *SC = ConstantFoldSelectInstruction(C, V1, V2)) |