• Home
  • Raw
  • Download

Lines Matching refs:GV

88   GVMemoryBlock(const GlobalVariable *GV)  in GVMemoryBlock()  argument
89 : CallbackVH(const_cast<GlobalVariable*>(GV)) {} in GVMemoryBlock()
94 static char *Create(const GlobalVariable *GV, const TargetData& TD) { in Create() argument
95 Type *ElTy = GV->getType()->getElementType(); in Create()
99 TD.getPreferredAlignment(GV)) in Create()
101 new(RawMemory) GVMemoryBlock(GV); in Create()
115 char *ExecutionEngine::getMemoryForGV(const GlobalVariable *GV) { in getMemoryForGV() argument
116 return GVMemoryBlock::Create(GV, *getTargetData()); in getMemoryForGV()
159 void ExecutionEngine::addGlobalMapping(const GlobalValue *GV, void *Addr) { in addGlobalMapping() argument
162 DEBUG(dbgs() << "JIT: Map \'" << GV->getName() in addGlobalMapping()
164 void *&CurVal = EEState.getGlobalAddressMap(locked)[GV]; in addGlobalMapping()
172 assert((V == 0 || GV == 0) && "GlobalMapping already established!"); in addGlobalMapping()
173 V = GV; in addGlobalMapping()
194 void *ExecutionEngine::updateGlobalMapping(const GlobalValue *GV, void *Addr) { in updateGlobalMapping() argument
202 return EEState.RemoveMapping(locked, GV); in updateGlobalMapping()
204 void *&CurVal = Map[GV]; in updateGlobalMapping()
215 assert((V == 0 || GV == 0) && "GlobalMapping already established!"); in updateGlobalMapping()
216 V = GV; in updateGlobalMapping()
221 void *ExecutionEngine::getPointerToGlobalIfAvailable(const GlobalValue *GV) { in getPointerToGlobalIfAvailable() argument
225 EEState.getGlobalAddressMap(locked).find(GV); in getPointerToGlobalIfAvailable()
300 GlobalVariable *GV = module->getNamedGlobal(Name); in runStaticConstructorsDestructors() local
306 if (!GV || GV->isDeclaration() || GV->hasLocalLinkage()) return; in runStaticConstructorsDestructors()
310 ConstantArray *InitList = dyn_cast<ConstantArray>(GV->getInitializer()); in runStaticConstructorsDestructors()
512 void *ExecutionEngine::getPointerToGlobal(const GlobalValue *GV) { in getPointerToGlobal() argument
513 if (Function *F = const_cast<Function*>(dyn_cast<Function>(GV))) in getPointerToGlobal()
517 if (void *P = EEState.getGlobalAddressMap(locked)[GV]) in getPointerToGlobal()
522 const_cast<GlobalVariable *>(dyn_cast<GlobalVariable>(GV))) in getPointerToGlobal()
527 return EEState.getGlobalAddressMap(locked)[GV]; in getPointerToGlobal()
566 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
568 GV.IntVal = GV.IntVal.trunc(BitWidth); in getConstantValue()
569 return GV; in getConstantValue()
572 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
574 GV.IntVal = GV.IntVal.zext(BitWidth); in getConstantValue()
575 return GV; in getConstantValue()
578 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
580 GV.IntVal = GV.IntVal.sext(BitWidth); in getConstantValue()
581 return GV; in getConstantValue()
585 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
586 GV.FloatVal = float(GV.DoubleVal); in getConstantValue()
587 return GV; in getConstantValue()
591 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
592 GV.DoubleVal = double(GV.FloatVal); in getConstantValue()
593 return GV; in getConstantValue()
596 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
598 GV.FloatVal = float(GV.IntVal.roundToDouble()); in getConstantValue()
600 GV.DoubleVal = GV.IntVal.roundToDouble(); in getConstantValue()
603 (void)apf.convertFromAPInt(GV.IntVal, in getConstantValue()
606 GV.IntVal = apf.bitcastToAPInt(); in getConstantValue()
608 return GV; in getConstantValue()
611 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
613 GV.FloatVal = float(GV.IntVal.signedRoundToDouble()); in getConstantValue()
615 GV.DoubleVal = GV.IntVal.signedRoundToDouble(); in getConstantValue()
618 (void)apf.convertFromAPInt(GV.IntVal, in getConstantValue()
621 GV.IntVal = apf.bitcastToAPInt(); in getConstantValue()
623 return GV; in getConstantValue()
627 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
630 GV.IntVal = APIntOps::RoundFloatToAPInt(GV.FloatVal, BitWidth); in getConstantValue()
632 GV.IntVal = APIntOps::RoundDoubleToAPInt(GV.DoubleVal, BitWidth); in getConstantValue()
634 APFloat apf = APFloat(GV.IntVal); in getConstantValue()
640 GV.IntVal = v; // endian? in getConstantValue()
642 return GV; in getConstantValue()
645 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
647 GV.IntVal = APInt(PtrWidth, uintptr_t(GV.PointerVal)); in getConstantValue()
648 return GV; in getConstantValue()
651 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
653 if (PtrWidth != GV.IntVal.getBitWidth()) in getConstantValue()
654 GV.IntVal = GV.IntVal.zextOrTrunc(PtrWidth); in getConstantValue()
655 assert(GV.IntVal.getBitWidth() <= 64 && "Bad pointer width"); in getConstantValue()
656 GV.PointerVal = PointerTy(uintptr_t(GV.IntVal.getZExtValue())); in getConstantValue()
657 return GV; in getConstantValue()
660 GenericValue GV = getConstantValue(Op0); in getConstantValue() local
667 GV.FloatVal = GV.IntVal.bitsToFloat(); in getConstantValue()
669 GV.DoubleVal = GV.IntVal.bitsToDouble(); in getConstantValue()
673 GV.IntVal = APInt::floatToBits(GV.FloatVal); in getConstantValue()
677 GV.IntVal = APInt::doubleToBits(GV.DoubleVal); in getConstantValue()
683 return GV; in getConstantValue()
700 GenericValue GV; in getConstantValue() local
706 case Instruction::Add: GV.IntVal = LHS.IntVal + RHS.IntVal; break; in getConstantValue()
707 case Instruction::Sub: GV.IntVal = LHS.IntVal - RHS.IntVal; break; in getConstantValue()
708 case Instruction::Mul: GV.IntVal = LHS.IntVal * RHS.IntVal; break; in getConstantValue()
709 case Instruction::UDiv:GV.IntVal = LHS.IntVal.udiv(RHS.IntVal); break; in getConstantValue()
710 case Instruction::SDiv:GV.IntVal = LHS.IntVal.sdiv(RHS.IntVal); break; in getConstantValue()
711 case Instruction::URem:GV.IntVal = LHS.IntVal.urem(RHS.IntVal); break; in getConstantValue()
712 case Instruction::SRem:GV.IntVal = LHS.IntVal.srem(RHS.IntVal); break; in getConstantValue()
713 case Instruction::And: GV.IntVal = LHS.IntVal & RHS.IntVal; break; in getConstantValue()
714 case Instruction::Or: GV.IntVal = LHS.IntVal | RHS.IntVal; break; in getConstantValue()
715 case Instruction::Xor: GV.IntVal = LHS.IntVal ^ RHS.IntVal; break; in getConstantValue()
722 GV.FloatVal = LHS.FloatVal + RHS.FloatVal; break; in getConstantValue()
724 GV.FloatVal = LHS.FloatVal - RHS.FloatVal; break; in getConstantValue()
726 GV.FloatVal = LHS.FloatVal * RHS.FloatVal; break; in getConstantValue()
728 GV.FloatVal = LHS.FloatVal / RHS.FloatVal; break; in getConstantValue()
730 GV.FloatVal = std::fmod(LHS.FloatVal,RHS.FloatVal); break; in getConstantValue()
737 GV.DoubleVal = LHS.DoubleVal + RHS.DoubleVal; break; in getConstantValue()
739 GV.DoubleVal = LHS.DoubleVal - RHS.DoubleVal; break; in getConstantValue()
741 GV.DoubleVal = LHS.DoubleVal * RHS.DoubleVal; break; in getConstantValue()
743 GV.DoubleVal = LHS.DoubleVal / RHS.DoubleVal; break; in getConstantValue()
745 GV.DoubleVal = std::fmod(LHS.DoubleVal,RHS.DoubleVal); break; in getConstantValue()
756 GV.IntVal = apfLHS.bitcastToAPInt(); in getConstantValue()
760 GV.IntVal = apfLHS.bitcastToAPInt(); in getConstantValue()
764 GV.IntVal = apfLHS.bitcastToAPInt(); in getConstantValue()
768 GV.IntVal = apfLHS.bitcastToAPInt(); in getConstantValue()
772 GV.IntVal = apfLHS.bitcastToAPInt(); in getConstantValue()
778 return GV; in getConstantValue()
812 else if (const GlobalVariable *GV = dyn_cast<GlobalVariable>(C)) in getConstantValue() local
813 Result = PTOGV(getOrEmitGlobalVariable(const_cast<GlobalVariable*>(GV))); in getConstantValue()
1021 const GlobalValue *GV = I; in emitGlobals() local
1022 if (GV->hasLocalLinkage() || GV->isDeclaration() || in emitGlobals()
1023 GV->hasAppendingLinkage() || !GV->hasName()) in emitGlobals()
1027 LinkedGlobalsMap[std::make_pair(GV->getName(), GV->getType())]; in emitGlobals()
1032 GVEntry = GV; in emitGlobals()
1044 if (GV->hasExternalLinkage() || GVEntry->hasExternalWeakLinkage()) in emitGlobals()
1045 GVEntry = GV; in emitGlobals()
1086 const GlobalValue *GV = NonCanonicalGlobals[i]; in emitGlobals() local
1088 LinkedGlobalsMap[std::make_pair(GV->getName(), GV->getType())]; in emitGlobals()
1091 addGlobalMapping(GV, Ptr); in emitGlobals()
1115 void ExecutionEngine::EmitGlobalVariable(const GlobalVariable *GV) { in EmitGlobalVariable() argument
1116 void *GA = getPointerToGlobalIfAvailable(GV); in EmitGlobalVariable()
1120 GA = getMemoryForGV(GV); in EmitGlobalVariable()
1121 addGlobalMapping(GV, GA); in EmitGlobalVariable()
1125 if (!GV->isThreadLocal()) in EmitGlobalVariable()
1126 InitializeMemory(GV->getInitializer(), GA); in EmitGlobalVariable()
1128 Type *ElTy = GV->getType()->getElementType(); in EmitGlobalVariable()