From 8dad40c337cbdcc5d777a543407dc246651cb396 Mon Sep 17 00:00:00 2001
From: Chris Lattner
Date: Thu, 12 Aug 2004 19:06:24 +0000
Subject: Add information on adding a derived type to LLVM, patch contributed
by Brad Jones!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15703 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/ExtendingLLVM.html | 42 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 41 insertions(+), 1 deletion(-)
(limited to 'docs/ExtendingLLVM.html')
diff --git a/docs/ExtendingLLVM.html b/docs/ExtendingLLVM.html
index 810b5a7..775a431 100644
--- a/docs/ExtendingLLVM.html
+++ b/docs/ExtendingLLVM.html
@@ -215,7 +215,47 @@ installations. Only add new types if it is absolutely necessary.
-
TODO
+
+- llvm/include/llvm/Type.def:
+ add enum for the type
+
+- llvm/include/llvm/Type.h:
+ add ID number for the new type; add a forward declaration of the type also
+
+- llvm/include/llvm/DerivedType.h:
+ add new class to represent new class in the hierarchy; add forward
+ declaration to the TypeMap value type
+
+- llvm/lib/VMCore/Type.cpp:
+ add support for derived type to:
+ std::string getTypeDescription(const Type &Ty,
+ std::vector &TypeStack)
+ bool TypesEqual(const Type* Ty, const Type *Ty2,
+ std::map & EqTypes)
+ add necessary member functions for type, and factory
+ methods
+
+- llvm/lib/AsmReader/Lexer.l:
+ add ability to parse in the type from text assembly
+
+- llvm/lib/ByteCode/Writer/Writer.cpp:
+ modify void BytecodeWriter::outputType(const Type *T) to
+ serialize your type
+
+- llvm/lib/ByteCode/Reader/Reader.cpp:
+ modify const Type *BytecodeReader::ParseType() to
+ read your data type
+
+- llvm/lib/VMCore/AsmWriter.cpp:
+ modify void calcTypeName(const Type *Ty,
+ std::vector &TypeStack,
+ std::map &TypeNames,
+ std::string & Result)
+ to output the new derived type
+
+
+
+
--
cgit v1.1