Lines Matching defs:SPIRVEmitIntrinsics
1 //===-- SPIRVEmitIntrinsics.cpp - emit SPIRV intrinsics ---------*- C++ -*-===//
64 class SPIRVEmitIntrinsics
66 public InstVisitor<SPIRVEmitIntrinsics, Instruction *> {
149 SPIRVEmitIntrinsics() : ModulePass(ID) {
152 SPIRVEmitIntrinsics(SPIRVTargetMachine *_TM) : ModulePass(ID), TM(_TM) {
192 char SPIRVEmitIntrinsics::ID = 0;
194 INITIALIZE_PASS(SPIRVEmitIntrinsics, "emit-intrinsics", "SPIRV emit intrinsics",
282 void SPIRVEmitIntrinsics::buildAssignType(IRBuilder<> &B, Type *Ty,
290 void SPIRVEmitIntrinsics::buildAssignPtr(IRBuilder<> &B, Type *ElemTy,
307 void SPIRVEmitIntrinsics::updateAssignType(CallInst *AssignCI, Value *Arg,
323 SPIRVEmitIntrinsics::deduceElementTypeByValueDeep(Type *ValueTy, Value *Operand,
330 Type *SPIRVEmitIntrinsics::deduceElementTypeByValueDeep(
348 Type *SPIRVEmitIntrinsics::deduceElementTypeByUsersDeep(
384 Type *SPIRVEmitIntrinsics::deduceElementTypeHelper(Value *I,
390 void SPIRVEmitIntrinsics::maybeAssignPtrType(Type *&Ty, Value *Op, Type *RefTy,
403 Type *SPIRVEmitIntrinsics::deduceElementTypeHelper(
497 Type *SPIRVEmitIntrinsics::deduceNestedTypeHelper(User *U,
503 Type *SPIRVEmitIntrinsics::deduceNestedTypeHelper(
584 Type *SPIRVEmitIntrinsics::deduceElementType(Value *I, bool UnknownElemTypeI8) {
613 void SPIRVEmitIntrinsics::deduceOperandElementType(Instruction *I,
816 void SPIRVEmitIntrinsics::replaceMemInstrUses(Instruction *Old,
838 void SPIRVEmitIntrinsics::preprocessUndefs(IRBuilder<> &B) {
866 void SPIRVEmitIntrinsics::preprocessCompositeConstants(IRBuilder<> &B) {
922 Instruction *SPIRVEmitIntrinsics::visitCallInst(CallInst &Call) {
943 Instruction *SPIRVEmitIntrinsics::visitSwitchInst(SwitchInst &I) {
976 Instruction *SPIRVEmitIntrinsics::visitGetElementPtrInst(GetElementPtrInst &I) {
990 Instruction *SPIRVEmitIntrinsics::visitBitCastInst(BitCastInst &I) {
1015 void SPIRVEmitIntrinsics::insertAssignPtrTypeTargetExt(
1050 void SPIRVEmitIntrinsics::replacePointerOperandWithPtrCast(
1122 void SPIRVEmitIntrinsics::insertPtrCastOrAssignTypeInstr(Instruction *I,
1223 Instruction *SPIRVEmitIntrinsics::visitInsertElementInst(InsertElementInst &I) {
1239 SPIRVEmitIntrinsics::visitExtractElementInst(ExtractElementInst &I) {
1253 Instruction *SPIRVEmitIntrinsics::visitInsertValueInst(InsertValueInst &I) {
1271 Instruction *SPIRVEmitIntrinsics::visitExtractValueInst(ExtractValueInst &I) {
1286 Instruction *SPIRVEmitIntrinsics::visitLoadInst(LoadInst &I) {
1303 Instruction *SPIRVEmitIntrinsics::visitStoreInst(StoreInst &I) {
1321 Instruction *SPIRVEmitIntrinsics::visitAllocaInst(AllocaInst &I) {
1348 Instruction *SPIRVEmitIntrinsics::visitAtomicCmpXchgInst(AtomicCmpXchgInst &I) {
1366 Instruction *SPIRVEmitIntrinsics::visitUnreachableInst(UnreachableInst &I) {
1373 void SPIRVEmitIntrinsics::processGlobalValue(GlobalVariable &GV,
1398 bool SPIRVEmitIntrinsics::insertAssignPtrTypeIntrs(Instruction *I,
1414 void SPIRVEmitIntrinsics::insertAssignTypeIntrs(Instruction *I,
1491 void SPIRVEmitIntrinsics::insertSpirvDecorations(Instruction *I,
1500 void SPIRVEmitIntrinsics::processInstrAfterVisit(Instruction *I,
1546 Type *SPIRVEmitIntrinsics::deduceFunParamElementType(Function *F,
1552 Type *SPIRVEmitIntrinsics::deduceFunParamElementType(
1608 void SPIRVEmitIntrinsics::processParamTypesByFunHeader(Function *F,
1622 void SPIRVEmitIntrinsics::processParamTypes(Function *F, IRBuilder<> &B) {
1634 bool SPIRVEmitIntrinsics::runOnFunction(Function &Func) {
1712 bool SPIRVEmitIntrinsics::postprocessTypes() {
1737 bool SPIRVEmitIntrinsics::runOnModule(Module &M) {
1761 return new SPIRVEmitIntrinsics(TM);