Hi all,
I have created a proposal for the GSoC project “Fixing fundamental issues in LLVM IR”, focusing on the problem with compiler-introduced type punning. It is available at:
https://docs.google.com/document/d/1C6WLgoqoDJCTTSFGK01X8sR2sEccXV5JMabvTHlpOGE/edit?usp=sharing
It would be great to hear any comments or suggestions!
Meanwhile, I have a question regarding the lowering of std::byte to i8 in when going from Clang to LLVM. I have seen that in standard library it is defined as enum class : unsigned char (https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstddef#L87). I suppose that std::byte lowering may then have some different properties. I have compiled a simple test program that uses it to LLVM IR, but it looks like standard i8 with operations wrapped into function calls. I am wondering if there is something more in this?
Thanks,
George