With this patch we will match most *uses* of "temporary" named things in
the IR via regular expressions, not their name at creation time. The new
"values" we match are:
- "unnamed" globals: @[0-9]+
- debug metadata: !dbg ![0-9]+
- loop metadata: !loop ![0-9]+
- tbaa metadata: !tbaa ![0-9]+
- range metadata: !range ![0-9]+
- generic metadata: metadata ![0-9]+
- attributes groups: #[0-9]
We still don't match the declarations but that can be done later. This
patch can introduce churn when existing check lines contain the old
hardcoded versions of the above "values". We can add a flag to opt-out,
or opt-in, if necessary.
Since we are capturing the attribute number instead of using a #{{[0-9]+}} regex, should we be using a non-capturing [[ATTRIBUTES0]] after the first time?
I guess this would require something like global_vars_seen in addition to vars_seen