From ee9f726749c5b1622294718925639d2a4aa92e28 Mon Sep 17 00:00:00 2001
From: Dan Gohman
The current metadata format is very simple. !tbaa.struct metadata nodes are a list of operands which are in conceptual groups of three. For each - group of three, the first operand gives the byte offset of a field in address - units, the second gives its size in address units, and the third gives its + group of three, the first operand gives the byte offset of a field in bytes, + the second gives its size in bytes, and the third gives its tbaa tag. e.g.:
This describes a struct with two fields. The first is at offset 0 address units - with size 4 address units, and has tbaa tag !1. The second is at offset 8 address - units and has size 4 address units and has tbaa tag !2.
+This describes a struct with two fields. The first is at offset 0 bytes + with size 4 bytes, and has tbaa tag !1. The second is at offset 8 bytes + and has size 4 bytes and has tbaa tag !2.
Note that the fields need not be contiguous. In this example, there is a 4 byte gap between the two fields. This gap represents padding which