Hello,
I’m updating a legacy code using LLVM 2.5 where it has an iteration through a Module’s TypeSymbolTable to process each StructType.
In LLVM 3.4, TypeSymbolTable has been removed. I can only find the LLVMContextImpl instance of a Module’s LLVMContext which has AnonStructTypes and NamedStructTypes two maps. However, LLVMContextImpl is an opaque class which cannot be directly accessed by my code(a subclass of ModulePass).
So how can I iterate all the Types in a Module? Thanks.
Regards,
Thomas Yang
Chunbai YANG wrote:
Hello,
I'm updating a legacy code using LLVM 2.5 where it has an iteration
through a Module's TypeSymbolTable to process each StructType.
In LLVM 3.4, TypeSymbolTable has been removed. I can only find the
LLVMContextImpl instance of a Module's LLVMContext which has
AnonStructTypes and NamedStructTypes two maps. However, LLVMContextImpl
is an opaque class which cannot be directly accessed by my code(a
subclass of ModulePass).
So how can I iterate all the Types in a Module? Thanks.
See the llvm::TypeFinder class in include/llvm/IR/TypeFinder.h.
http://llvm.org/doxygen/classllvm_1_1TypeFinder.html
Nick