mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-02 00:36:36 +00:00
Teach InstVisitor about the UnaryInstruction layer in the instruction
type hierarchy. I wanted to use this for the inline cost rewrite, and found it was missing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153029 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f201a06662
commit
080b862e67
@ -166,8 +166,8 @@ public:
|
|||||||
RetTy visitUnreachableInst(UnreachableInst &I) { DELEGATE(TerminatorInst);}
|
RetTy visitUnreachableInst(UnreachableInst &I) { DELEGATE(TerminatorInst);}
|
||||||
RetTy visitICmpInst(ICmpInst &I) { DELEGATE(CmpInst);}
|
RetTy visitICmpInst(ICmpInst &I) { DELEGATE(CmpInst);}
|
||||||
RetTy visitFCmpInst(FCmpInst &I) { DELEGATE(CmpInst);}
|
RetTy visitFCmpInst(FCmpInst &I) { DELEGATE(CmpInst);}
|
||||||
RetTy visitAllocaInst(AllocaInst &I) { DELEGATE(Instruction); }
|
RetTy visitAllocaInst(AllocaInst &I) { DELEGATE(UnaryInstruction); }
|
||||||
RetTy visitLoadInst(LoadInst &I) { DELEGATE(Instruction); }
|
RetTy visitLoadInst(LoadInst &I) { DELEGATE(UnaryInstruction); }
|
||||||
RetTy visitStoreInst(StoreInst &I) { DELEGATE(Instruction); }
|
RetTy visitStoreInst(StoreInst &I) { DELEGATE(Instruction); }
|
||||||
RetTy visitAtomicCmpXchgInst(AtomicCmpXchgInst &I){ DELEGATE(Instruction); }
|
RetTy visitAtomicCmpXchgInst(AtomicCmpXchgInst &I){ DELEGATE(Instruction); }
|
||||||
RetTy visitAtomicRMWInst(AtomicRMWInst &I) { DELEGATE(Instruction); }
|
RetTy visitAtomicRMWInst(AtomicRMWInst &I) { DELEGATE(Instruction); }
|
||||||
@ -188,11 +188,11 @@ public:
|
|||||||
RetTy visitBitCastInst(BitCastInst &I) { DELEGATE(CastInst); }
|
RetTy visitBitCastInst(BitCastInst &I) { DELEGATE(CastInst); }
|
||||||
RetTy visitSelectInst(SelectInst &I) { DELEGATE(Instruction); }
|
RetTy visitSelectInst(SelectInst &I) { DELEGATE(Instruction); }
|
||||||
RetTy visitCallInst(CallInst &I) { DELEGATE(Instruction); }
|
RetTy visitCallInst(CallInst &I) { DELEGATE(Instruction); }
|
||||||
RetTy visitVAArgInst(VAArgInst &I) { DELEGATE(Instruction); }
|
RetTy visitVAArgInst(VAArgInst &I) { DELEGATE(UnaryInstruction); }
|
||||||
RetTy visitExtractElementInst(ExtractElementInst &I) { DELEGATE(Instruction);}
|
RetTy visitExtractElementInst(ExtractElementInst &I) { DELEGATE(Instruction);}
|
||||||
RetTy visitInsertElementInst(InsertElementInst &I) { DELEGATE(Instruction); }
|
RetTy visitInsertElementInst(InsertElementInst &I) { DELEGATE(Instruction); }
|
||||||
RetTy visitShuffleVectorInst(ShuffleVectorInst &I) { DELEGATE(Instruction); }
|
RetTy visitShuffleVectorInst(ShuffleVectorInst &I) { DELEGATE(Instruction); }
|
||||||
RetTy visitExtractValueInst(ExtractValueInst &I) { DELEGATE(Instruction);}
|
RetTy visitExtractValueInst(ExtractValueInst &I) { DELEGATE(UnaryInstruction);}
|
||||||
RetTy visitInsertValueInst(InsertValueInst &I) { DELEGATE(Instruction); }
|
RetTy visitInsertValueInst(InsertValueInst &I) { DELEGATE(Instruction); }
|
||||||
RetTy visitLandingPadInst(LandingPadInst &I) { DELEGATE(Instruction); }
|
RetTy visitLandingPadInst(LandingPadInst &I) { DELEGATE(Instruction); }
|
||||||
|
|
||||||
@ -200,10 +200,11 @@ public:
|
|||||||
// instruction type, they can overload one of these to get the whole class
|
// instruction type, they can overload one of these to get the whole class
|
||||||
// of instructions...
|
// of instructions...
|
||||||
//
|
//
|
||||||
|
RetTy visitCastInst(CastInst &I) { DELEGATE(UnaryInstruction); }
|
||||||
RetTy visitTerminatorInst(TerminatorInst &I) { DELEGATE(Instruction); }
|
RetTy visitTerminatorInst(TerminatorInst &I) { DELEGATE(Instruction); }
|
||||||
|
RetTy visitUnaryInstruction(UnaryInstruction &I) { DELEGATE(Instruction); }
|
||||||
RetTy visitBinaryOperator(BinaryOperator &I) { DELEGATE(Instruction); }
|
RetTy visitBinaryOperator(BinaryOperator &I) { DELEGATE(Instruction); }
|
||||||
RetTy visitCmpInst(CmpInst &I) { DELEGATE(Instruction); }
|
RetTy visitCmpInst(CmpInst &I) { DELEGATE(Instruction); }
|
||||||
RetTy visitCastInst(CastInst &I) { DELEGATE(Instruction); }
|
|
||||||
|
|
||||||
// If the user wants a 'default' case, they can choose to override this
|
// If the user wants a 'default' case, they can choose to override this
|
||||||
// function. If this function is not overloaded in the user's subclass, then
|
// function. If this function is not overloaded in the user's subclass, then
|
||||||
|
Loading…
Reference in New Issue
Block a user