As I know, LLVM uses 32-bit registers and operations even if you have a type like u8 or u16. Is this problem solved, or bool and u8 will still use 4 bytes on 6502?
There's nothing in LLVM itself that makes it use larger sizes, it just depends on the ABI and what's fastest when ABI doesn't matter.