Some languages, such as Go, have pre-defined structure types (e.g. "string"
is essentially a pointer/length pair) or pre-defined "typedef" types
(e.g. "error" is essentially a typedef for a specific interface type).
Such types do not have associated source location, so a Go frontend would
be correct not to associate a file name with such types.
This change relaxes the DIType verifier to permit unlocated types with
these tags.
Generating an object file and going through llvm-dwarfdump means you need
REQUIRES: object-emission
Also, as the test is now architecture-dependent, it needs to go in the DebugInfo/X86 directory.