Previously EventType contained SigIndex as its member based on the
spec, but signature indieces can change after linking, which makes
EventType not a constant property of an event. This patch takes
SigIndex out of EventType and treat it similarly with function
types and makes SigIndex a property that any type can optionally
possess.
This is not a spec change; this only affects yaml tests and
binary file results do not change after this patch.
Companion to D54874,
Now that this structure no longer directly reflects the binary format, it might make sense to just remove it since there's no need for a 1-element structure. I still think that FooKind -style nomenclature like that used elsewhere in LLVM is more readable (since this models "kinds" of events, one of which is exception). I actually think I'd like to rename attribute to kind in the spec itself, but that's obviously a separate thing.