IRGen: Add code for recursive type layout based witness generation

This adds code that can be used to build recursive type layouts. And
code that generates value witness IR based on the recursive type
layouts.

Value witnesses generated based on type layouts will only refer to
archetypes when computing fields offsets for frozen generic types (vs
instantiated type medata).

rdar://51988441
This commit is contained in:
Arnold Schwaighofer
2020-02-14 12:19:04 -08:00
parent b1fc252f29
commit 91995c40d4
5 changed files with 2608 additions and 2 deletions

View File

@@ -972,7 +972,7 @@ llvm::AttributeList IRGenModule::constructInitialAttributes() {
llvm::AttributeList::FunctionIndex, b);
}
llvm::Constant *IRGenModule::getInt32(uint32_t value) {
llvm::ConstantInt *IRGenModule::getInt32(uint32_t value) {
return llvm::ConstantInt::get(Int32Ty, value);
}