-frewrite-includes: Rework how includes and modules are differentiated
The map of FileChange structs here was storing two disjoint types of
information:
1. A pointer to the Module that an #include directive implicitly
imported
2. A FileID and FileType for an included file. These would be left
uninitialized in the Module case.
This change splits these two kinds of information into their own maps,
which both simplifies how we access either and avoids the undefined
behaviour we were hitting due to the uninitialized fields in the
included file case.
Mostly NFC, but fixes some errors found by self-host with ubsan.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241140
91177308-0d34-0410-b5e6-
96231b3b80d8