I&#x27;d say that due to the input (JS), they also have a fairly limited set of IR constructs they <i>really</i> need to support. The B3 IR looks very simple for this reason. IOW, they figured out that for realistic code they don&#x27;t need the full, heavy weight of LLVM and can just implement some simple basics.