HomePhabricator

Include getting generated struct offsets in CodegenABITypes

Description

Include getting generated struct offsets in CodegenABITypes

This change adds a new function, CodeGen::getFieldNumber, that
enables a user of clang's code generation to get the field number
in a generated LLVM IR struct that corresponds to a particular field
in a C struct.

It is important to expose this information in Clang's code generation
interface because there is no reasonable way for users of Clang's code
generation to get this information. In particular:

LLVM struct types do not include field names.
Clang adds a non-trivial amount of logic to the code generation of LLVM IR types for structs, in particular to handle padding and bit fields.

Patch by Michael Ferguson!

Differential Revision: https://reviews.llvm.org/D38473

Details

Committed
adrianOct 10 2017, 4:54 PM
Differential Revision
D38473: Include getting generated struct offsets in CodegenABITypes
Branches
Unknown
Tags
Unknown