Lines Matching refs:Ty
49 static void executeFNegInst(GenericValue &Dest, GenericValue Src, Type *Ty) { in executeFNegInst() argument
50 switch (Ty->getTypeID()) { in executeFNegInst()
64 Type *Ty = I.getOperand(0)->getType(); in visitUnaryOperator() local
69 if (Ty->isVectorTy()) { in visitUnaryOperator()
77 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) { in visitUnaryOperator()
80 } else if (cast<VectorType>(Ty)->getElementType()->isDoubleTy()) { in visitUnaryOperator()
93 case Instruction::FNeg: executeFNegInst(R, Src, Ty); break; in visitUnaryOperator()
109 GenericValue Src2, Type *Ty) { in executeFAddInst() argument
110 switch (Ty->getTypeID()) { in executeFAddInst()
114 dbgs() << "Unhandled type for FAdd instruction: " << *Ty << "\n"; in executeFAddInst()
120 GenericValue Src2, Type *Ty) { in executeFSubInst() argument
121 switch (Ty->getTypeID()) { in executeFSubInst()
125 dbgs() << "Unhandled type for FSub instruction: " << *Ty << "\n"; in executeFSubInst()
131 GenericValue Src2, Type *Ty) { in executeFMulInst() argument
132 switch (Ty->getTypeID()) { in executeFMulInst()
136 dbgs() << "Unhandled type for FMul instruction: " << *Ty << "\n"; in executeFMulInst()
142 GenericValue Src2, Type *Ty) { in executeFDivInst() argument
143 switch (Ty->getTypeID()) { in executeFDivInst()
147 dbgs() << "Unhandled type for FDiv instruction: " << *Ty << "\n"; in executeFDivInst()
153 GenericValue Src2, Type *Ty) { in executeFRemInst() argument
154 switch (Ty->getTypeID()) { in executeFRemInst()
162 dbgs() << "Unhandled type for Rem instruction: " << *Ty << "\n"; in executeFRemInst()
193 Type *Ty) { in executeICMP_EQ() argument
195 switch (Ty->getTypeID()) { in executeICMP_EQ()
196 IMPLEMENT_INTEGER_ICMP(eq,Ty); in executeICMP_EQ()
197 IMPLEMENT_VECTOR_INTEGER_ICMP(eq,Ty); in executeICMP_EQ()
200 dbgs() << "Unhandled type for ICMP_EQ predicate: " << *Ty << "\n"; in executeICMP_EQ()
207 Type *Ty) { in executeICMP_NE() argument
209 switch (Ty->getTypeID()) { in executeICMP_NE()
210 IMPLEMENT_INTEGER_ICMP(ne,Ty); in executeICMP_NE()
211 IMPLEMENT_VECTOR_INTEGER_ICMP(ne,Ty); in executeICMP_NE()
214 dbgs() << "Unhandled type for ICMP_NE predicate: " << *Ty << "\n"; in executeICMP_NE()
221 Type *Ty) { in executeICMP_ULT() argument
223 switch (Ty->getTypeID()) { in executeICMP_ULT()
224 IMPLEMENT_INTEGER_ICMP(ult,Ty); in executeICMP_ULT()
225 IMPLEMENT_VECTOR_INTEGER_ICMP(ult,Ty); in executeICMP_ULT()
228 dbgs() << "Unhandled type for ICMP_ULT predicate: " << *Ty << "\n"; in executeICMP_ULT()
235 Type *Ty) { in executeICMP_SLT() argument
237 switch (Ty->getTypeID()) { in executeICMP_SLT()
238 IMPLEMENT_INTEGER_ICMP(slt,Ty); in executeICMP_SLT()
239 IMPLEMENT_VECTOR_INTEGER_ICMP(slt,Ty); in executeICMP_SLT()
242 dbgs() << "Unhandled type for ICMP_SLT predicate: " << *Ty << "\n"; in executeICMP_SLT()
249 Type *Ty) { in executeICMP_UGT() argument
251 switch (Ty->getTypeID()) { in executeICMP_UGT()
252 IMPLEMENT_INTEGER_ICMP(ugt,Ty); in executeICMP_UGT()
253 IMPLEMENT_VECTOR_INTEGER_ICMP(ugt,Ty); in executeICMP_UGT()
256 dbgs() << "Unhandled type for ICMP_UGT predicate: " << *Ty << "\n"; in executeICMP_UGT()
263 Type *Ty) { in executeICMP_SGT() argument
265 switch (Ty->getTypeID()) { in executeICMP_SGT()
266 IMPLEMENT_INTEGER_ICMP(sgt,Ty); in executeICMP_SGT()
267 IMPLEMENT_VECTOR_INTEGER_ICMP(sgt,Ty); in executeICMP_SGT()
270 dbgs() << "Unhandled type for ICMP_SGT predicate: " << *Ty << "\n"; in executeICMP_SGT()
277 Type *Ty) { in executeICMP_ULE() argument
279 switch (Ty->getTypeID()) { in executeICMP_ULE()
280 IMPLEMENT_INTEGER_ICMP(ule,Ty); in executeICMP_ULE()
281 IMPLEMENT_VECTOR_INTEGER_ICMP(ule,Ty); in executeICMP_ULE()
284 dbgs() << "Unhandled type for ICMP_ULE predicate: " << *Ty << "\n"; in executeICMP_ULE()
291 Type *Ty) { in executeICMP_SLE() argument
293 switch (Ty->getTypeID()) { in executeICMP_SLE()
294 IMPLEMENT_INTEGER_ICMP(sle,Ty); in executeICMP_SLE()
295 IMPLEMENT_VECTOR_INTEGER_ICMP(sle,Ty); in executeICMP_SLE()
298 dbgs() << "Unhandled type for ICMP_SLE predicate: " << *Ty << "\n"; in executeICMP_SLE()
305 Type *Ty) { in executeICMP_UGE() argument
307 switch (Ty->getTypeID()) { in executeICMP_UGE()
308 IMPLEMENT_INTEGER_ICMP(uge,Ty); in executeICMP_UGE()
309 IMPLEMENT_VECTOR_INTEGER_ICMP(uge,Ty); in executeICMP_UGE()
312 dbgs() << "Unhandled type for ICMP_UGE predicate: " << *Ty << "\n"; in executeICMP_UGE()
319 Type *Ty) { in executeICMP_SGE() argument
321 switch (Ty->getTypeID()) { in executeICMP_SGE()
322 IMPLEMENT_INTEGER_ICMP(sge,Ty); in executeICMP_SGE()
323 IMPLEMENT_VECTOR_INTEGER_ICMP(sge,Ty); in executeICMP_SGE()
326 dbgs() << "Unhandled type for ICMP_SGE predicate: " << *Ty << "\n"; in executeICMP_SGE()
334 Type *Ty = I.getOperand(0)->getType(); in visitICmpInst() local
340 case ICmpInst::ICMP_EQ: R = executeICMP_EQ(Src1, Src2, Ty); break; in visitICmpInst()
341 case ICmpInst::ICMP_NE: R = executeICMP_NE(Src1, Src2, Ty); break; in visitICmpInst()
342 case ICmpInst::ICMP_ULT: R = executeICMP_ULT(Src1, Src2, Ty); break; in visitICmpInst()
343 case ICmpInst::ICMP_SLT: R = executeICMP_SLT(Src1, Src2, Ty); break; in visitICmpInst()
344 case ICmpInst::ICMP_UGT: R = executeICMP_UGT(Src1, Src2, Ty); break; in visitICmpInst()
345 case ICmpInst::ICMP_SGT: R = executeICMP_SGT(Src1, Src2, Ty); break; in visitICmpInst()
346 case ICmpInst::ICMP_ULE: R = executeICMP_ULE(Src1, Src2, Ty); break; in visitICmpInst()
347 case ICmpInst::ICMP_SLE: R = executeICMP_SLE(Src1, Src2, Ty); break; in visitICmpInst()
348 case ICmpInst::ICMP_UGE: R = executeICMP_UGE(Src1, Src2, Ty); break; in visitICmpInst()
349 case ICmpInst::ICMP_SGE: R = executeICMP_SGE(Src1, Src2, Ty); break; in visitICmpInst()
374 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) { \
381 Type *Ty) { in executeFCMP_OEQ() argument
383 switch (Ty->getTypeID()) { in executeFCMP_OEQ()
388 dbgs() << "Unhandled type for FCmp EQ instruction: " << *Ty << "\n"; in executeFCMP_OEQ()
431 Type *Ty) in executeFCMP_ONE() argument
435 IMPLEMENT_SCALAR_NANS(Ty, Src1, Src2) in executeFCMP_ONE()
437 MASK_VECTOR_NANS(Ty, Src1, Src2, false) in executeFCMP_ONE()
439 switch (Ty->getTypeID()) { in executeFCMP_ONE()
444 dbgs() << "Unhandled type for FCmp NE instruction: " << *Ty << "\n"; in executeFCMP_ONE()
448 if (Ty->isVectorTy()) in executeFCMP_ONE()
457 Type *Ty) { in executeFCMP_OLE() argument
459 switch (Ty->getTypeID()) { in executeFCMP_OLE()
464 dbgs() << "Unhandled type for FCmp LE instruction: " << *Ty << "\n"; in executeFCMP_OLE()
471 Type *Ty) { in executeFCMP_OGE() argument
473 switch (Ty->getTypeID()) { in executeFCMP_OGE()
478 dbgs() << "Unhandled type for FCmp GE instruction: " << *Ty << "\n"; in executeFCMP_OGE()
485 Type *Ty) { in executeFCMP_OLT() argument
487 switch (Ty->getTypeID()) { in executeFCMP_OLT()
492 dbgs() << "Unhandled type for FCmp LT instruction: " << *Ty << "\n"; in executeFCMP_OLT()
499 Type *Ty) { in executeFCMP_OGT() argument
501 switch (Ty->getTypeID()) { in executeFCMP_OGT()
506 dbgs() << "Unhandled type for FCmp GT instruction: " << *Ty << "\n"; in executeFCMP_OGT()
526 Dest = FUNC(Src1, Src2, Ty); \
534 Type *Ty) { in executeFCMP_UEQ() argument
536 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_UEQ()
537 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_UEQ()
538 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OEQ) in executeFCMP_UEQ()
539 return executeFCMP_OEQ(Src1, Src2, Ty); in executeFCMP_UEQ()
544 Type *Ty) { in executeFCMP_UNE() argument
546 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_UNE()
547 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_UNE()
548 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_ONE) in executeFCMP_UNE()
549 return executeFCMP_ONE(Src1, Src2, Ty); in executeFCMP_UNE()
553 Type *Ty) { in executeFCMP_ULE() argument
555 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_ULE()
556 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_ULE()
557 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OLE) in executeFCMP_ULE()
558 return executeFCMP_OLE(Src1, Src2, Ty); in executeFCMP_ULE()
562 Type *Ty) { in executeFCMP_UGE() argument
564 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_UGE()
565 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_UGE()
566 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OGE) in executeFCMP_UGE()
567 return executeFCMP_OGE(Src1, Src2, Ty); in executeFCMP_UGE()
571 Type *Ty) { in executeFCMP_ULT() argument
573 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_ULT()
574 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_ULT()
575 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OLT) in executeFCMP_ULT()
576 return executeFCMP_OLT(Src1, Src2, Ty); in executeFCMP_ULT()
580 Type *Ty) { in executeFCMP_UGT() argument
582 IMPLEMENT_UNORDERED(Ty, Src1, Src2) in executeFCMP_UGT()
583 MASK_VECTOR_NANS(Ty, Src1, Src2, true) in executeFCMP_UGT()
584 IMPLEMENT_VECTOR_UNORDERED(Ty, Src1, Src2, executeFCMP_OGT) in executeFCMP_UGT()
585 return executeFCMP_OGT(Src1, Src2, Ty); in executeFCMP_UGT()
589 Type *Ty) { in executeFCMP_ORD() argument
591 if(Ty->isVectorTy()) { in executeFCMP_ORD()
594 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) { in executeFCMP_ORD()
609 } else if (Ty->isFloatTy()) in executeFCMP_ORD()
620 Type *Ty) { in executeFCMP_UNO() argument
622 if(Ty->isVectorTy()) { in executeFCMP_UNO()
625 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) { in executeFCMP_UNO()
640 } else if (Ty->isFloatTy()) in executeFCMP_UNO()
651 Type *Ty, const bool val) { in executeFCMP_BOOL() argument
653 if(Ty->isVectorTy()) { in executeFCMP_BOOL()
667 Type *Ty = I.getOperand(0)->getType(); in visitFCmpInst() local
677 case FCmpInst::FCMP_FALSE: R = executeFCMP_BOOL(Src1, Src2, Ty, false); in visitFCmpInst()
679 case FCmpInst::FCMP_TRUE: R = executeFCMP_BOOL(Src1, Src2, Ty, true); in visitFCmpInst()
681 case FCmpInst::FCMP_ORD: R = executeFCMP_ORD(Src1, Src2, Ty); break; in visitFCmpInst()
682 case FCmpInst::FCMP_UNO: R = executeFCMP_UNO(Src1, Src2, Ty); break; in visitFCmpInst()
683 case FCmpInst::FCMP_UEQ: R = executeFCMP_UEQ(Src1, Src2, Ty); break; in visitFCmpInst()
684 case FCmpInst::FCMP_OEQ: R = executeFCMP_OEQ(Src1, Src2, Ty); break; in visitFCmpInst()
685 case FCmpInst::FCMP_UNE: R = executeFCMP_UNE(Src1, Src2, Ty); break; in visitFCmpInst()
686 case FCmpInst::FCMP_ONE: R = executeFCMP_ONE(Src1, Src2, Ty); break; in visitFCmpInst()
687 case FCmpInst::FCMP_ULT: R = executeFCMP_ULT(Src1, Src2, Ty); break; in visitFCmpInst()
688 case FCmpInst::FCMP_OLT: R = executeFCMP_OLT(Src1, Src2, Ty); break; in visitFCmpInst()
689 case FCmpInst::FCMP_UGT: R = executeFCMP_UGT(Src1, Src2, Ty); break; in visitFCmpInst()
690 case FCmpInst::FCMP_OGT: R = executeFCMP_OGT(Src1, Src2, Ty); break; in visitFCmpInst()
691 case FCmpInst::FCMP_ULE: R = executeFCMP_ULE(Src1, Src2, Ty); break; in visitFCmpInst()
692 case FCmpInst::FCMP_OLE: R = executeFCMP_OLE(Src1, Src2, Ty); break; in visitFCmpInst()
693 case FCmpInst::FCMP_UGE: R = executeFCMP_UGE(Src1, Src2, Ty); break; in visitFCmpInst()
694 case FCmpInst::FCMP_OGE: R = executeFCMP_OGE(Src1, Src2, Ty); break; in visitFCmpInst()
701 GenericValue Src2, Type *Ty) { in executeCmpInst() argument
704 case ICmpInst::ICMP_EQ: return executeICMP_EQ(Src1, Src2, Ty); in executeCmpInst()
705 case ICmpInst::ICMP_NE: return executeICMP_NE(Src1, Src2, Ty); in executeCmpInst()
706 case ICmpInst::ICMP_UGT: return executeICMP_UGT(Src1, Src2, Ty); in executeCmpInst()
707 case ICmpInst::ICMP_SGT: return executeICMP_SGT(Src1, Src2, Ty); in executeCmpInst()
708 case ICmpInst::ICMP_ULT: return executeICMP_ULT(Src1, Src2, Ty); in executeCmpInst()
709 case ICmpInst::ICMP_SLT: return executeICMP_SLT(Src1, Src2, Ty); in executeCmpInst()
710 case ICmpInst::ICMP_UGE: return executeICMP_UGE(Src1, Src2, Ty); in executeCmpInst()
711 case ICmpInst::ICMP_SGE: return executeICMP_SGE(Src1, Src2, Ty); in executeCmpInst()
712 case ICmpInst::ICMP_ULE: return executeICMP_ULE(Src1, Src2, Ty); in executeCmpInst()
713 case ICmpInst::ICMP_SLE: return executeICMP_SLE(Src1, Src2, Ty); in executeCmpInst()
714 case FCmpInst::FCMP_ORD: return executeFCMP_ORD(Src1, Src2, Ty); in executeCmpInst()
715 case FCmpInst::FCMP_UNO: return executeFCMP_UNO(Src1, Src2, Ty); in executeCmpInst()
716 case FCmpInst::FCMP_OEQ: return executeFCMP_OEQ(Src1, Src2, Ty); in executeCmpInst()
717 case FCmpInst::FCMP_UEQ: return executeFCMP_UEQ(Src1, Src2, Ty); in executeCmpInst()
718 case FCmpInst::FCMP_ONE: return executeFCMP_ONE(Src1, Src2, Ty); in executeCmpInst()
719 case FCmpInst::FCMP_UNE: return executeFCMP_UNE(Src1, Src2, Ty); in executeCmpInst()
720 case FCmpInst::FCMP_OLT: return executeFCMP_OLT(Src1, Src2, Ty); in executeCmpInst()
721 case FCmpInst::FCMP_ULT: return executeFCMP_ULT(Src1, Src2, Ty); in executeCmpInst()
722 case FCmpInst::FCMP_OGT: return executeFCMP_OGT(Src1, Src2, Ty); in executeCmpInst()
723 case FCmpInst::FCMP_UGT: return executeFCMP_UGT(Src1, Src2, Ty); in executeCmpInst()
724 case FCmpInst::FCMP_OLE: return executeFCMP_OLE(Src1, Src2, Ty); in executeCmpInst()
725 case FCmpInst::FCMP_ULE: return executeFCMP_ULE(Src1, Src2, Ty); in executeCmpInst()
726 case FCmpInst::FCMP_OGE: return executeFCMP_OGE(Src1, Src2, Ty); in executeCmpInst()
727 case FCmpInst::FCMP_UGE: return executeFCMP_UGE(Src1, Src2, Ty); in executeCmpInst()
728 case FCmpInst::FCMP_FALSE: return executeFCMP_BOOL(Src1, Src2, Ty, false); in executeCmpInst()
729 case FCmpInst::FCMP_TRUE: return executeFCMP_BOOL(Src1, Src2, Ty, true); in executeCmpInst()
738 Type *Ty = I.getOperand(0)->getType(); in visitBinaryOperator() local
744 if (Ty->isVectorTy()) { in visitBinaryOperator()
771 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) \ in visitBinaryOperator()
774 if (cast<VectorType>(Ty)->getElementType()->isDoubleTy()) \ in visitBinaryOperator()
777 dbgs() << "Unhandled type for OP instruction: " << *Ty << "\n"; \ in visitBinaryOperator()
803 if (cast<VectorType>(Ty)->getElementType()->isFloatTy()) in visitBinaryOperator()
808 if (cast<VectorType>(Ty)->getElementType()->isDoubleTy()) in visitBinaryOperator()
813 dbgs() << "Unhandled type for Rem instruction: " << *Ty << "\n"; in visitBinaryOperator()
828 case Instruction::FAdd: executeFAddInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
829 case Instruction::FSub: executeFSubInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
830 case Instruction::FMul: executeFMulInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
831 case Instruction::FDiv: executeFDivInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
832 case Instruction::FRem: executeFRemInst(R, Src1, Src2, Ty); break; in visitBinaryOperator()
846 GenericValue Src3, Type *Ty) { in executeSelectInst() argument
848 if(Ty->isVectorTy()) { in executeSelectInst()
863 Type * Ty = I.getOperand(0)->getType(); in visitSelectInst() local
867 GenericValue R = executeSelectInst(Src1, Src2, Src3, Ty); in visitSelectInst()
1020 Type *Ty = I.getAllocatedType(); // Type to be allocated in visitAllocaInst() local
1026 unsigned TypeSize = (size_t)getDataLayout().getTypeAllocSize(Ty); in visitAllocaInst()
1034 LLVM_DEBUG(dbgs() << "Allocated Type: " << *Ty << " (" << TypeSize in visitAllocaInst()
1191 Type *Ty = I.getType(); in visitShl() local
1193 if (Ty->isVectorTy()) { in visitShl()
1218 Type *Ty = I.getType(); in visitLShr() local
1220 if (Ty->isVectorTy()) { in visitLShr()
1245 Type *Ty = I.getType(); in visitAShr() local
1247 if (Ty->isVectorTy()) { in visitAShr()
1774 Type *Ty = I.getType(); in visitVAArgInst() local
1775 switch (Ty->getTypeID()) { in visitVAArgInst()
1783 dbgs() << "Unhandled dest type for vaarg instruction: " << *Ty << "\n"; in visitVAArgInst()
1800 Type *Ty = I.getType(); in visitExtractElementInst() local
1804 switch (Ty->getTypeID()) { in visitExtractElementInst()
1807 << *Ty << "\n"; in visitExtractElementInst()
1829 VectorType *Ty = cast<VectorType>(I.getType()); in visitInsertElementInst() local
1836 Type *TyContained = Ty->getElementType(); in visitInsertElementInst()
1862 VectorType *Ty = cast<VectorType>(I.getType()); in visitShuffleVectorInst() local
1872 Type *TyContained = Ty->getElementType(); in visitShuffleVectorInst()
2067 Type * Ty = CE->getOperand(0)->getType(); in getConstantExprValue() local
2072 case Instruction::FAdd: executeFAddInst(Dest, Op0, Op1, Ty); break; in getConstantExprValue()
2073 case Instruction::FSub: executeFSubInst(Dest, Op0, Op1, Ty); break; in getConstantExprValue()
2074 case Instruction::FMul: executeFMulInst(Dest, Op0, Op1, Ty); break; in getConstantExprValue()
2075 case Instruction::FDiv: executeFDivInst(Dest, Op0, Op1, Ty); break; in getConstantExprValue()
2076 case Instruction::FRem: executeFRemInst(Dest, Op0, Op1, Ty); break; in getConstantExprValue()