diff options
author | Owen Anderson <resistor@mac.com> | 2008-08-25 23:58:18 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2008-08-25 23:58:18 +0000 |
commit | 0f84e4e31009eecf2dfcbe6113b65d0919f30254 (patch) | |
tree | 34b179437e89c11bf0512e43334af3336f396ece /utils/TableGen | |
parent | 7b2e579546d1ebf49c2e187efab2c76be9e32050 (diff) | |
download | external_llvm-0f84e4e31009eecf2dfcbe6113b65d0919f30254.zip external_llvm-0f84e4e31009eecf2dfcbe6113b65d0919f30254.tar.gz external_llvm-0f84e4e31009eecf2dfcbe6113b65d0919f30254.tar.bz2 |
Add a RetVT parameter to emitted FastISel methods, so that we will be able to pass the desired return
type down. This is not currently used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55345 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen')
-rw-r--r-- | utils/TableGen/FastISelEmitter.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/utils/TableGen/FastISelEmitter.cpp b/utils/TableGen/FastISelEmitter.cpp index bd0fc13..cbff9f1 100644 --- a/utils/TableGen/FastISelEmitter.cpp +++ b/utils/TableGen/FastISelEmitter.cpp @@ -268,14 +268,16 @@ void FastISelEmitter::run(std::ostream &OS) { OS << " unsigned FastEmit_" << getLegalCName(Opcode) << "_" << getLegalCName(getName(VT)) << "_"; Operands.PrintManglingSuffix(OS); - OS << "("; + OS << "(MVT::SimpleValueType RetVT"; + if (!Operands.empty()) + OS << ", "; Operands.PrintParameters(OS); OS << ");\n"; } OS << " unsigned FastEmit_" << getLegalCName(Opcode) << "_"; Operands.PrintManglingSuffix(OS); - OS << "(MVT::SimpleValueType VT"; + OS << "(MVT::SimpleValueType VT, MVT::SimpleValueType RetVT"; if (!Operands.empty()) OS << ", "; Operands.PrintParameters(OS); @@ -284,7 +286,7 @@ void FastISelEmitter::run(std::ostream &OS) { OS << " unsigned FastEmit_"; Operands.PrintManglingSuffix(OS); - OS << "(MVT::SimpleValueType VT, ISD::NodeType Opcode"; + OS << "(MVT::SimpleValueType VT, MVT::SimpleValueType RetVT, ISD::NodeType Opcode"; if (!Operands.empty()) OS << ", "; Operands.PrintParameters(OS); @@ -341,7 +343,9 @@ void FastISelEmitter::run(std::ostream &OS) { << getLegalCName(Opcode) << "_" << getLegalCName(getName(VT)) << "_"; Operands.PrintManglingSuffix(OS); - OS << "("; + OS << "(MVT::SimpleValueType RetVT"; + if (!Operands.empty()) + OS << ", "; Operands.PrintParameters(OS); OS << ") {\n"; @@ -382,7 +386,7 @@ void FastISelEmitter::run(std::ostream &OS) { OS << "unsigned FastISel::FastEmit_" << getLegalCName(Opcode) << "_"; Operands.PrintManglingSuffix(OS); - OS << "(MVT::SimpleValueType VT"; + OS << "(MVT::SimpleValueType VT, MVT::SimpleValueType RetVT"; if (!Operands.empty()) OS << ", "; Operands.PrintParameters(OS); @@ -395,7 +399,9 @@ void FastISelEmitter::run(std::ostream &OS) { OS << " case " << TypeName << ": return FastEmit_" << getLegalCName(Opcode) << "_" << getLegalCName(TypeName) << "_"; Operands.PrintManglingSuffix(OS); - OS << "("; + OS << "(RetVT"; + if (!Operands.empty()) + OS << ", "; Operands.PrintArguments(OS); OS << ");\n"; } @@ -412,7 +418,7 @@ void FastISelEmitter::run(std::ostream &OS) { // on opcode and type. OS << "unsigned FastISel::FastEmit_"; Operands.PrintManglingSuffix(OS); - OS << "(MVT::SimpleValueType VT, ISD::NodeType Opcode"; + OS << "(MVT::SimpleValueType VT, MVT::SimpleValueType RetVT, ISD::NodeType Opcode"; if (!Operands.empty()) OS << ", "; Operands.PrintParameters(OS); @@ -425,7 +431,7 @@ void FastISelEmitter::run(std::ostream &OS) { OS << " case " << Opcode << ": return FastEmit_" << getLegalCName(Opcode) << "_"; Operands.PrintManglingSuffix(OS); - OS << "(VT"; + OS << "(VT, RetVT"; if (!Operands.empty()) OS << ", "; Operands.PrintArguments(OS); |