Lines Matching refs:llvm

44 class RSInvokeHelperPass : public llvm::FunctionPass {
48 llvm::StructType* rsAllocationType;
49 llvm::StructType* rsElementType;
50 llvm::StructType* rsSamplerType;
51 llvm::StructType* rsScriptType;
52 llvm::StructType* rsTypeType;
54 llvm::Constant* rsAllocationSetObj;
55 llvm::Constant* rsElementSetObj;
56 llvm::Constant* rsSamplerSetObj;
57 llvm::Constant* rsScriptSetObj;
58 llvm::Constant* rsTypeSetObj;
67 virtual void getAnalysisUsage(llvm::AnalysisUsage &AU) const override { in getAnalysisUsage()
72 virtual bool doInitialization(llvm::Module &M) override { in doInitialization()
73 llvm::FunctionType * SetObjType = nullptr; in doInitialization()
74 llvm::SmallVector<llvm::Type*, 4> rsBaseObj; in doInitialization()
75 rsBaseObj.append(4, llvm::Type::getInt64PtrTy(M.getContext())); in doInitialization()
77 rsAllocationType = llvm::StructType::create(rsBaseObj, kAllocationTypeName); in doInitialization()
78 rsElementType = llvm::StructType::create(rsBaseObj, kElementTypeName); in doInitialization()
79 rsSamplerType = llvm::StructType::create(rsBaseObj, kSamplerTypeName); in doInitialization()
80 rsScriptType = llvm::StructType::create(rsBaseObj, kScriptTypeName); in doInitialization()
81 rsTypeType = llvm::StructType::create(rsBaseObj, kTypeTypeName); in doInitialization()
83 llvm::SmallVector<llvm::Value*, 1> SetObjParams; in doInitialization()
84 llvm::SmallVector<llvm::Type*, 2> SetObjTypeParams; in doInitialization()
90 …SetObjType = llvm::FunctionType::get(llvm::Type::getVoidTy(M.getContext()), SetObjTypeParams, fals… in doInitialization()
96 …SetObjType = llvm::FunctionType::get(llvm::Type::getVoidTy(M.getContext()), SetObjTypeParams, fals… in doInitialization()
102 …SetObjType = llvm::FunctionType::get(llvm::Type::getVoidTy(M.getContext()), SetObjTypeParams, fals… in doInitialization()
108 …SetObjType = llvm::FunctionType::get(llvm::Type::getVoidTy(M.getContext()), SetObjTypeParams, fals… in doInitialization()
114 …SetObjType = llvm::FunctionType::get(llvm::Type::getVoidTy(M.getContext()), SetObjTypeParams, fals… in doInitialization()
121 bool insertSetObjectHelper(llvm::CallInst *Call, llvm::Value *V, enum RsDataType DT) { in insertSetObjectHelper()
122 llvm::Constant *SetObj = nullptr; in insertSetObjectHelper()
123 llvm::StructType *RSStructType = nullptr; in insertSetObjectHelper()
150llvm::CastInst* CastedValue = llvm::CastInst::CreatePointerCast(V, RSStructType->getPointerTo(), "… in insertSetObjectHelper()
152 llvm::SmallVector<llvm::Value*, 2> SetObjParams; in insertSetObjectHelper()
156 llvm::CallInst::Create(SetObj, SetObjParams, "", Call); in insertSetObjectHelper()
164 virtual bool runOnFunction(llvm::Function &F) override { in runOnFunction()
169 const llvm::Function::ArgumentListType &argList(F.getArgumentList()); in runOnFunction()
175 llvm::Type *argType = arg->getType(); in runOnFunction()
179llvm::StructType *argStructType = llvm::dyn_cast<llvm::StructType>(argType->getPointerElementType(… in runOnFunction()
182 llvm::Type *currentType = argStructType->getElementType(i); in runOnFunction()
198 if (llvm::CallInst *call = llvm::dyn_cast<llvm::CallInst>(&Inst)) { in runOnFunction()
200 llvm::Value *V = call->getArgOperand(i); in runOnFunction()
201 llvm::Type *T = V->getType(); in runOnFunction()
229 llvm::FunctionPass *