For thin LTO, ignore unreachable functions (by reading from index) when finding virtual functions.
- This helps to de-virtualize. Unit test are added in test case in llvm/test/ThinLTO/X86/devirt_after_filtering_unreachable.ll
- Rename devirt_hybrid_after_filtering_unreachable.ll to devirt_after_filtering_unreachable.ll, and Inputs/devirt_hybrid... to Inputs/devirt...
Since we don't ever use variable BaseD0, there isn't a need to capture a value there. In fact, you can ignore it completely and then change all 4 llvm-dis instances in this test to check the same pattern like:
; FLAG: gv: (name: "_ZN4BaseD0Ev", {{.*}}, funcFlags: ({{.*}} mustBeUnreachable: 1
(and no need for the -DAG handling since there is only one pattern being checked per llvm-dis invocation).