From 23f101f37937a1bd4a29726cab2f76e0fb038b35 Mon Sep 17 00:00:00 2001 From: patrick Date: Sun, 23 Jun 2019 21:36:31 +0000 Subject: Import LLVM 8.0.0 release including clang, lld and lldb. --- gnu/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'gnu/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp') diff --git a/gnu/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp b/gnu/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp index 39cf6d4a32a..98dca110275 100644 --- a/gnu/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp +++ b/gnu/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp @@ -1778,17 +1778,14 @@ void Interpreter::visitExtractElementInst(ExtractElementInst &I) { void Interpreter::visitInsertElementInst(InsertElementInst &I) { ExecutionContext &SF = ECStack.back(); - Type *Ty = I.getType(); - - if(!(Ty->isVectorTy()) ) - llvm_unreachable("Unhandled dest type for insertelement instruction"); + VectorType *Ty = cast(I.getType()); GenericValue Src1 = getOperandValue(I.getOperand(0), SF); GenericValue Src2 = getOperandValue(I.getOperand(1), SF); GenericValue Src3 = getOperandValue(I.getOperand(2), SF); GenericValue Dest; - Type *TyContained = Ty->getContainedType(0); + Type *TyContained = Ty->getElementType(); const unsigned indx = unsigned(Src3.IntVal.getZExtValue()); Dest.AggregateVal = Src1.AggregateVal; @@ -1814,9 +1811,7 @@ void Interpreter::visitInsertElementInst(InsertElementInst &I) { void Interpreter::visitShuffleVectorInst(ShuffleVectorInst &I){ ExecutionContext &SF = ECStack.back(); - Type *Ty = I.getType(); - if(!(Ty->isVectorTy())) - llvm_unreachable("Unhandled dest type for shufflevector instruction"); + VectorType *Ty = cast(I.getType()); GenericValue Src1 = getOperandValue(I.getOperand(0), SF); GenericValue Src2 = getOperandValue(I.getOperand(1), SF); @@ -1827,7 +1822,7 @@ void Interpreter::visitShuffleVectorInst(ShuffleVectorInst &I){ // bytecode can't contain different types for src1 and src2 for a // shufflevector instruction. - Type *TyContained = Ty->getContainedType(0); + Type *TyContained = Ty->getElementType(); unsigned src1Size = (unsigned)Src1.AggregateVal.size(); unsigned src2Size = (unsigned)Src2.AggregateVal.size(); unsigned src3Size = (unsigned)Src3.AggregateVal.size(); -- cgit v1.2.3-59-g8ed1b