Displaying 2 results from an estimated 2 matches for "l878".
Did you mean:
878
2019 Dec 24
2
RFC: Refactor SubclassData
Hello devs,
Recently I've been working on a bug that can probably be fixed with the
addition of a simple flag to a class descendant of `llvm::Value`.
Without increasing the size of the class, I can just add this flag to
`llvm::Value::SubclassData`. But this is not an easy task!
This is because the offsetes/sizes of the data stored in the
`SubclassData`, are hardcoded literals/enums.
If you
2019 Dec 26
2
RFC: Refactor SubclassData
...(bool a : 1; int b : 2;), it will not pack them into the same bitfield.
>
> Second, do we really need macros to do this? See the techniques used in
> clang::VarDecl:
>
> https://github.com/llvm/llvm-project/blob/f20fc65887e2085332d111ee0b05736794423c72/clang/include/clang/AST/Decl.h#L878
> As written with a union between all the bitfields, the base class ends up
> knowing everything about the derived classes, which is not ideal. But, you
> could imagine a version of this that uses aligned char storage so that
> subclasses could reinterpret_cast the subclass data memory...