Home | History | Annotate | Download | only in Interpreter

Lines Matching refs:SF

40 static void SetValue(Value *V, GenericValue Val, ExecutionContext &SF) {
41 SF.Values[V] = Val;
258 ExecutionContext &SF = ECStack.back();
260 GenericValue Src1 = getOperandValue(I.getOperand(0), SF);
261 GenericValue Src2 = getOperandValue(I.getOperand(1), SF);
280 SetValue(&I, R, SF);
446 ExecutionContext &SF = ECStack.back();
448 GenericValue Src1 = getOperandValue(I.getOperand(0), SF);
449 GenericValue Src2 = getOperandValue(I.getOperand(1), SF);
474 SetValue(&I, R, SF);
522 ExecutionContext &SF = ECStack.back();
524 GenericValue Src1 = getOperandValue(I.getOperand(0), SF);
525 GenericValue Src2 = getOperandValue(I.getOperand(1), SF);
549 SetValue(&I, R, SF);
558 ExecutionContext &SF = ECStack.back();
559 GenericValue Src1 = getOperandValue(I.getOperand(0), SF);
560 GenericValue Src2 = getOperandValue(I.getOperand(1), SF);
561 GenericValue Src3 = getOperandValue(I.getOperand(2), SF);
563 SetValue(&I, R, SF);
615 ExecutionContext &SF = ECStack.back();
622 Result = getOperandValue(I.getReturnValue(), SF);
633 ExecutionContext &SF = ECStack.back();
639 if (getOperandValue(Cond, SF).IntVal == 0) // If false cond...
642 SwitchToNewBasicBlock(Dest, SF);
646 ExecutionContext &SF = ECStack.back();
649 GenericValue CondVal = getOperandValue(Cond, SF);
654 GenericValue CaseVal = getOperandValue(i.getCaseValue(), SF);
661 SwitchToNewBasicBlock(Dest, SF);
665 ExecutionContext &SF = ECStack.back();
666 void *Dest = GVTOP(getOperandValue(I.getAddress(), SF));
667 SwitchToNewBasicBlock((BasicBlock*)Dest, SF);
681 void Interpreter::SwitchToNewBasicBlock(BasicBlock *Dest, ExecutionContext &SF){
682 BasicBlock *PrevBB = SF.CurBB; // Remember where we came from...
683 SF.CurBB = Dest; // Update CurBB to branch destination
684 SF.CurInst = SF.CurBB->begin(); // Update new instruction ptr...
686 if (!isa<PHINode>(SF.CurInst)) return; // Nothing fancy to do
691 for (; PHINode *PN = dyn_cast<PHINode>(SF.CurInst); ++SF.CurInst) {
698 ResultValues.push_back(getOperandValue(IncomingValue, SF));
702 SF.CurInst = SF.CurBB->begin();
703 for (unsigned i = 0; isa<PHINode>(SF.CurInst); ++SF.CurInst, ++i) {
704 PHINode *PN = cast<PHINode>(SF.CurInst);
705 SetValue(PN, ResultValues[i], SF);
714 ExecutionContext &SF = ECStack.back();
720 getOperandValue(I.getOperand(0), SF).IntVal.getZExtValue();
736 SetValue(&I, Result, SF);
746 ExecutionContext &SF) {
763 GenericValue IdxGV = getOperandValue(I.getOperand(), SF);
779 Result.PointerVal = ((char*)getOperandValue(Ptr, SF).PointerVal) + Total;
785 ExecutionContext &SF = ECStack.back();
787 gep_type_begin(I), gep_type_end(I), SF), SF);
791 ExecutionContext &SF = ECStack.back();
792 GenericValue SRC = getOperandValue(I.getPointerOperand(), SF);
796 SetValue(&I, Result, SF);
802 ExecutionContext &SF = ECStack.back();
803 GenericValue Val = getOperandValue(I.getOperand(0), SF);
804 GenericValue SRC = getOperandValue(I.getPointerOperand(), SF);
816 ExecutionContext &SF = ECStack.back();
828 SetValue(CS.getInstruction(), ArgIndex, SF);
834 SetValue(CS.getInstruction(), getOperandValue(*CS.arg_begin(), SF), SF);
850 SF.CurInst = Parent->begin();
852 SF.CurInst = me;
853 ++SF.CurInst;
859 SF.Caller = CS;
861 const unsigned NumArgs = SF.Caller.arg_size();
864 for (CallSite::arg_iterator i = SF.Caller.arg_begin(),
865 e = SF.Caller.arg_end(); i != e; ++i, ++pNum) {
867 ArgVals.push_back(getOperandValue(V, SF));
872 GenericValue SRC = getOperandValue(SF.Caller.getCalledValue(), SF);
877 ExecutionContext &SF = ECStack.back();
878 GenericValue Src1 = getOperandValue(I.getOperand(0), SF);
879 GenericValue Src2 = getOperandValue(I.getOperand(1), SF);
886 SetValue(&I, Dest, SF);
890 ExecutionContext &SF = ECStack.back();
891 GenericValue Src1 = getOperandValue(I.getOperand(0), SF);
892 GenericValue Src2 = getOperandValue(I.getOperand(1), SF);
899 SF);
903 ExecutionContext &SF = ECStack.back();
904 GenericValue Src1 = getOperandValue(I.getOperand(0), SF);
905 GenericValue Src2 = getOperandValue(I.getOperand(1), SF);
912 SetValue(&I, Dest, SF);
916 ExecutionContext &SF) {
917 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
925 ExecutionContext &SF) {
926 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
934 ExecutionContext &SF) {
935 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
943 ExecutionContext &SF) {
944 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
952 ExecutionContext &SF) {
953 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
961 ExecutionContext &SF) {
964 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
975 ExecutionContext &SF) {
978 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
989 ExecutionContext &SF) {
990 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
1001 ExecutionContext &SF) {
1002 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
1014 ExecutionContext &SF) {
1016 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
1024 ExecutionContext &SF) {
1025 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
1037 ExecutionContext &SF) {
1040 GenericValue Dest, Src = getOperandValue(SrcVal, SF);
1070 ExecutionContext &SF = ECStack.back();
1071 SetValue(&I, executeTruncInst(I.getOperand(0), I.getType(), SF), SF);
1075 ExecutionContext &SF = ECStack.back();
1076 SetValue(&I, executeSExtInst(I.getOperand(0), I.getType(), SF), SF);
1080 ExecutionContext &SF = ECStack.back();
1081 SetValue(&I, executeZExtInst(I.getOperand(0), I.getType(), SF), SF);
1085 ExecutionContext &SF = ECStack.back();
1086 SetValue(&I, executeFPTruncInst(I.getOperand(0), I.getType(), SF), SF);
1090 ExecutionContext &SF = ECStack.back();
1091 SetValue(&I, executeFPExtInst(I.getOperand(0), I.getType(), SF), SF);
1095 ExecutionContext &SF = ECStack.back();
1096 SetValue(&I, executeUIToFPInst(I.getOperand(0), I.getType(), SF), SF);
1100 ExecutionContext &SF = ECStack.back();
1101 SetValue(&I, executeSIToFPInst(I.getOperand(0), I.getType(), SF), SF);
1105 ExecutionContext &SF = ECStack.back();
1106 SetValue(&I, executeFPToUIInst(I.getOperand(0), I.getType(), SF), SF);
1110 ExecutionContext &SF = ECStack.back();
1111 SetValue(&I, executeFPToSIInst(I.getOperand(0), I.getType(), SF), SF);
1115 ExecutionContext &SF = ECStack.back();
1116 SetValue(&I, executePtrToIntInst(I.getOperand(0), I.getType(), SF), SF);
1120 ExecutionContext &SF = ECStack.back();
1121 SetValue(&I, executeIntToPtrInst(I.getOperand(0), I.getType(), SF), SF);
1125 ExecutionContext &SF = ECStack.back();
1126 SetValue(&I, executeBitCastInst(I.getOperand(0), I.getType(), SF), SF);
1133 ExecutionContext &SF = ECStack.back();
1137 GenericValue VAList = getOperandValue(I.getOperand(0), SF);
1153 SetValue(&I, Dest, SF);
1160 ExecutionContext &SF) {
1163 return executeTruncInst(CE->getOperand(0), CE->getType(), SF);
1165 return executeZExtInst(CE->getOperand(0), CE->getType(), SF);
1167 return executeSExtInst(CE->getOperand(0), CE->getType(), SF);
1169 return executeFPTruncInst(CE->getOperand(0), CE->getType(), SF);
1171 return executeFPExtInst(CE->getOperand(0), CE->getType(), SF);
1173 return executeUIToFPInst(CE->getOperand(0), CE->getType(), SF);
1175 return executeSIToFPInst(CE->getOperand(0), CE->getType(), SF);
1177 return executeFPToUIInst(CE->getOperand(0), CE->getType(), SF);
1179 return executeFPToSIInst(CE->getOperand(0), CE->getType(), SF);
1181 return executePtrToIntInst(CE->getOperand(0), CE->getType(), SF);
1183 return executeIntToPtrInst(CE->getOperand(0), CE->getType(), SF);
1185 return executeBitCastInst(CE->getOperand(0), CE->getType(), SF);
1188 gep_type_end(CE), SF);
1192 getOperandValue(CE->getOperand(0), SF),
1193 getOperandValue(CE->getOperand(1), SF),
1196 return executeSelectInst(getOperandValue(CE->getOperand(0), SF),
1197 getOperandValue(CE->getOperand(1), SF),
1198 getOperandValue(CE->getOperand(2), SF));
1205 GenericValue Op0 = getOperandValue(CE->getOperand(0), SF);
1206 GenericValue Op1 = getOperandValue(CE->getOperand(1), SF);
1241 GenericValue Interpreter::getOperandValue(Value *V, ExecutionContext &SF) {
1243 return getConstantExprValue(CE, SF);
1249 return SF.Values[V];
1301 ExecutionContext &SF = ECStack.back(); // Current stack frame
1302 Instruction &I = *SF.CurInst++; // Increment before execute
1315 const GenericValue &Val = SF.Values[&I];