Lines Matching defs:I
29 visit##CLASS_TO_VISIT(static_cast<CLASS_TO_VISIT&>(I))
40 /// functions in your class. I say "override" because this class is defined
111 RetTy visit(Instruction *I) { return visit(*I); }
115 RetTy visit(Instruction &I) {
119 switch (I.getOpcode()) {
125 visit##OPCODE(static_cast<CLASS&>(I));
155 RetTy visit##OPCODE(CLASS &I) { \
157 return delegateCallInst(I); \
166 RetTy visitICmpInst(ICmpInst &I) { DELEGATE(CmpInst);}
167 RetTy visitFCmpInst(FCmpInst &I) { DELEGATE(CmpInst);}
168 RetTy visitAllocaInst(AllocaInst &I) { DELEGATE(UnaryInstruction);}
169 RetTy visitLoadInst(LoadInst &I) { DELEGATE(UnaryInstruction);}
170 RetTy visitStoreInst(StoreInst &I) { DELEGATE(Instruction);}
171 RetTy visitAtomicCmpXchgInst(AtomicCmpXchgInst &I) { DELEGATE(Instruction);}
172 RetTy visitAtomicRMWInst(AtomicRMWInst &I) { DELEGATE(Instruction);}
173 RetTy visitFenceInst(FenceInst &I) { DELEGATE(Instruction);}
174 RetTy visitGetElementPtrInst(GetElementPtrInst &I){ DELEGATE(Instruction);}
175 RetTy visitPHINode(PHINode &I) { DELEGATE(Instruction);}
176 RetTy visitTruncInst(TruncInst &I) { DELEGATE(CastInst);}
177 RetTy visitZExtInst(ZExtInst &I) { DELEGATE(CastInst);}
178 RetTy visitSExtInst(SExtInst &I) { DELEGATE(CastInst);}
179 RetTy visitFPTruncInst(FPTruncInst &I) { DELEGATE(CastInst);}
180 RetTy visitFPExtInst(FPExtInst &I) { DELEGATE(CastInst);}
181 RetTy visitFPToUIInst(FPToUIInst &I) { DELEGATE(CastInst);}
182 RetTy visitFPToSIInst(FPToSIInst &I) { DELEGATE(CastInst);}
183 RetTy visitUIToFPInst(UIToFPInst &I) { DELEGATE(CastInst);}
184 RetTy visitSIToFPInst(SIToFPInst &I) { DELEGATE(CastInst);}
185 RetTy visitPtrToIntInst(PtrToIntInst &I) { DELEGATE(CastInst);}
186 RetTy visitIntToPtrInst(IntToPtrInst &I) { DELEGATE(CastInst);}
187 RetTy visitBitCastInst(BitCastInst &I) { DELEGATE(CastInst);}
188 RetTy visitAddrSpaceCastInst(AddrSpaceCastInst &I) { DELEGATE(CastInst);}
189 RetTy visitSelectInst(SelectInst &I) { DELEGATE(Instruction);}
190 RetTy visitVAArgInst(VAArgInst &I) { DELEGATE(UnaryInstruction);}
191 RetTy visitExtractElementInst(ExtractElementInst &I) { DELEGATE(Instruction);}
192 RetTy visitInsertElementInst(InsertElementInst &I) { DELEGATE(Instruction);}
193 RetTy visitShuffleVectorInst(ShuffleVectorInst &I) { DELEGATE(Instruction);}
194 RetTy visitExtractValueInst(ExtractValueInst &I){ DELEGATE(UnaryInstruction);}
195 RetTy visitInsertValueInst(InsertValueInst &I) { DELEGATE(Instruction); }
196 RetTy visitLandingPadInst(LandingPadInst &I) { DELEGATE(Instruction); }
197 RetTy visitFuncletPadInst(FuncletPadInst &I) { DELEGATE(Instruction); }
198 RetTy visitCleanupPadInst(CleanupPadInst &I) { DELEGATE(FuncletPadInst); }
199 RetTy visitCatchPadInst(CatchPadInst &I) { DELEGATE(FuncletPadInst); }
200 RetTy visitFreezeInst(FreezeInst &I) { DELEGATE(Instruction); }
203 RetTy visitDbgDeclareInst(DbgDeclareInst &I) { DELEGATE(DbgVariableIntrinsic);}
204 RetTy visitDbgValueInst(DbgValueInst &I) { DELEGATE(DbgVariableIntrinsic);}
205 RetTy visitDbgVariableIntrinsic(DbgVariableIntrinsic &I)
207 RetTy visitDbgLabelInst(DbgLabelInst &I) { DELEGATE(DbgInfoIntrinsic);}
208 RetTy visitDbgInfoIntrinsic(DbgInfoIntrinsic &I){ DELEGATE(IntrinsicInst); }
209 RetTy visitMemSetInst(MemSetInst &I) { DELEGATE(MemIntrinsic); }
210 RetTy visitMemSetInlineInst(MemSetInlineInst &I){ DELEGATE(MemSetInst); }
211 RetTy visitMemSetPatternInst(MemSetPatternInst &I) {
214 RetTy visitMemCpyInst(MemCpyInst &I) { DELEGATE(MemTransferInst); }
215 RetTy visitMemCpyInlineInst(MemCpyInlineInst &I){ DELEGATE(MemCpyInst); }
216 RetTy visitMemMoveInst(MemMoveInst &I) { DELEGATE(MemTransferInst); }
217 RetTy visitMemTransferInst(MemTransferInst &I) { DELEGATE(MemIntrinsic); }
218 RetTy visitMemIntrinsic(MemIntrinsic &I) { DELEGATE(IntrinsicInst); }
219 RetTy visitVAStartInst(VAStartInst &I) { DELEGATE(IntrinsicInst); }
220 RetTy visitVAEndInst(VAEndInst &I) { DELEGATE(IntrinsicInst); }
221 RetTy visitVACopyInst(VACopyInst &I) { DELEGATE(IntrinsicInst); }
222 RetTy visitIntrinsicInst(IntrinsicInst &I) { DELEGATE(CallInst); }
223 RetTy visitCallInst(CallInst &I) { DELEGATE(CallBase); }
224 RetTy visitInvokeInst(InvokeInst &I) { DELEGATE(CallBase); }
225 RetTy visitCallBrInst(CallBrInst &I) { DELEGATE(CallBase); }
229 RetTy visitReturnInst(ReturnInst &I) {
230 return static_cast<SubClass *>(this)->visitTerminator(I);
232 RetTy visitBranchInst(BranchInst &I) {
233 return static_cast<SubClass *>(this)->visitTerminator(I);
235 RetTy visitSwitchInst(SwitchInst &I) {
236 return static_cast<SubClass *>(this)->visitTerminator(I);
238 RetTy visitIndirectBrInst(IndirectBrInst &I) {
239 return static_cast<SubClass *>(this)->visitTerminator(I);
241 RetTy visitResumeInst(ResumeInst &I) {
242 return static_cast<SubClass *>(this)->visitTerminator(I);
244 RetTy visitUnreachableInst(UnreachableInst &I) {
245 return static_cast<SubClass *>(this)->visitTerminator(I);
247 RetTy visitCleanupReturnInst(CleanupReturnInst &I) {
248 return static_cast<SubClass *>(this)->visitTerminator(I);
250 RetTy visitCatchReturnInst(CatchReturnInst &I) {
251 return static_cast<SubClass *>(this)->visitTerminator(I);
253 RetTy visitCatchSwitchInst(CatchSwitchInst &I) {
254 return static_cast<SubClass *>(this)->visitTerminator(I);
256 RetTy visitTerminator(Instruction &I) { DELEGATE(Instruction);}
262 RetTy visitCastInst(CastInst &I) { DELEGATE(UnaryInstruction);}
263 RetTy visitUnaryOperator(UnaryOperator &I) { DELEGATE(UnaryInstruction);}
264 RetTy visitBinaryOperator(BinaryOperator &I) { DELEGATE(Instruction);}
265 RetTy visitCmpInst(CmpInst &I) { DELEGATE(Instruction);}
266 RetTy visitUnaryInstruction(UnaryInstruction &I){ DELEGATE(Instruction);}
270 RetTy visitCallBase(CallBase &I) {
271 if (isa<InvokeInst>(I) || isa<CallBrInst>(I))
272 return static_cast<SubClass *>(this)->visitTerminator(I);
283 void visitInstruction(Instruction &I) {} // Ignore unhandled instructions
287 RetTy delegateCallInst(CallInst &I) {
288 if (const Function *F = I.getCalledFunction()) {
314 RetTy delegateCallInst(Instruction &I) {