From: Brian Gaeke Date: Fri, 22 Nov 2002 11:07:01 +0000 (+0000) Subject: lib/Target/X86/InstSelectSimple.cpp: Add visitCallInst, visitCastInst. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=fa8d571bd47111187c665b38619e413c871f4edb;p=oota-llvm.git lib/Target/X86/InstSelectSimple.cpp: Add visitCallInst, visitCastInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4821 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp index 3f7a2567ce4..e5c5535ba9a 100644 --- a/lib/Target/X86/InstSelectSimple.cpp +++ b/lib/Target/X86/InstSelectSimple.cpp @@ -63,8 +63,11 @@ namespace { // Visitation methods for various instructions. These methods simply emit // fixed X86 code for each instruction. // + + // Control flow operators void visitReturnInst(ReturnInst &RI); void visitBranchInst(BranchInst &BI); + void visitCallInst(CallInst &I); // Arithmetic operators void visitSimpleBinary(BinaryOperator &B, unsigned OpcodeClass); @@ -97,6 +100,7 @@ namespace { // Other operators void visitShiftInst(ShiftInst &I); void visitPHINode(PHINode &I); + void visitCastInst(CastInst &I); void visitInstruction(Instruction &I) { std::cerr << "Cannot instruction select: " << I; @@ -359,6 +363,11 @@ ISel::visitBranchInst (BranchInst & BI) } } +void +ISel::visitCallInst (CallInst &CI) +{ + visitInstruction (CI); +} /// visitSimpleBinary - Implement simple binary operators for integral types... /// OperatorClass is one of: 0 for Add, 1 for Sub, 2 for And, 3 for Or, @@ -572,6 +581,11 @@ void ISel::visitPHINode(PHINode &PN) { } } +void +ISel::visitCastInst (CastInst &CI) +{ + visitInstruction (CI); +} /// createSimpleX86InstructionSelector - This pass converts an LLVM function /// into a machine code representation is a very simple peep-hole fashion. The diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp index 3f7a2567ce4..e5c5535ba9a 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.cpp @@ -63,8 +63,11 @@ namespace { // Visitation methods for various instructions. These methods simply emit // fixed X86 code for each instruction. // + + // Control flow operators void visitReturnInst(ReturnInst &RI); void visitBranchInst(BranchInst &BI); + void visitCallInst(CallInst &I); // Arithmetic operators void visitSimpleBinary(BinaryOperator &B, unsigned OpcodeClass); @@ -97,6 +100,7 @@ namespace { // Other operators void visitShiftInst(ShiftInst &I); void visitPHINode(PHINode &I); + void visitCastInst(CastInst &I); void visitInstruction(Instruction &I) { std::cerr << "Cannot instruction select: " << I; @@ -359,6 +363,11 @@ ISel::visitBranchInst (BranchInst & BI) } } +void +ISel::visitCallInst (CallInst &CI) +{ + visitInstruction (CI); +} /// visitSimpleBinary - Implement simple binary operators for integral types... /// OperatorClass is one of: 0 for Add, 1 for Sub, 2 for And, 3 for Or, @@ -572,6 +581,11 @@ void ISel::visitPHINode(PHINode &PN) { } } +void +ISel::visitCastInst (CastInst &CI) +{ + visitInstruction (CI); +} /// createSimpleX86InstructionSelector - This pass converts an LLVM function /// into a machine code representation is a very simple peep-hole fashion. The