I have a patch that adds a typedef to aarch64's <cpu>-opts.h.
The typedef is used for a TargetVariable in the .opt file,
which means that it is covered by PCH and so needs to be
visible to gengtype.
<cpu>-opts.h is not included directly in tm.h, but indirectly
by target headers (in this case aarch64.h). There was therefore
nothing that caused it to be added to GTFILES.