[llvm] [llubi] Add support for byte types (PR #200672)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 08:09:46 PDT 2026


================
@@ -204,9 +239,39 @@ define void @main() {
 ; CHECK-NEXT:   %load_struct_noundef = load { i8, i32 }, ptr %alloc_struct_padding, align 4, !noundef !0 => { i8 0, i32 0 }
 ; CHECK-NEXT:   %alloc_ptr = alloca ptr, align 8 => ptr 0x90 [alloc_ptr]
 ; CHECK-NEXT:   store ptr %alloc_ptr, ptr %alloc_ptr, align 8
+; CHECK-NEXT:   %bytes = load b64, ptr %alloc_ptr, align 8 => b64 00000000(00100110) 00000000(01110001) 00000000(00111100) 00000000(00111001) 00000000(10001010) 00000000(10010101) 00000000(00001000) 10010000(00101100) 
----------------
dtcxzyw wrote:

> For the case where we have a full valid tag, can we print the corresponding provenance? (Ideally also in the case where we have a b16 with two full tags).

I don't know how to check if the tag bits form a "full" tag. The bit width of tags varies with the address space :( 

> For the rest, one thing that confused me is the switch between hex and binary without any indication. 00 might refer to two hex zeros, or to two bits (similar for !! and ??).

Does the '0x' prefix for hex values look better?


https://github.com/llvm/llvm-project/pull/200672


More information about the llvm-commits mailing list