mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
[weak vtables] Remove a bunch of weak vtables
This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. Differential Revision: http://llvm-reviews.chandlerc.com/D2068 Reviewed by Andy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194865 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -408,13 +408,14 @@ void InstrInfoEmitter::run(raw_ostream &OS) {
|
||||
OS << "namespace llvm {\n";
|
||||
OS << "struct " << ClassName << " : public TargetInstrInfo {\n"
|
||||
<< " explicit " << ClassName << "(int SO = -1, int DO = -1);\n"
|
||||
<< " virtual ~" << ClassName << "();\n"
|
||||
<< "};\n";
|
||||
OS << "} // End llvm namespace \n";
|
||||
|
||||
OS << "#endif // GET_INSTRINFO_HEADER\n\n";
|
||||
|
||||
OS << "\n#ifdef GET_INSTRINFO_CTOR\n";
|
||||
OS << "#undef GET_INSTRINFO_CTOR\n";
|
||||
OS << "\n#ifdef GET_INSTRINFO_CTOR_DTOR\n";
|
||||
OS << "#undef GET_INSTRINFO_CTOR_DTOR\n";
|
||||
|
||||
OS << "namespace llvm {\n";
|
||||
OS << "extern const MCInstrDesc " << TargetName << "Insts[];\n";
|
||||
@@ -424,10 +425,11 @@ void InstrInfoEmitter::run(raw_ostream &OS) {
|
||||
<< " : TargetInstrInfo(SO, DO) {\n"
|
||||
<< " InitMCInstrInfo(" << TargetName << "Insts, "
|
||||
<< TargetName << "InstrNameIndices, " << TargetName << "InstrNameData, "
|
||||
<< NumberedInstructions.size() << ");\n}\n";
|
||||
<< NumberedInstructions.size() << ");\n}\n"
|
||||
<< ClassName << "::~" << ClassName << "() {}\n";
|
||||
OS << "} // End llvm namespace \n";
|
||||
|
||||
OS << "#endif // GET_INSTRINFO_CTOR\n\n";
|
||||
OS << "#endif // GET_INSTRINFO_CTOR_DTOR\n\n";
|
||||
|
||||
emitOperandNameMappings(OS, Target, NumberedInstructions);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user