https://github.com/Michael137 updated 
https://github.com/llvm/llvm-project/pull/154538

>From af6ed337ad9bcbe80a7b50d724a5bca37faf7022 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Wed, 20 Aug 2025 14:26:44 +0100
Subject: [PATCH 1/4] [clang][DebugInfo][test] Move debug-info tests from
 CodeGenCXX to DebugInfo directory

This patch works towards consolidating all Clang debug-info into the 
`clang/test/DebugInfo` directory 
(https://discourse.llvm.org/t/clang-test-location-of-clang-debug-info-tests/87958).

Here we move only the `clang/test/CodeGenCXX` tests. I created a `CXX`
subdirectory for now because many of the tests I checked actually did
seem C++-specific. There is probably overlap between the `Generic` and
`CXX` subdirectory, but I haven't gone through and audited them all.

The list of files i came up with is:
1. searched for anything with `*debug-info*` in the filename
2. searched for occurrences of `debug-info-kind` in the tests

There's a couple of tests in `clang/test/CodeGenCXX` that still set 
`-debug-info-kind`. They probably don't need to do that, but I'm not changing 
that as part of this PR.
---
 ...info-lambda-this.cpp => lambda-this-2.cpp} |  0
 .../CXX}/2006-11-20-GlobalSymbols.cpp         |  0
 .../CXX}/2007-01-02-UnboundedArray.cpp        |  0
 .../CXX/2009-03-17.cpp}                       |  0
 .../CXX/2009-06-16-Crash.cpp}                 |  0
 .../CXX/2010-05-10-Var.cpp}                   |  0
 .../CXX/2010-05-12-PtrToMember.cpp}           |  0
 .../CXX}/2010-06-21-LocalVarDbg.cpp           |  0
 .../CXX}/2010-07-23-DeclLoc.cpp               |  0
 .../{CodeGenCXX => DebugInfo/CXX}/PR20038.cpp |  0
 .../CXX/access.cpp}                           |  0
 .../CXX}/aix-static-init-debug-info.cpp       |  0
 .../CXX/alias.cpp}                            |  0
 .../CXX/all-calls-described.cpp}              |  0
 .../CXX/anon-namespace.cpp}                   |  0
 .../CXX/anon-union-vars.cpp}                  |  0
 .../CXX/artificial-arg.cpp}                   |  0
 .../CXX/atexit-stub.cpp}                      |  0
 .../CXX/auto-return.cpp}                      |  0
 .../CXX/block-invocation-linkage-name.cpp}    |  0
 .../CXX/blocks.cpp}                           |  0
 .../CXX/bpf-structors.cpp}                    |  0
 .../CXX/byval.cpp}                            |  0
 .../CXX/calling-conventions.cpp}              |  0
 .../CXX/char16.cpp}                           |  0
 .../CXX/class-limited-plugin.test}            |  0
 .../CXX/class-limited.test}                   |  0
 .../CXX/class-nolimit.cpp}                    |  0
 .../CXX/class-optzns.cpp}                     |  0
 .../CXX/class.cpp}                            |  0
 .../CXX/codeview-display-name.cpp}            |  0
 .../CXX/codeview-heapallocsite.cpp}           |  0
 .../CXX/codeview-injected-class.cpp}          |  0
 .../CXX/codeview-nested-types.cpp}            |  0
 .../CXX/codeview-nodebug.cpp}                 |  0
 .../CXX/codeview-template-literal.cpp}        |  0
 .../CXX/codeview-template-type.cpp}           |  0
 .../CXX/codeview-unnamed.cpp}                 |  0
 .../CXX/codeview-var-templates.cpp}           |  0
 .../CXX/coff.cpp}                             |  0
 .../CXX/composite-cc.cpp}                     |  0
 .../CXX/composite-triviality-fwd-decl.cpp}    |  0
 .../CXX/composite-triviality.cpp}             |  0
 .../CXX/context.cpp}                          |  0
 .../CXX}/cp-blocks-linetables.cpp             |  0
 .../CXX/ctor-homing-flag.cpp}                 |  0
 .../CXX/ctor.cpp}                             |  0
 .../CXX/ctor2.cpp}                            |  0
 .../CXX/cxx0x.cpp}                            |  0
 .../CXX/cxx1y.cpp}                            |  0
 .../CXX}/debug-info.cpp                       |  0
 .../CXX/decl-nested.cpp}                      |  0
 .../CXX}/defaulted-template-alias.cpp         |  0
 .../CXX/deleted.cpp}                          |  0
 .../CXX}/dependent-template-alias.cpp         |  0
 .../CXX/destroy-helper.cpp}                   |  0
 .../CXX}/destructor-debug-info.cpp            |  0
 .../CXX/determinism.cpp}                      |  0
 .../CXX}/difile_entry.cpp                     |  0
 .../CXX/dllimport-base-class.cpp}             |  0
 .../CXX/dtor-implicit-args.cpp}               |  0
 .../CXX/dup-fwd-decl.cpp}                     |  0
 .../CXX/enum-class.cpp}                       |  0
 .../CXX/enum-i128.cpp}                        |  0
 .../CXX/enum-metadata-collision.cpp}          |  0
 .../CXX/enum.cpp}                             |  0
 .../CXX/explicit-cast.cpp}                    |  0
 .../CXX/explicit-this.cpp}                    |  0
 .../CXX/export_symbols.cpp}                   |  0
 .../CXX}/fdebug-info-for-profiling.cpp        |  0
 .../CXX}/field-access-debug-info.cpp          |  0
 .../CXX/fn-template.cpp}                      |  0
 .../CXX/friend.cpp}                           |  0
 .../CXX/function-context.cpp}                 |  0
 .../CXX/fwd-ref.cpp}                          |  0
 .../CXX/fwd-template-param.cpp}               |  0
 .../CXX/gline-tables-only-codeview.cpp}       |  0
 .../CXX/gline-tables-only.cpp}                |  0
 .../CXX/global-ctor-dtor.cpp}                 |  0
 .../CXX/global.cpp}                           |  0
 .../CXX}/globalinit-loc.cpp                   |  0
 .../CXX/globalinit.cpp}                       |  0
 .../CXX/hotpatch-aarch64.cpp}                 |  0
 .../CXX/hotpatch-arm.cpp}                     |  0
 .../CXX/hotpatch.cpp}                         |  0
 .../CXX/incomplete-types.cpp}                 |  0
 .../CXX/indirect-field-decl.cpp}              |  0
 .../CXX/inheriting-constructor.cpp}           |  0
 .../CXX}/inline-dllexport-member.cpp          |  0
 .../CXX/inlined.cpp}                          |  0
 .../CXX/lambda-expressions.cpp}               |  0
 .../CXX/lambda-this.cpp}                      |  0
 .../CXX/lambda.cpp}                           |  0
 .../CXX/large-constant.cpp}                   |  0
 .../CXX/limited-ctor.cpp}                     |  0
 .../CXX/limited.cpp}                          |  0
 .../CXX/line-if-2.cpp}                        |  0
 .../CXX/line-if.cpp}                          |  0
 .../CXX/line.cpp}                             |  0
 .../CXX}/linetable-cleanup.cpp                |  0
 .../CXX}/linetable-eh.cpp                     |  0
 .../CXX}/linetable-fnbegin.cpp                |  0
 .../CXX}/linetable-virtual-variadic.cpp       |  0
 .../CXX/loops.cpp}                            |  0
 .../CXX}/lpad-linetable.cpp                   |  0
 .../CXX/member-call.cpp}                      |  0
 .../CXX/member.cpp}                           |  0
 .../CXX/method-nodebug.cpp}                   |  0
 .../CXX/method-spec.cpp}                      |  0
 .../CXX/method.cpp}                           |  0
 .../CXX/method2.cpp}                          |  0
 ...crosoft-abi-member-pointers-debug-info.cpp |  0
 .../CXX/ms-abi.cpp}                           |  0
 .../CXX/ms-anonymous-tag.cpp}                 |  0
 .../CXX/ms-bitfields.cpp}                     |  0
 .../CXX/ms-dtor-thunks.cpp}                   |  0
 .../CXX/ms-novtable.cpp}                      |  0
 .../CXX/ms-ptr-to-member.cpp}                 |  0
 .../CXX/ms-vbase.cpp}                         |  0
 .../CXX/namespace.cpp}                        |  0
 .../CXX/nested-exprs.cpp}                     |  0
 .../CXX/nodebug.cpp}                          |  0
 .../CXX/noreturn.cpp}                         |  0
 .../CXX/nrvo.cpp}                             |  0
 .../CXX/nullptr.cpp}                          |  0
 .../CXX/object-pointer.cpp}                   |  0
 .../CXX/objname.cpp}                          |  0
 .../CXX/prefix-map-lambda.cpp}                |  0
 .../CXX/programming-language.cpp}             |  0
 .../CXX/ptr-to-member-function.cpp}           |  0
 .../CXX/ptr-to-ptr.cpp}                       |  0
 .../CXX/qualifiers.cpp}                       |  0
 .../CXX/range-for-var-names.cpp}              |  0
 clang/test/DebugInfo/CXX/remove_substring.py  | 49 +++++++++++++++++++
 .../CXX/rvalue-ref.cpp}                       |  0
 .../CXX/scope.cpp}                            |  0
 .../CXX/scoped-class.cpp}                     |  0
 .../CXX}/scoped-enums-debug-info.cpp          |  0
 .../CXX/simple-template-names.cpp}            |  0
 .../CXX}/standalone-debug-attribute.cpp       |  0
 .../CXX/static-fns.cpp}                       |  0
 .../CXX/static-member.cpp}                    |  0
 .../CXX/struct-align.cpp}                     |  0
 .../CXX/structured-binding-bitfield.cpp}      |  0
 .../CXX/structured-binding.cpp}               |  0
 .../CXX}/template-alias.cpp                   |  0
 .../CXX/template-align.cpp}                   |  0
 .../CXX/template-array.cpp}                   |  0
 .../CXX/template-deduction-guide.cpp}         |  0
 .../CXX/template-explicit-specialization.cpp} |  0
 .../CXX/template-fwd.cpp}                     |  0
 .../CXX/template-limit.cpp}                   |  0
 .../CXX/template-member.cpp}                  |  0
 .../CXX/template-parameter.cpp}               |  0
 .../CXX/template-partial-specialization.cpp}  |  0
 .../CXX/template-quals.cpp}                   |  0
 .../CXX/template-recursive.cpp}               |  0
 .../CXX/template.cpp}                         |  0
 .../CXX/this.cpp}                             |  0
 .../CXX/thunk-msabi.cpp}                      |  0
 .../CXX/thunk.cpp}                            |  0
 .../CXX}/trivial_abi_debuginfo.cpp            |  0
 .../CXX}/ubsan-check-debuglocs.cpp            |  0
 .../CXX/union-template.cpp}                   |  0
 .../CXX/union.cpp}                            |  0
 .../CXX/use-after-free.cpp}                   |  0
 .../CXX/uuid.cpp}                             |  0
 .../CXX/var-template-partial-spec.cpp}        |  0
 .../CXX/var-template-partial.cpp}             |  0
 .../CXX/varargs.cpp}                          |  0
 .../CXX}/variadic-template-alias.cpp          |  0
 .../CXX/verbose-trap.cpp}                     |  0
 .../CXX/vla.cpp}                              |  0
 .../CXX}/vtable-debug-info.cpp                |  0
 .../CXX}/vtable-holder-self-reference.cpp     |  0
 .../CXX/vtable-inheritance-diamond.cpp}       |  0
 .../CXX/vtable-inheritance-multiple.cpp}      |  0
 .../CXX/vtable-inheritance-simple-main.cpp}   |  0
 .../CXX/vtable-inheritance-simple.cpp}        |  0
 .../CXX/vtable-inheritance-virtual.cpp}       |  0
 .../CXX/vtable-optzn.cpp}                     |  0
 .../CXX/wchar.cpp}                            |  0
 .../CXX/windows-dtor.cpp}                     |  0
 .../CXX/zero-length-arrays.cpp}               |  0
 184 files changed, 49 insertions(+)
 rename clang/test/CodeGenCXX/{debug-info-lambda-this.cpp => lambda-this-2.cpp} 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/2006-11-20-GlobalSymbols.cpp 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/2007-01-02-UnboundedArray.cpp 
(100%)
 rename clang/test/{CodeGenCXX/2009-03-17-dbg.cpp => 
DebugInfo/CXX/2009-03-17.cpp} (100%)
 rename clang/test/{CodeGenCXX/2009-06-16-DebugInfoCrash.cpp => 
DebugInfo/CXX/2009-06-16-Crash.cpp} (100%)
 rename clang/test/{CodeGenCXX/2010-05-10-Var-DbgInfo.cpp => 
DebugInfo/CXX/2010-05-10-Var.cpp} (100%)
 rename clang/test/{CodeGenCXX/2010-05-12-PtrToMember-Dbg.cpp => 
DebugInfo/CXX/2010-05-12-PtrToMember.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/2010-06-21-LocalVarDbg.cpp 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/2010-07-23-DeclLoc.cpp (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/PR20038.cpp (100%)
 rename clang/test/{CodeGenCXX/debug-info-access.cpp => 
DebugInfo/CXX/access.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/aix-static-init-debug-info.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-alias.cpp => DebugInfo/CXX/alias.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/dbg-info-all-calls-described.cpp => 
DebugInfo/CXX/all-calls-described.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-anon-namespace.cpp => 
DebugInfo/CXX/anon-namespace.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-anon-union-vars.cpp => 
DebugInfo/CXX/anon-union-vars.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-artificial-arg.cpp => 
DebugInfo/CXX/artificial-arg.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-atexit-stub.cpp => 
DebugInfo/CXX/atexit-stub.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-auto-return.cpp => 
DebugInfo/CXX/auto-return.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-block-invocation-linkage-name.cpp => 
DebugInfo/CXX/block-invocation-linkage-name.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-blocks.cpp => 
DebugInfo/CXX/blocks.cpp} (100%)
 rename clang/test/{CodeGenCXX/bpf-debug-structors.cpp => 
DebugInfo/CXX/bpf-structors.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-byval.cpp => DebugInfo/CXX/byval.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-calling-conventions.cpp => 
DebugInfo/CXX/calling-conventions.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-char16.cpp => 
DebugInfo/CXX/char16.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-class-limited-plugin.test => 
DebugInfo/CXX/class-limited-plugin.test} (100%)
 rename clang/test/{CodeGenCXX/debug-info-class-limited.test => 
DebugInfo/CXX/class-limited.test} (100%)
 rename clang/test/{CodeGenCXX/debug-info-class-nolimit.cpp => 
DebugInfo/CXX/class-nolimit.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-class-optzns.cpp => 
DebugInfo/CXX/class-optzns.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-class.cpp => DebugInfo/CXX/class.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-codeview-display-name.cpp => 
DebugInfo/CXX/codeview-display-name.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-codeview-heapallocsite.cpp => 
DebugInfo/CXX/codeview-heapallocsite.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-codeview-injected-class.cpp => 
DebugInfo/CXX/codeview-injected-class.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-codeview-nested-types.cpp => 
DebugInfo/CXX/codeview-nested-types.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-codeview-nodebug.cpp => 
DebugInfo/CXX/codeview-nodebug.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-codeview-template-literal.cpp => 
DebugInfo/CXX/codeview-template-literal.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-codeview-template-type.cpp => 
DebugInfo/CXX/codeview-template-type.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-codeview-unnamed.cpp => 
DebugInfo/CXX/codeview-unnamed.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-codeview-var-templates.cpp => 
DebugInfo/CXX/codeview-var-templates.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-coff.cpp => DebugInfo/CXX/coff.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-composite-cc.cpp => 
DebugInfo/CXX/composite-cc.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-composite-triviality-fwd-decl.cpp => 
DebugInfo/CXX/composite-triviality-fwd-decl.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-composite-triviality.cpp => 
DebugInfo/CXX/composite-triviality.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-context.cpp => 
DebugInfo/CXX/context.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/cp-blocks-linetables.cpp (100%)
 rename clang/test/{CodeGenCXX/debug-info-ctor-homing-flag.cpp => 
DebugInfo/CXX/ctor-homing-flag.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-ctor.cpp => DebugInfo/CXX/ctor.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-ctor2.cpp => DebugInfo/CXX/ctor2.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-cxx0x.cpp => DebugInfo/CXX/cxx0x.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-cxx1y.cpp => DebugInfo/CXX/cxx1y.cpp} 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/debug-info.cpp (100%)
 rename clang/test/{CodeGenCXX/debug-info-decl-nested.cpp => 
DebugInfo/CXX/decl-nested.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/defaulted-template-alias.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-deleted.cpp => 
DebugInfo/CXX/deleted.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/dependent-template-alias.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-destroy-helper.cpp => 
DebugInfo/CXX/destroy-helper.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/destructor-debug-info.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-determinism.cpp => 
DebugInfo/CXX/determinism.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/difile_entry.cpp (100%)
 rename clang/test/{CodeGenCXX/debug-info-dllimport-base-class.cpp => 
DebugInfo/CXX/dllimport-base-class.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-dtor-implicit-args.cpp => 
DebugInfo/CXX/dtor-implicit-args.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-dup-fwd-decl.cpp => 
DebugInfo/CXX/dup-fwd-decl.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-enum-class.cpp => 
DebugInfo/CXX/enum-class.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-enum-i128.cpp => 
DebugInfo/CXX/enum-i128.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-enum-metadata-collision.cpp => 
DebugInfo/CXX/enum-metadata-collision.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-enum.cpp => DebugInfo/CXX/enum.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-explicit-cast.cpp => 
DebugInfo/CXX/explicit-cast.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-explicit-this.cpp => 
DebugInfo/CXX/explicit-this.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-export_symbols.cpp => 
DebugInfo/CXX/export_symbols.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/fdebug-info-for-profiling.cpp 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/field-access-debug-info.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-fn-template.cpp => 
DebugInfo/CXX/fn-template.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-friend.cpp => 
DebugInfo/CXX/friend.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-function-context.cpp => 
DebugInfo/CXX/function-context.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-fwd-ref.cpp => 
DebugInfo/CXX/fwd-ref.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-fwd-template-param.cpp => 
DebugInfo/CXX/fwd-template-param.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-gline-tables-only-codeview.cpp => 
DebugInfo/CXX/gline-tables-only-codeview.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-gline-tables-only.cpp => 
DebugInfo/CXX/gline-tables-only.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-global-ctor-dtor.cpp => 
DebugInfo/CXX/global-ctor-dtor.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-global.cpp => 
DebugInfo/CXX/global.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/globalinit-loc.cpp (100%)
 rename clang/test/{CodeGenCXX/debug-info-globalinit.cpp => 
DebugInfo/CXX/globalinit.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-hotpatch-aarch64.cpp => 
DebugInfo/CXX/hotpatch-aarch64.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-hotpatch-arm.cpp => 
DebugInfo/CXX/hotpatch-arm.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-hotpatch.cpp => 
DebugInfo/CXX/hotpatch.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-incomplete-types.cpp => 
DebugInfo/CXX/incomplete-types.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-indirect-field-decl.cpp => 
DebugInfo/CXX/indirect-field-decl.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-inheriting-constructor.cpp => 
DebugInfo/CXX/inheriting-constructor.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/inline-dllexport-member.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-inlined.cpp => 
DebugInfo/CXX/inlined.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-lambda-expressions.cpp => 
DebugInfo/CXX/lambda-expressions.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-lambda-this.cpp => 
DebugInfo/CXX/lambda-this.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-lambda.cpp => 
DebugInfo/CXX/lambda.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-large-constant.cpp => 
DebugInfo/CXX/large-constant.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-limited-ctor.cpp => 
DebugInfo/CXX/limited-ctor.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-limited.cpp => 
DebugInfo/CXX/limited.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-line-if-2.cpp => 
DebugInfo/CXX/line-if-2.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-line-if.cpp => 
DebugInfo/CXX/line-if.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-line.cpp => DebugInfo/CXX/line.cpp} 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/linetable-cleanup.cpp (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/linetable-eh.cpp (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/linetable-fnbegin.cpp (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/linetable-virtual-variadic.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-loops.cpp => DebugInfo/CXX/loops.cpp} 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/lpad-linetable.cpp (100%)
 rename clang/test/{CodeGenCXX/debug-info-member-call.cpp => 
DebugInfo/CXX/member-call.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-member.cpp => 
DebugInfo/CXX/member.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-method-nodebug.cpp => 
DebugInfo/CXX/method-nodebug.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-method-spec.cpp => 
DebugInfo/CXX/method-spec.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-method.cpp => 
DebugInfo/CXX/method.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-method2.cpp => 
DebugInfo/CXX/method2.cpp} (100%)
 rename clang/test/{CodeGenCXX => 
DebugInfo/CXX}/microsoft-abi-member-pointers-debug-info.cpp (100%)
 rename clang/test/{CodeGenCXX/debug-info-ms-abi.cpp => 
DebugInfo/CXX/ms-abi.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-ms-anonymous-tag.cpp => 
DebugInfo/CXX/ms-anonymous-tag.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-ms-bitfields.cpp => 
DebugInfo/CXX/ms-bitfields.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-ms-dtor-thunks.cpp => 
DebugInfo/CXX/ms-dtor-thunks.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-ms-novtable.cpp => 
DebugInfo/CXX/ms-novtable.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-ms-ptr-to-member.cpp => 
DebugInfo/CXX/ms-ptr-to-member.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-ms-vbase.cpp => 
DebugInfo/CXX/ms-vbase.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-namespace.cpp => 
DebugInfo/CXX/namespace.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-nested-exprs.cpp => 
DebugInfo/CXX/nested-exprs.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-nodebug.cpp => 
DebugInfo/CXX/nodebug.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-noreturn.cpp => 
DebugInfo/CXX/noreturn.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-nrvo.cpp => DebugInfo/CXX/nrvo.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-nullptr.cpp => 
DebugInfo/CXX/nullptr.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-object-pointer.cpp => 
DebugInfo/CXX/object-pointer.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-objname.cpp => 
DebugInfo/CXX/objname.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-prefix-map-lambda.cpp => 
DebugInfo/CXX/prefix-map-lambda.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-programming-language.cpp => 
DebugInfo/CXX/programming-language.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-ptr-to-member-function.cpp => 
DebugInfo/CXX/ptr-to-member-function.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-ptr-to-ptr.cpp => 
DebugInfo/CXX/ptr-to-ptr.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-qualifiers.cpp => 
DebugInfo/CXX/qualifiers.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-range-for-var-names.cpp => 
DebugInfo/CXX/range-for-var-names.cpp} (100%)
 create mode 100644 clang/test/DebugInfo/CXX/remove_substring.py
 rename clang/test/{CodeGenCXX/debug-info-rvalue-ref.cpp => 
DebugInfo/CXX/rvalue-ref.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-scope.cpp => DebugInfo/CXX/scope.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-scoped-class.cpp => 
DebugInfo/CXX/scoped-class.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/scoped-enums-debug-info.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-simple-template-names.cpp => 
DebugInfo/CXX/simple-template-names.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/standalone-debug-attribute.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-static-fns.cpp => 
DebugInfo/CXX/static-fns.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-static-member.cpp => 
DebugInfo/CXX/static-member.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-struct-align.cpp => 
DebugInfo/CXX/struct-align.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-structured-binding-bitfield.cpp => 
DebugInfo/CXX/structured-binding-bitfield.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-structured-binding.cpp => 
DebugInfo/CXX/structured-binding.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/template-alias.cpp (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-align.cpp => 
DebugInfo/CXX/template-align.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-array.cpp => 
DebugInfo/CXX/template-array.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-deduction-guide.cpp => 
DebugInfo/CXX/template-deduction-guide.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-explicit-specialization.cpp 
=> DebugInfo/CXX/template-explicit-specialization.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-fwd.cpp => 
DebugInfo/CXX/template-fwd.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-limit.cpp => 
DebugInfo/CXX/template-limit.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-member.cpp => 
DebugInfo/CXX/template-member.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-parameter.cpp => 
DebugInfo/CXX/template-parameter.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-partial-specialization.cpp 
=> DebugInfo/CXX/template-partial-specialization.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-quals.cpp => 
DebugInfo/CXX/template-quals.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template-recursive.cpp => 
DebugInfo/CXX/template-recursive.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-template.cpp => 
DebugInfo/CXX/template.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-this.cpp => DebugInfo/CXX/this.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-thunk-msabi.cpp => 
DebugInfo/CXX/thunk-msabi.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-thunk.cpp => DebugInfo/CXX/thunk.cpp} 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/trivial_abi_debuginfo.cpp 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/ubsan-check-debuglocs.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-union-template.cpp => 
DebugInfo/CXX/union-template.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-union.cpp => DebugInfo/CXX/union.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-use-after-free.cpp => 
DebugInfo/CXX/use-after-free.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-uuid.cpp => DebugInfo/CXX/uuid.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-var-template-partial-spec.cpp => 
DebugInfo/CXX/var-template-partial-spec.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-var-template-partial.cpp => 
DebugInfo/CXX/var-template-partial.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-varargs.cpp => 
DebugInfo/CXX/varargs.cpp} (100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/variadic-template-alias.cpp 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-verbose-trap.cpp => 
DebugInfo/CXX/verbose-trap.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-vla.cpp => DebugInfo/CXX/vla.cpp} 
(100%)
 rename clang/test/{CodeGenCXX => DebugInfo/CXX}/vtable-debug-info.cpp (100%)
 rename clang/test/{CodeGenCXX => 
DebugInfo/CXX}/vtable-holder-self-reference.cpp (100%)
 rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-diamond.cpp => 
DebugInfo/CXX/vtable-inheritance-diamond.cpp} (100%)
 rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-multiple.cpp => 
DebugInfo/CXX/vtable-inheritance-multiple.cpp} (100%)
 rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-simple-main.cpp => 
DebugInfo/CXX/vtable-inheritance-simple-main.cpp} (100%)
 rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-simple.cpp => 
DebugInfo/CXX/vtable-inheritance-simple.cpp} (100%)
 rename clang/test/{CodeGenCXX/vtable-debug-info-inheritance-virtual.cpp => 
DebugInfo/CXX/vtable-inheritance-virtual.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-vtable-optzn.cpp => 
DebugInfo/CXX/vtable-optzn.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-wchar.cpp => DebugInfo/CXX/wchar.cpp} 
(100%)
 rename clang/test/{CodeGenCXX/debug-info-windows-dtor.cpp => 
DebugInfo/CXX/windows-dtor.cpp} (100%)
 rename clang/test/{CodeGenCXX/debug-info-zero-length-arrays.cpp => 
DebugInfo/CXX/zero-length-arrays.cpp} (100%)

diff --git a/clang/test/CodeGenCXX/debug-info-lambda-this.cpp 
b/clang/test/CodeGenCXX/lambda-this-2.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-lambda-this.cpp
rename to clang/test/CodeGenCXX/lambda-this-2.cpp
diff --git a/clang/test/CodeGenCXX/2006-11-20-GlobalSymbols.cpp 
b/clang/test/DebugInfo/CXX/2006-11-20-GlobalSymbols.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2006-11-20-GlobalSymbols.cpp
rename to clang/test/DebugInfo/CXX/2006-11-20-GlobalSymbols.cpp
diff --git a/clang/test/CodeGenCXX/2007-01-02-UnboundedArray.cpp 
b/clang/test/DebugInfo/CXX/2007-01-02-UnboundedArray.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2007-01-02-UnboundedArray.cpp
rename to clang/test/DebugInfo/CXX/2007-01-02-UnboundedArray.cpp
diff --git a/clang/test/CodeGenCXX/2009-03-17-dbg.cpp 
b/clang/test/DebugInfo/CXX/2009-03-17.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2009-03-17-dbg.cpp
rename to clang/test/DebugInfo/CXX/2009-03-17.cpp
diff --git a/clang/test/CodeGenCXX/2009-06-16-DebugInfoCrash.cpp 
b/clang/test/DebugInfo/CXX/2009-06-16-Crash.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2009-06-16-DebugInfoCrash.cpp
rename to clang/test/DebugInfo/CXX/2009-06-16-Crash.cpp
diff --git a/clang/test/CodeGenCXX/2010-05-10-Var-DbgInfo.cpp 
b/clang/test/DebugInfo/CXX/2010-05-10-Var.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2010-05-10-Var-DbgInfo.cpp
rename to clang/test/DebugInfo/CXX/2010-05-10-Var.cpp
diff --git a/clang/test/CodeGenCXX/2010-05-12-PtrToMember-Dbg.cpp 
b/clang/test/DebugInfo/CXX/2010-05-12-PtrToMember.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2010-05-12-PtrToMember-Dbg.cpp
rename to clang/test/DebugInfo/CXX/2010-05-12-PtrToMember.cpp
diff --git a/clang/test/CodeGenCXX/2010-06-21-LocalVarDbg.cpp 
b/clang/test/DebugInfo/CXX/2010-06-21-LocalVarDbg.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2010-06-21-LocalVarDbg.cpp
rename to clang/test/DebugInfo/CXX/2010-06-21-LocalVarDbg.cpp
diff --git a/clang/test/CodeGenCXX/2010-07-23-DeclLoc.cpp 
b/clang/test/DebugInfo/CXX/2010-07-23-DeclLoc.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/2010-07-23-DeclLoc.cpp
rename to clang/test/DebugInfo/CXX/2010-07-23-DeclLoc.cpp
diff --git a/clang/test/CodeGenCXX/PR20038.cpp 
b/clang/test/DebugInfo/CXX/PR20038.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/PR20038.cpp
rename to clang/test/DebugInfo/CXX/PR20038.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-access.cpp 
b/clang/test/DebugInfo/CXX/access.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-access.cpp
rename to clang/test/DebugInfo/CXX/access.cpp
diff --git a/clang/test/CodeGenCXX/aix-static-init-debug-info.cpp 
b/clang/test/DebugInfo/CXX/aix-static-init-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/aix-static-init-debug-info.cpp
rename to clang/test/DebugInfo/CXX/aix-static-init-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-alias.cpp 
b/clang/test/DebugInfo/CXX/alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-alias.cpp
rename to clang/test/DebugInfo/CXX/alias.cpp
diff --git a/clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp 
b/clang/test/DebugInfo/CXX/all-calls-described.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
rename to clang/test/DebugInfo/CXX/all-calls-described.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-anon-namespace.cpp 
b/clang/test/DebugInfo/CXX/anon-namespace.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-anon-namespace.cpp
rename to clang/test/DebugInfo/CXX/anon-namespace.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp 
b/clang/test/DebugInfo/CXX/anon-union-vars.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp
rename to clang/test/DebugInfo/CXX/anon-union-vars.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-artificial-arg.cpp 
b/clang/test/DebugInfo/CXX/artificial-arg.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-artificial-arg.cpp
rename to clang/test/DebugInfo/CXX/artificial-arg.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-atexit-stub.cpp 
b/clang/test/DebugInfo/CXX/atexit-stub.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-atexit-stub.cpp
rename to clang/test/DebugInfo/CXX/atexit-stub.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-auto-return.cpp 
b/clang/test/DebugInfo/CXX/auto-return.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-auto-return.cpp
rename to clang/test/DebugInfo/CXX/auto-return.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-block-invocation-linkage-name.cpp 
b/clang/test/DebugInfo/CXX/block-invocation-linkage-name.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-block-invocation-linkage-name.cpp
rename to clang/test/DebugInfo/CXX/block-invocation-linkage-name.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-blocks.cpp 
b/clang/test/DebugInfo/CXX/blocks.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-blocks.cpp
rename to clang/test/DebugInfo/CXX/blocks.cpp
diff --git a/clang/test/CodeGenCXX/bpf-debug-structors.cpp 
b/clang/test/DebugInfo/CXX/bpf-structors.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/bpf-debug-structors.cpp
rename to clang/test/DebugInfo/CXX/bpf-structors.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-byval.cpp 
b/clang/test/DebugInfo/CXX/byval.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-byval.cpp
rename to clang/test/DebugInfo/CXX/byval.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-calling-conventions.cpp 
b/clang/test/DebugInfo/CXX/calling-conventions.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-calling-conventions.cpp
rename to clang/test/DebugInfo/CXX/calling-conventions.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-char16.cpp 
b/clang/test/DebugInfo/CXX/char16.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-char16.cpp
rename to clang/test/DebugInfo/CXX/char16.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-class-limited-plugin.test 
b/clang/test/DebugInfo/CXX/class-limited-plugin.test
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class-limited-plugin.test
rename to clang/test/DebugInfo/CXX/class-limited-plugin.test
diff --git a/clang/test/CodeGenCXX/debug-info-class-limited.test 
b/clang/test/DebugInfo/CXX/class-limited.test
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class-limited.test
rename to clang/test/DebugInfo/CXX/class-limited.test
diff --git a/clang/test/CodeGenCXX/debug-info-class-nolimit.cpp 
b/clang/test/DebugInfo/CXX/class-nolimit.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class-nolimit.cpp
rename to clang/test/DebugInfo/CXX/class-nolimit.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-class-optzns.cpp 
b/clang/test/DebugInfo/CXX/class-optzns.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class-optzns.cpp
rename to clang/test/DebugInfo/CXX/class-optzns.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-class.cpp 
b/clang/test/DebugInfo/CXX/class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-class.cpp
rename to clang/test/DebugInfo/CXX/class.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-display-name.cpp 
b/clang/test/DebugInfo/CXX/codeview-display-name.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-display-name.cpp
rename to clang/test/DebugInfo/CXX/codeview-display-name.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-heapallocsite.cpp 
b/clang/test/DebugInfo/CXX/codeview-heapallocsite.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-heapallocsite.cpp
rename to clang/test/DebugInfo/CXX/codeview-heapallocsite.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-injected-class.cpp 
b/clang/test/DebugInfo/CXX/codeview-injected-class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-injected-class.cpp
rename to clang/test/DebugInfo/CXX/codeview-injected-class.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-nested-types.cpp 
b/clang/test/DebugInfo/CXX/codeview-nested-types.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-nested-types.cpp
rename to clang/test/DebugInfo/CXX/codeview-nested-types.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-nodebug.cpp 
b/clang/test/DebugInfo/CXX/codeview-nodebug.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-nodebug.cpp
rename to clang/test/DebugInfo/CXX/codeview-nodebug.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-template-literal.cpp 
b/clang/test/DebugInfo/CXX/codeview-template-literal.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-template-literal.cpp
rename to clang/test/DebugInfo/CXX/codeview-template-literal.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-template-type.cpp 
b/clang/test/DebugInfo/CXX/codeview-template-type.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-template-type.cpp
rename to clang/test/DebugInfo/CXX/codeview-template-type.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp 
b/clang/test/DebugInfo/CXX/codeview-unnamed.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
rename to clang/test/DebugInfo/CXX/codeview-unnamed.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-codeview-var-templates.cpp 
b/clang/test/DebugInfo/CXX/codeview-var-templates.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-codeview-var-templates.cpp
rename to clang/test/DebugInfo/CXX/codeview-var-templates.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-coff.cpp 
b/clang/test/DebugInfo/CXX/coff.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-coff.cpp
rename to clang/test/DebugInfo/CXX/coff.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-composite-cc.cpp 
b/clang/test/DebugInfo/CXX/composite-cc.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-composite-cc.cpp
rename to clang/test/DebugInfo/CXX/composite-cc.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-composite-triviality-fwd-decl.cpp 
b/clang/test/DebugInfo/CXX/composite-triviality-fwd-decl.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-composite-triviality-fwd-decl.cpp
rename to clang/test/DebugInfo/CXX/composite-triviality-fwd-decl.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-composite-triviality.cpp 
b/clang/test/DebugInfo/CXX/composite-triviality.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-composite-triviality.cpp
rename to clang/test/DebugInfo/CXX/composite-triviality.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-context.cpp 
b/clang/test/DebugInfo/CXX/context.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-context.cpp
rename to clang/test/DebugInfo/CXX/context.cpp
diff --git a/clang/test/CodeGenCXX/cp-blocks-linetables.cpp 
b/clang/test/DebugInfo/CXX/cp-blocks-linetables.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/cp-blocks-linetables.cpp
rename to clang/test/DebugInfo/CXX/cp-blocks-linetables.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ctor-homing-flag.cpp 
b/clang/test/DebugInfo/CXX/ctor-homing-flag.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ctor-homing-flag.cpp
rename to clang/test/DebugInfo/CXX/ctor-homing-flag.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ctor.cpp 
b/clang/test/DebugInfo/CXX/ctor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ctor.cpp
rename to clang/test/DebugInfo/CXX/ctor.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ctor2.cpp 
b/clang/test/DebugInfo/CXX/ctor2.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ctor2.cpp
rename to clang/test/DebugInfo/CXX/ctor2.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-cxx0x.cpp 
b/clang/test/DebugInfo/CXX/cxx0x.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-cxx0x.cpp
rename to clang/test/DebugInfo/CXX/cxx0x.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-cxx1y.cpp 
b/clang/test/DebugInfo/CXX/cxx1y.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-cxx1y.cpp
rename to clang/test/DebugInfo/CXX/cxx1y.cpp
diff --git a/clang/test/CodeGenCXX/debug-info.cpp 
b/clang/test/DebugInfo/CXX/debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info.cpp
rename to clang/test/DebugInfo/CXX/debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-decl-nested.cpp 
b/clang/test/DebugInfo/CXX/decl-nested.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-decl-nested.cpp
rename to clang/test/DebugInfo/CXX/decl-nested.cpp
diff --git a/clang/test/CodeGenCXX/defaulted-template-alias.cpp 
b/clang/test/DebugInfo/CXX/defaulted-template-alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/defaulted-template-alias.cpp
rename to clang/test/DebugInfo/CXX/defaulted-template-alias.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-deleted.cpp 
b/clang/test/DebugInfo/CXX/deleted.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-deleted.cpp
rename to clang/test/DebugInfo/CXX/deleted.cpp
diff --git a/clang/test/CodeGenCXX/dependent-template-alias.cpp 
b/clang/test/DebugInfo/CXX/dependent-template-alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/dependent-template-alias.cpp
rename to clang/test/DebugInfo/CXX/dependent-template-alias.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-destroy-helper.cpp 
b/clang/test/DebugInfo/CXX/destroy-helper.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-destroy-helper.cpp
rename to clang/test/DebugInfo/CXX/destroy-helper.cpp
diff --git a/clang/test/CodeGenCXX/destructor-debug-info.cpp 
b/clang/test/DebugInfo/CXX/destructor-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/destructor-debug-info.cpp
rename to clang/test/DebugInfo/CXX/destructor-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-determinism.cpp 
b/clang/test/DebugInfo/CXX/determinism.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-determinism.cpp
rename to clang/test/DebugInfo/CXX/determinism.cpp
diff --git a/clang/test/CodeGenCXX/difile_entry.cpp 
b/clang/test/DebugInfo/CXX/difile_entry.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/difile_entry.cpp
rename to clang/test/DebugInfo/CXX/difile_entry.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-dllimport-base-class.cpp 
b/clang/test/DebugInfo/CXX/dllimport-base-class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-dllimport-base-class.cpp
rename to clang/test/DebugInfo/CXX/dllimport-base-class.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp 
b/clang/test/DebugInfo/CXX/dtor-implicit-args.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp
rename to clang/test/DebugInfo/CXX/dtor-implicit-args.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp 
b/clang/test/DebugInfo/CXX/dup-fwd-decl.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp
rename to clang/test/DebugInfo/CXX/dup-fwd-decl.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-enum-class.cpp 
b/clang/test/DebugInfo/CXX/enum-class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-enum-class.cpp
rename to clang/test/DebugInfo/CXX/enum-class.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-enum-i128.cpp 
b/clang/test/DebugInfo/CXX/enum-i128.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-enum-i128.cpp
rename to clang/test/DebugInfo/CXX/enum-i128.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-enum-metadata-collision.cpp 
b/clang/test/DebugInfo/CXX/enum-metadata-collision.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-enum-metadata-collision.cpp
rename to clang/test/DebugInfo/CXX/enum-metadata-collision.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-enum.cpp 
b/clang/test/DebugInfo/CXX/enum.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-enum.cpp
rename to clang/test/DebugInfo/CXX/enum.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-explicit-cast.cpp 
b/clang/test/DebugInfo/CXX/explicit-cast.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-explicit-cast.cpp
rename to clang/test/DebugInfo/CXX/explicit-cast.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-explicit-this.cpp 
b/clang/test/DebugInfo/CXX/explicit-this.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-explicit-this.cpp
rename to clang/test/DebugInfo/CXX/explicit-this.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-export_symbols.cpp 
b/clang/test/DebugInfo/CXX/export_symbols.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-export_symbols.cpp
rename to clang/test/DebugInfo/CXX/export_symbols.cpp
diff --git a/clang/test/CodeGenCXX/fdebug-info-for-profiling.cpp 
b/clang/test/DebugInfo/CXX/fdebug-info-for-profiling.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/fdebug-info-for-profiling.cpp
rename to clang/test/DebugInfo/CXX/fdebug-info-for-profiling.cpp
diff --git a/clang/test/CodeGenCXX/field-access-debug-info.cpp 
b/clang/test/DebugInfo/CXX/field-access-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/field-access-debug-info.cpp
rename to clang/test/DebugInfo/CXX/field-access-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-fn-template.cpp 
b/clang/test/DebugInfo/CXX/fn-template.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-fn-template.cpp
rename to clang/test/DebugInfo/CXX/fn-template.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-friend.cpp 
b/clang/test/DebugInfo/CXX/friend.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-friend.cpp
rename to clang/test/DebugInfo/CXX/friend.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-function-context.cpp 
b/clang/test/DebugInfo/CXX/function-context.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-function-context.cpp
rename to clang/test/DebugInfo/CXX/function-context.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-fwd-ref.cpp 
b/clang/test/DebugInfo/CXX/fwd-ref.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-fwd-ref.cpp
rename to clang/test/DebugInfo/CXX/fwd-ref.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-fwd-template-param.cpp 
b/clang/test/DebugInfo/CXX/fwd-template-param.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-fwd-template-param.cpp
rename to clang/test/DebugInfo/CXX/fwd-template-param.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp 
b/clang/test/DebugInfo/CXX/gline-tables-only-codeview.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
rename to clang/test/DebugInfo/CXX/gline-tables-only-codeview.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp 
b/clang/test/DebugInfo/CXX/gline-tables-only.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp
rename to clang/test/DebugInfo/CXX/gline-tables-only.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp 
b/clang/test/DebugInfo/CXX/global-ctor-dtor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
rename to clang/test/DebugInfo/CXX/global-ctor-dtor.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-global.cpp 
b/clang/test/DebugInfo/CXX/global.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-global.cpp
rename to clang/test/DebugInfo/CXX/global.cpp
diff --git a/clang/test/CodeGenCXX/globalinit-loc.cpp 
b/clang/test/DebugInfo/CXX/globalinit-loc.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/globalinit-loc.cpp
rename to clang/test/DebugInfo/CXX/globalinit-loc.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-globalinit.cpp 
b/clang/test/DebugInfo/CXX/globalinit.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-globalinit.cpp
rename to clang/test/DebugInfo/CXX/globalinit.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp 
b/clang/test/DebugInfo/CXX/hotpatch-aarch64.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp
rename to clang/test/DebugInfo/CXX/hotpatch-aarch64.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-hotpatch-arm.cpp 
b/clang/test/DebugInfo/CXX/hotpatch-arm.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-hotpatch-arm.cpp
rename to clang/test/DebugInfo/CXX/hotpatch-arm.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-hotpatch.cpp 
b/clang/test/DebugInfo/CXX/hotpatch.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-hotpatch.cpp
rename to clang/test/DebugInfo/CXX/hotpatch.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-incomplete-types.cpp 
b/clang/test/DebugInfo/CXX/incomplete-types.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-incomplete-types.cpp
rename to clang/test/DebugInfo/CXX/incomplete-types.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-indirect-field-decl.cpp 
b/clang/test/DebugInfo/CXX/indirect-field-decl.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-indirect-field-decl.cpp
rename to clang/test/DebugInfo/CXX/indirect-field-decl.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp 
b/clang/test/DebugInfo/CXX/inheriting-constructor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
rename to clang/test/DebugInfo/CXX/inheriting-constructor.cpp
diff --git a/clang/test/CodeGenCXX/inline-dllexport-member.cpp 
b/clang/test/DebugInfo/CXX/inline-dllexport-member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/inline-dllexport-member.cpp
rename to clang/test/DebugInfo/CXX/inline-dllexport-member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-inlined.cpp 
b/clang/test/DebugInfo/CXX/inlined.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-inlined.cpp
rename to clang/test/DebugInfo/CXX/inlined.cpp
diff --git a/clang/test/CodeGenCXX/debug-lambda-expressions.cpp 
b/clang/test/DebugInfo/CXX/lambda-expressions.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-lambda-expressions.cpp
rename to clang/test/DebugInfo/CXX/lambda-expressions.cpp
diff --git a/clang/test/CodeGenCXX/debug-lambda-this.cpp 
b/clang/test/DebugInfo/CXX/lambda-this.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-lambda-this.cpp
rename to clang/test/DebugInfo/CXX/lambda-this.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-lambda.cpp 
b/clang/test/DebugInfo/CXX/lambda.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-lambda.cpp
rename to clang/test/DebugInfo/CXX/lambda.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-large-constant.cpp 
b/clang/test/DebugInfo/CXX/large-constant.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-large-constant.cpp
rename to clang/test/DebugInfo/CXX/large-constant.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-limited-ctor.cpp 
b/clang/test/DebugInfo/CXX/limited-ctor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-limited-ctor.cpp
rename to clang/test/DebugInfo/CXX/limited-ctor.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-limited.cpp 
b/clang/test/DebugInfo/CXX/limited.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-limited.cpp
rename to clang/test/DebugInfo/CXX/limited.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-line-if-2.cpp 
b/clang/test/DebugInfo/CXX/line-if-2.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-line-if-2.cpp
rename to clang/test/DebugInfo/CXX/line-if-2.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-line-if.cpp 
b/clang/test/DebugInfo/CXX/line-if.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-line-if.cpp
rename to clang/test/DebugInfo/CXX/line-if.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-line.cpp 
b/clang/test/DebugInfo/CXX/line.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-line.cpp
rename to clang/test/DebugInfo/CXX/line.cpp
diff --git a/clang/test/CodeGenCXX/linetable-cleanup.cpp 
b/clang/test/DebugInfo/CXX/linetable-cleanup.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/linetable-cleanup.cpp
rename to clang/test/DebugInfo/CXX/linetable-cleanup.cpp
diff --git a/clang/test/CodeGenCXX/linetable-eh.cpp 
b/clang/test/DebugInfo/CXX/linetable-eh.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/linetable-eh.cpp
rename to clang/test/DebugInfo/CXX/linetable-eh.cpp
diff --git a/clang/test/CodeGenCXX/linetable-fnbegin.cpp 
b/clang/test/DebugInfo/CXX/linetable-fnbegin.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/linetable-fnbegin.cpp
rename to clang/test/DebugInfo/CXX/linetable-fnbegin.cpp
diff --git a/clang/test/CodeGenCXX/linetable-virtual-variadic.cpp 
b/clang/test/DebugInfo/CXX/linetable-virtual-variadic.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/linetable-virtual-variadic.cpp
rename to clang/test/DebugInfo/CXX/linetable-virtual-variadic.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-loops.cpp 
b/clang/test/DebugInfo/CXX/loops.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-loops.cpp
rename to clang/test/DebugInfo/CXX/loops.cpp
diff --git a/clang/test/CodeGenCXX/lpad-linetable.cpp 
b/clang/test/DebugInfo/CXX/lpad-linetable.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/lpad-linetable.cpp
rename to clang/test/DebugInfo/CXX/lpad-linetable.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-member-call.cpp 
b/clang/test/DebugInfo/CXX/member-call.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-member-call.cpp
rename to clang/test/DebugInfo/CXX/member-call.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-member.cpp 
b/clang/test/DebugInfo/CXX/member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-member.cpp
rename to clang/test/DebugInfo/CXX/member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-method-nodebug.cpp 
b/clang/test/DebugInfo/CXX/method-nodebug.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-method-nodebug.cpp
rename to clang/test/DebugInfo/CXX/method-nodebug.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-method-spec.cpp 
b/clang/test/DebugInfo/CXX/method-spec.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-method-spec.cpp
rename to clang/test/DebugInfo/CXX/method-spec.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-method.cpp 
b/clang/test/DebugInfo/CXX/method.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-method.cpp
rename to clang/test/DebugInfo/CXX/method.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-method2.cpp 
b/clang/test/DebugInfo/CXX/method2.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-method2.cpp
rename to clang/test/DebugInfo/CXX/method2.cpp
diff --git a/clang/test/CodeGenCXX/microsoft-abi-member-pointers-debug-info.cpp 
b/clang/test/DebugInfo/CXX/microsoft-abi-member-pointers-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/microsoft-abi-member-pointers-debug-info.cpp
rename to clang/test/DebugInfo/CXX/microsoft-abi-member-pointers-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-abi.cpp 
b/clang/test/DebugInfo/CXX/ms-abi.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-abi.cpp
rename to clang/test/DebugInfo/CXX/ms-abi.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-anonymous-tag.cpp 
b/clang/test/DebugInfo/CXX/ms-anonymous-tag.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-anonymous-tag.cpp
rename to clang/test/DebugInfo/CXX/ms-anonymous-tag.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-bitfields.cpp 
b/clang/test/DebugInfo/CXX/ms-bitfields.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-bitfields.cpp
rename to clang/test/DebugInfo/CXX/ms-bitfields.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-dtor-thunks.cpp 
b/clang/test/DebugInfo/CXX/ms-dtor-thunks.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-dtor-thunks.cpp
rename to clang/test/DebugInfo/CXX/ms-dtor-thunks.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-novtable.cpp 
b/clang/test/DebugInfo/CXX/ms-novtable.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-novtable.cpp
rename to clang/test/DebugInfo/CXX/ms-novtable.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-ptr-to-member.cpp 
b/clang/test/DebugInfo/CXX/ms-ptr-to-member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-ptr-to-member.cpp
rename to clang/test/DebugInfo/CXX/ms-ptr-to-member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ms-vbase.cpp 
b/clang/test/DebugInfo/CXX/ms-vbase.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ms-vbase.cpp
rename to clang/test/DebugInfo/CXX/ms-vbase.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-namespace.cpp 
b/clang/test/DebugInfo/CXX/namespace.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-namespace.cpp
rename to clang/test/DebugInfo/CXX/namespace.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-nested-exprs.cpp 
b/clang/test/DebugInfo/CXX/nested-exprs.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-nested-exprs.cpp
rename to clang/test/DebugInfo/CXX/nested-exprs.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-nodebug.cpp 
b/clang/test/DebugInfo/CXX/nodebug.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-nodebug.cpp
rename to clang/test/DebugInfo/CXX/nodebug.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-noreturn.cpp 
b/clang/test/DebugInfo/CXX/noreturn.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-noreturn.cpp
rename to clang/test/DebugInfo/CXX/noreturn.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-nrvo.cpp 
b/clang/test/DebugInfo/CXX/nrvo.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-nrvo.cpp
rename to clang/test/DebugInfo/CXX/nrvo.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-nullptr.cpp 
b/clang/test/DebugInfo/CXX/nullptr.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-nullptr.cpp
rename to clang/test/DebugInfo/CXX/nullptr.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-object-pointer.cpp 
b/clang/test/DebugInfo/CXX/object-pointer.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-object-pointer.cpp
rename to clang/test/DebugInfo/CXX/object-pointer.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-objname.cpp 
b/clang/test/DebugInfo/CXX/objname.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-objname.cpp
rename to clang/test/DebugInfo/CXX/objname.cpp
diff --git a/clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp 
b/clang/test/DebugInfo/CXX/prefix-map-lambda.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp
rename to clang/test/DebugInfo/CXX/prefix-map-lambda.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-programming-language.cpp 
b/clang/test/DebugInfo/CXX/programming-language.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-programming-language.cpp
rename to clang/test/DebugInfo/CXX/programming-language.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ptr-to-member-function.cpp 
b/clang/test/DebugInfo/CXX/ptr-to-member-function.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ptr-to-member-function.cpp
rename to clang/test/DebugInfo/CXX/ptr-to-member-function.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-ptr-to-ptr.cpp 
b/clang/test/DebugInfo/CXX/ptr-to-ptr.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-ptr-to-ptr.cpp
rename to clang/test/DebugInfo/CXX/ptr-to-ptr.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-qualifiers.cpp 
b/clang/test/DebugInfo/CXX/qualifiers.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-qualifiers.cpp
rename to clang/test/DebugInfo/CXX/qualifiers.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-range-for-var-names.cpp 
b/clang/test/DebugInfo/CXX/range-for-var-names.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-range-for-var-names.cpp
rename to clang/test/DebugInfo/CXX/range-for-var-names.cpp
diff --git a/clang/test/DebugInfo/CXX/remove_substring.py 
b/clang/test/DebugInfo/CXX/remove_substring.py
new file mode 100644
index 0000000000000..8c71b328d5a40
--- /dev/null
+++ b/clang/test/DebugInfo/CXX/remove_substring.py
@@ -0,0 +1,49 @@
+import os
+import sys
+
+def remove_substring_from_files(directory, substring):
+    """
+    Removes a specified substring from all filenames in the directory.
+    Aborts if any duplicates would result.
+    """
+    if not os.path.isdir(directory):
+        print(f"Error: '{directory}' is not a valid directory.")
+        sys.exit(1)
+
+    original_to_new = {}
+    filenames = os.listdir(directory)
+
+    for filename in filenames:
+        new_filename = filename.replace(substring, '')
+        if new_filename != filename:
+            original_to_new[filename] = new_filename
+
+    # Check for duplicates
+    new_names = list(original_to_new.values())
+    if len(new_names) != len(set(new_names)):
+        print("Error: Removing the substring would result in duplicate 
filenames. Aborting.")
+        for new_name in new_names:
+            if new_names.count(new_name) > 1:
+                print(f" - Conflict: {new_name}")
+        sys.exit(1)
+
+    # Perform renaming
+    for old_name, new_name in original_to_new.items():
+        old_path = os.path.join(directory, old_name)
+        new_path = os.path.join(directory, new_name)
+        os.rename(old_path, new_path)
+        print(f"Renamed: '{old_name}' → '{new_name}'")
+
+    if not original_to_new:
+        print("No files were renamed (substring not found in any filenames).")
+
+if __name__ == "__main__":
+    import argparse
+
+    parser = argparse.ArgumentParser(description="Remove a substring from 
filenames in a directory.")
+    parser.add_argument("directory", help="Directory containing files to 
rename.")
+    parser.add_argument("substring", help="Substring to remove from 
filenames.")
+
+    args = parser.parse_args()
+    remove_substring_from_files(args.directory, args.substring)
+
diff --git a/clang/test/CodeGenCXX/debug-info-rvalue-ref.cpp 
b/clang/test/DebugInfo/CXX/rvalue-ref.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-rvalue-ref.cpp
rename to clang/test/DebugInfo/CXX/rvalue-ref.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-scope.cpp 
b/clang/test/DebugInfo/CXX/scope.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-scope.cpp
rename to clang/test/DebugInfo/CXX/scope.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-scoped-class.cpp 
b/clang/test/DebugInfo/CXX/scoped-class.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-scoped-class.cpp
rename to clang/test/DebugInfo/CXX/scoped-class.cpp
diff --git a/clang/test/CodeGenCXX/scoped-enums-debug-info.cpp 
b/clang/test/DebugInfo/CXX/scoped-enums-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/scoped-enums-debug-info.cpp
rename to clang/test/DebugInfo/CXX/scoped-enums-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-simple-template-names.cpp 
b/clang/test/DebugInfo/CXX/simple-template-names.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-simple-template-names.cpp
rename to clang/test/DebugInfo/CXX/simple-template-names.cpp
diff --git a/clang/test/CodeGenCXX/standalone-debug-attribute.cpp 
b/clang/test/DebugInfo/CXX/standalone-debug-attribute.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/standalone-debug-attribute.cpp
rename to clang/test/DebugInfo/CXX/standalone-debug-attribute.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-static-fns.cpp 
b/clang/test/DebugInfo/CXX/static-fns.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-static-fns.cpp
rename to clang/test/DebugInfo/CXX/static-fns.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-static-member.cpp 
b/clang/test/DebugInfo/CXX/static-member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-static-member.cpp
rename to clang/test/DebugInfo/CXX/static-member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-struct-align.cpp 
b/clang/test/DebugInfo/CXX/struct-align.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-struct-align.cpp
rename to clang/test/DebugInfo/CXX/struct-align.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp 
b/clang/test/DebugInfo/CXX/structured-binding-bitfield.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
rename to clang/test/DebugInfo/CXX/structured-binding-bitfield.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-structured-binding.cpp 
b/clang/test/DebugInfo/CXX/structured-binding.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-structured-binding.cpp
rename to clang/test/DebugInfo/CXX/structured-binding.cpp
diff --git a/clang/test/CodeGenCXX/template-alias.cpp 
b/clang/test/DebugInfo/CXX/template-alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/template-alias.cpp
rename to clang/test/DebugInfo/CXX/template-alias.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-align.cpp 
b/clang/test/DebugInfo/CXX/template-align.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-align.cpp
rename to clang/test/DebugInfo/CXX/template-align.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-array.cpp 
b/clang/test/DebugInfo/CXX/template-array.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-array.cpp
rename to clang/test/DebugInfo/CXX/template-array.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-deduction-guide.cpp 
b/clang/test/DebugInfo/CXX/template-deduction-guide.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-deduction-guide.cpp
rename to clang/test/DebugInfo/CXX/template-deduction-guide.cpp
diff --git 
a/clang/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp 
b/clang/test/DebugInfo/CXX/template-explicit-specialization.cpp
similarity index 100%
rename from 
clang/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp
rename to clang/test/DebugInfo/CXX/template-explicit-specialization.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-fwd.cpp 
b/clang/test/DebugInfo/CXX/template-fwd.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-fwd.cpp
rename to clang/test/DebugInfo/CXX/template-fwd.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-limit.cpp 
b/clang/test/DebugInfo/CXX/template-limit.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-limit.cpp
rename to clang/test/DebugInfo/CXX/template-limit.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-member.cpp 
b/clang/test/DebugInfo/CXX/template-member.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-member.cpp
rename to clang/test/DebugInfo/CXX/template-member.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-parameter.cpp 
b/clang/test/DebugInfo/CXX/template-parameter.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-parameter.cpp
rename to clang/test/DebugInfo/CXX/template-parameter.cpp
diff --git 
a/clang/test/CodeGenCXX/debug-info-template-partial-specialization.cpp 
b/clang/test/DebugInfo/CXX/template-partial-specialization.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-partial-specialization.cpp
rename to clang/test/DebugInfo/CXX/template-partial-specialization.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-quals.cpp 
b/clang/test/DebugInfo/CXX/template-quals.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-quals.cpp
rename to clang/test/DebugInfo/CXX/template-quals.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template-recursive.cpp 
b/clang/test/DebugInfo/CXX/template-recursive.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template-recursive.cpp
rename to clang/test/DebugInfo/CXX/template-recursive.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-template.cpp 
b/clang/test/DebugInfo/CXX/template.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-template.cpp
rename to clang/test/DebugInfo/CXX/template.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-this.cpp 
b/clang/test/DebugInfo/CXX/this.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-this.cpp
rename to clang/test/DebugInfo/CXX/this.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-thunk-msabi.cpp 
b/clang/test/DebugInfo/CXX/thunk-msabi.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-thunk-msabi.cpp
rename to clang/test/DebugInfo/CXX/thunk-msabi.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-thunk.cpp 
b/clang/test/DebugInfo/CXX/thunk.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-thunk.cpp
rename to clang/test/DebugInfo/CXX/thunk.cpp
diff --git a/clang/test/CodeGenCXX/trivial_abi_debuginfo.cpp 
b/clang/test/DebugInfo/CXX/trivial_abi_debuginfo.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/trivial_abi_debuginfo.cpp
rename to clang/test/DebugInfo/CXX/trivial_abi_debuginfo.cpp
diff --git a/clang/test/CodeGenCXX/ubsan-check-debuglocs.cpp 
b/clang/test/DebugInfo/CXX/ubsan-check-debuglocs.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/ubsan-check-debuglocs.cpp
rename to clang/test/DebugInfo/CXX/ubsan-check-debuglocs.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-union-template.cpp 
b/clang/test/DebugInfo/CXX/union-template.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-union-template.cpp
rename to clang/test/DebugInfo/CXX/union-template.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-union.cpp 
b/clang/test/DebugInfo/CXX/union.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-union.cpp
rename to clang/test/DebugInfo/CXX/union.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-use-after-free.cpp 
b/clang/test/DebugInfo/CXX/use-after-free.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-use-after-free.cpp
rename to clang/test/DebugInfo/CXX/use-after-free.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-uuid.cpp 
b/clang/test/DebugInfo/CXX/uuid.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-uuid.cpp
rename to clang/test/DebugInfo/CXX/uuid.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-var-template-partial-spec.cpp 
b/clang/test/DebugInfo/CXX/var-template-partial-spec.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-var-template-partial-spec.cpp
rename to clang/test/DebugInfo/CXX/var-template-partial-spec.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-var-template-partial.cpp 
b/clang/test/DebugInfo/CXX/var-template-partial.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-var-template-partial.cpp
rename to clang/test/DebugInfo/CXX/var-template-partial.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-varargs.cpp 
b/clang/test/DebugInfo/CXX/varargs.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-varargs.cpp
rename to clang/test/DebugInfo/CXX/varargs.cpp
diff --git a/clang/test/CodeGenCXX/variadic-template-alias.cpp 
b/clang/test/DebugInfo/CXX/variadic-template-alias.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/variadic-template-alias.cpp
rename to clang/test/DebugInfo/CXX/variadic-template-alias.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-verbose-trap.cpp 
b/clang/test/DebugInfo/CXX/verbose-trap.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-verbose-trap.cpp
rename to clang/test/DebugInfo/CXX/verbose-trap.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-vla.cpp 
b/clang/test/DebugInfo/CXX/vla.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-vla.cpp
rename to clang/test/DebugInfo/CXX/vla.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info.cpp 
b/clang/test/DebugInfo/CXX/vtable-debug-info.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info.cpp
rename to clang/test/DebugInfo/CXX/vtable-debug-info.cpp
diff --git a/clang/test/CodeGenCXX/vtable-holder-self-reference.cpp 
b/clang/test/DebugInfo/CXX/vtable-holder-self-reference.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-holder-self-reference.cpp
rename to clang/test/DebugInfo/CXX/vtable-holder-self-reference.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-diamond.cpp 
b/clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-diamond.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-multiple.cpp 
b/clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-multiple.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
diff --git 
a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple-main.cpp 
b/clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple-main.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp 
b/clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
diff --git a/clang/test/CodeGenCXX/vtable-debug-info-inheritance-virtual.cpp 
b/clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/vtable-debug-info-inheritance-virtual.cpp
rename to clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-vtable-optzn.cpp 
b/clang/test/DebugInfo/CXX/vtable-optzn.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-vtable-optzn.cpp
rename to clang/test/DebugInfo/CXX/vtable-optzn.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-wchar.cpp 
b/clang/test/DebugInfo/CXX/wchar.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-wchar.cpp
rename to clang/test/DebugInfo/CXX/wchar.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-windows-dtor.cpp 
b/clang/test/DebugInfo/CXX/windows-dtor.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
rename to clang/test/DebugInfo/CXX/windows-dtor.cpp
diff --git a/clang/test/CodeGenCXX/debug-info-zero-length-arrays.cpp 
b/clang/test/DebugInfo/CXX/zero-length-arrays.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/debug-info-zero-length-arrays.cpp
rename to clang/test/DebugInfo/CXX/zero-length-arrays.cpp

>From 683b9efd07778ad0830cef611dfb82e81e9a20db Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Wed, 20 Aug 2025 14:42:12 +0100
Subject: [PATCH 2/4] fixup! remove file

---
 clang/test/DebugInfo/CXX/remove_substring.py | 49 --------------------
 1 file changed, 49 deletions(-)
 delete mode 100644 clang/test/DebugInfo/CXX/remove_substring.py

diff --git a/clang/test/DebugInfo/CXX/remove_substring.py 
b/clang/test/DebugInfo/CXX/remove_substring.py
deleted file mode 100644
index 8c71b328d5a40..0000000000000
--- a/clang/test/DebugInfo/CXX/remove_substring.py
+++ /dev/null
@@ -1,49 +0,0 @@
-import os
-import sys
-
-def remove_substring_from_files(directory, substring):
-    """
-    Removes a specified substring from all filenames in the directory.
-    Aborts if any duplicates would result.
-    """
-    if not os.path.isdir(directory):
-        print(f"Error: '{directory}' is not a valid directory.")
-        sys.exit(1)
-
-    original_to_new = {}
-    filenames = os.listdir(directory)
-
-    for filename in filenames:
-        new_filename = filename.replace(substring, '')
-        if new_filename != filename:
-            original_to_new[filename] = new_filename
-
-    # Check for duplicates
-    new_names = list(original_to_new.values())
-    if len(new_names) != len(set(new_names)):
-        print("Error: Removing the substring would result in duplicate 
filenames. Aborting.")
-        for new_name in new_names:
-            if new_names.count(new_name) > 1:
-                print(f" - Conflict: {new_name}")
-        sys.exit(1)
-
-    # Perform renaming
-    for old_name, new_name in original_to_new.items():
-        old_path = os.path.join(directory, old_name)
-        new_path = os.path.join(directory, new_name)
-        os.rename(old_path, new_path)
-        print(f"Renamed: '{old_name}' → '{new_name}'")
-
-    if not original_to_new:
-        print("No files were renamed (substring not found in any filenames).")
-
-if __name__ == "__main__":
-    import argparse
-
-    parser = argparse.ArgumentParser(description="Remove a substring from 
filenames in a directory.")
-    parser.add_argument("directory", help="Directory containing files to 
rename.")
-    parser.add_argument("substring", help="Substring to remove from 
filenames.")
-
-    args = parser.parse_args()
-    remove_substring_from_files(args.directory, args.substring)
-

>From 16856a57995f9420f376e9ae8a8e637be688cebe Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Wed, 20 Aug 2025 15:10:32 +0100
Subject: [PATCH 3/4] fixup! fix failing tests

---
 .../CXX}/Inputs/debug-info-class-limited.cpp              | 0
 clang/test/DebugInfo/CXX/anon-union-vars.cpp              | 2 +-
 clang/test/DebugInfo/CXX/function-context.cpp             | 2 +-
 clang/test/DebugInfo/CXX/lambda-expressions.cpp           | 2 +-
 clang/test/DebugInfo/CXX/simple-template-names.cpp        | 8 ++++----
 clang/test/DebugInfo/CXX/verbose-trap.cpp                 | 2 +-
 6 files changed, 8 insertions(+), 8 deletions(-)
 rename clang/test/{CodeGenCXX => 
DebugInfo/CXX}/Inputs/debug-info-class-limited.cpp (100%)

diff --git a/clang/test/CodeGenCXX/Inputs/debug-info-class-limited.cpp 
b/clang/test/DebugInfo/CXX/Inputs/debug-info-class-limited.cpp
similarity index 100%
rename from clang/test/CodeGenCXX/Inputs/debug-info-class-limited.cpp
rename to clang/test/DebugInfo/CXX/Inputs/debug-info-class-limited.cpp
diff --git a/clang/test/DebugInfo/CXX/anon-union-vars.cpp 
b/clang/test/DebugInfo/CXX/anon-union-vars.cpp
index 61b3c7c0526c8..3aca4e199ab8d 100644
--- a/clang/test/DebugInfo/CXX/anon-union-vars.cpp
+++ b/clang/test/DebugInfo/CXX/anon-union-vars.cpp
@@ -46,7 +46,7 @@ void instantiate(int x) {
 
 // CHECK: !DIGlobalVariable(name: "c",{{.*}} file: [[FILE:.*]], line: 6,{{.*}} 
isLocal: true, isDefinition: true
 // CHECK: !DIGlobalVariable(name: "d",{{.*}} file: [[FILE]], line: 6,{{.*}} 
isLocal: true, isDefinition: true
-// CHECK: [[FILE]] = !DIFile(filename: "{{.*}}debug-info-anon-union-vars.cpp",
+// CHECK: [[FILE]] = !DIFile(filename: "{{.*}}anon-union-vars.cpp",
 // CHECK: !DIGlobalVariable(name: "a",{{.*}} file: [[FILE]], line: 6,{{.*}} 
isLocal: true, isDefinition: true
 // CHECK: !DIGlobalVariable(name: "b",{{.*}} file: [[FILE]], line: 6,{{.*}} 
isLocal: true, isDefinition: true
 // CHECK: !DIGlobalVariable(name: "result", {{.*}} isLocal: false, 
isDefinition: true
diff --git a/clang/test/DebugInfo/CXX/function-context.cpp 
b/clang/test/DebugInfo/CXX/function-context.cpp
index 29c87b6ec0055..da5fa5a79a723 100644
--- a/clang/test/DebugInfo/CXX/function-context.cpp
+++ b/clang/test/DebugInfo/CXX/function-context.cpp
@@ -1,5 +1,5 @@
 // RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -triple 
x86_64-pc-linux-gnu %s -fdebug-compilation-dir=%S \
-// RUN:     -dwarf-version=5 -main-file-name debug-info-function-context.cpp  
-o - | FileCheck %s
+// RUN:     -dwarf-version=5 -main-file-name function-context.cpp  -o - | 
FileCheck %s
 
 struct C {
   void member_function();
diff --git a/clang/test/DebugInfo/CXX/lambda-expressions.cpp 
b/clang/test/DebugInfo/CXX/lambda-expressions.cpp
index 324c0926fb9f2..1604b908ab8bf 100644
--- a/clang/test/DebugInfo/CXX/lambda-expressions.cpp
+++ b/clang/test/DebugInfo/CXX/lambda-expressions.cpp
@@ -21,7 +21,7 @@ int d(int x) { D y[10]; return [x,y] { return y[x].x; }(); }
 // CHECK-SAME:              line: [[VAR_LINE:[0-9]+]]
 // CHECK-SAME:              type: ![[VAR_T:[0-9]+]]
 
-// CHECK: [[FILE:.*]] = !DIFile(filename: "{{.*}}debug-lambda-expressions.cpp",
+// CHECK: [[FILE:.*]] = !DIFile(filename: "{{.*}}lambda-expressions.cpp",
 
 // CVAR:
 // CHECK: !DIGlobalVariable(name: "cvar"
diff --git a/clang/test/DebugInfo/CXX/simple-template-names.cpp 
b/clang/test/DebugInfo/CXX/simple-template-names.cpp
index 98faa0fc6f0bb..5a5d706e81972 100644
--- a/clang/test/DebugInfo/CXX/simple-template-names.cpp
+++ b/clang/test/DebugInfo/CXX/simple-template-names.cpp
@@ -70,18 +70,18 @@ void f() {
   // anything other than another unnamed class/struct.
   auto Lambda = [] {};
   f1<decltype(Lambda)>();
-  // CHECK: !DISubprogram(name: "f1<(lambda at 
{{.*}}debug-info-simple-template-names.cpp:[[# @LINE - 2]]:17)>",
+  // CHECK: !DISubprogram(name: "f1<(lambda at 
{{.*}}simple-template-names.cpp:[[# @LINE - 2]]:17)>",
   f1<t1<t1<decltype(Lambda)>>>();
   // CHECK: !DISubprogram(name: "f1<t1<t1<(lambda at {{.*}}> > >",
   struct {
   } unnamed_struct;
   f1<decltype(unnamed_struct)>();
-  // CHECK: !DISubprogram(name: "f1<(unnamed struct at 
{{.*}}debug-info-simple-template-names.cpp:[[# @LINE - 3]]:3)>",
+  // CHECK: !DISubprogram(name: "f1<(unnamed struct at 
{{.*}}simple-template-names.cpp:[[# @LINE - 3]]:3)>",
   f1<void (decltype(unnamed_struct))>();
-  // CHECK: !DISubprogram(name: "f1<void ((unnamed struct at 
{{.*}}debug-info-simple-template-names.cpp:[[# @LINE - 5]]:3))>",
+  // CHECK: !DISubprogram(name: "f1<void ((unnamed struct at 
{{.*}}simple-template-names.cpp:[[# @LINE - 5]]:3))>",
   enum {} unnamed_enum;
   f1<decltype(unnamed_enum)>();
-  // CHECK: !DISubprogram(name: "f1<(unnamed enum at 
{{.*}}debug-info-simple-template-names.cpp:[[# @LINE - 2]]:3)>",
+  // CHECK: !DISubprogram(name: "f1<(unnamed enum at 
{{.*}}simple-template-names.cpp:[[# @LINE - 2]]:3)>",
 
   // Declarations can't readily be reversed as the value in the DWARF only
   // contains the address of the value - we'd have to do symbol lookup to find
diff --git a/clang/test/DebugInfo/CXX/verbose-trap.cpp 
b/clang/test/DebugInfo/CXX/verbose-trap.cpp
index f492698ccab83..4a88df934ff7c 100644
--- a/clang/test/DebugInfo/CXX/verbose-trap.cpp
+++ b/clang/test/DebugInfo/CXX/verbose-trap.cpp
@@ -17,7 +17,7 @@
 
 // CHECK: attributes #[[ATTR1]] = { cold {{.*}}}
 
-// CHECK: ![[FILESCOPE:.*]] = !DIFile(filename: 
"{{.*}}debug-info-verbose-trap.cpp"
+// CHECK: ![[FILESCOPE:.*]] = !DIFile(filename: "{{.*}}verbose-trap.cpp"
 
 char const constCat[] = "category2";
 char const constMsg[] = "hello";

>From f01d2cf657f06040e6c3cceed0ba2fc6d59dcd00 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Thu, 21 Aug 2025 07:50:43 +0100
Subject: [PATCH 4/4] fixup! remove some more debug-info* from filenames

---
 .../test/CodeGen/cfi-check-fail-debuginfo.ll  | 195 ++++++++++++++++++
 clang/test/CodeGen/cfi-check-fail-debuginfo.o | Bin 0 -> 12488 bytes
 .../dependent-template-type-scope.cpp         |  12 ++
 ...fo-class-limited.cpp => class-limited.cpp} |   0
 ...nit-debug-info.cpp => aix-static-init.cpp} |   0
 .../DebugInfo/CXX/class-limited-plugin.test   |   2 +-
 clang/test/DebugInfo/CXX/class-limited.test   |   2 +-
 ...structor-debug-info.cpp => destructor.cpp} |   0
 ...access-debug-info.cpp => field-access.cpp} |   0
 ....cpp => microsoft-abi-member-pointers.cpp} |   0
 ...-enums-debug-info.cpp => scoped-enums.cpp} |   0
 ...vial_abi_debuginfo.cpp => trivial_abi.cpp} |   0
 .../CXX/{vtable-debug-info.cpp => vtable.cpp} |   0
 13 files changed, 209 insertions(+), 2 deletions(-)
 create mode 100644 clang/test/CodeGen/cfi-check-fail-debuginfo.ll
 create mode 100644 clang/test/CodeGen/cfi-check-fail-debuginfo.o
 create mode 100644 clang/test/CodeGenCXX/dependent-template-type-scope.cpp
 rename clang/test/DebugInfo/CXX/Inputs/{debug-info-class-limited.cpp => 
class-limited.cpp} (100%)
 rename clang/test/DebugInfo/CXX/{aix-static-init-debug-info.cpp => 
aix-static-init.cpp} (100%)
 rename clang/test/DebugInfo/CXX/{destructor-debug-info.cpp => destructor.cpp} 
(100%)
 rename clang/test/DebugInfo/CXX/{field-access-debug-info.cpp => 
field-access.cpp} (100%)
 rename clang/test/DebugInfo/CXX/{microsoft-abi-member-pointers-debug-info.cpp 
=> microsoft-abi-member-pointers.cpp} (100%)
 rename clang/test/DebugInfo/CXX/{scoped-enums-debug-info.cpp => 
scoped-enums.cpp} (100%)
 rename clang/test/DebugInfo/CXX/{trivial_abi_debuginfo.cpp => trivial_abi.cpp} 
(100%)
 rename clang/test/DebugInfo/CXX/{vtable-debug-info.cpp => vtable.cpp} (100%)

diff --git a/clang/test/CodeGen/cfi-check-fail-debuginfo.ll 
b/clang/test/CodeGen/cfi-check-fail-debuginfo.ll
new file mode 100644
index 0000000000000..1ca81a46973e6
--- /dev/null
+++ b/clang/test/CodeGen/cfi-check-fail-debuginfo.ll
@@ -0,0 +1,195 @@
+; ModuleID = 'clang/test/CodeGen/cfi-check-fail-debuginfo.c'
+source_filename = "clang/test/CodeGen/cfi-check-fail-debuginfo.c"
+target datalayout = 
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux"
+
+@llvm.used = appending global [1 x ptr] [ptr @__cfi_check_fail], section 
"llvm.metadata"
+
+; Function Attrs: nounwind
+define dso_local void @caller(ptr noundef %f) local_unnamed_addr #0 !dbg !7 
!type !16 !type !17 !type !18 {
+entry:
+    #dbg_value(ptr %f, !15, !DIExpression(), !19)
+  %0 = tail call i1 @llvm.type.test(ptr %f, metadata !"_ZTSFvvE"), !dbg !20, 
!nosanitize !24
+  br i1 %0, label %cfi.cont, label %cfi.slowpath, !dbg !20, !prof !25, 
!nosanitize !24
+
+cfi.slowpath:                                     ; preds = %entry
+  tail call void @__cfi_slowpath(i64 9080559750644022485, ptr %f) #6, !dbg 
!20, !nosanitize !24
+  br label %cfi.cont, !dbg !20, !nosanitize !24
+
+cfi.cont:                                         ; preds = %cfi.slowpath, 
%entry
+  tail call void %f() #6, !dbg !23
+  ret void, !dbg !26
+}
+
+; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable 
willreturn memory(none)
+declare i1 @llvm.type.test(ptr, metadata) #1
+
+declare void @__cfi_slowpath(i64, ptr) local_unnamed_addr
+
+; Function Attrs: nounwind
+define weak_odr hidden void @__cfi_check_fail(ptr noundef %0, ptr noundef %1) 
#0 !dbg !27 {
+entry:
+    #dbg_value(ptr %0, !30, !DIExpression(), !33)
+    #dbg_value(ptr %1, !32, !DIExpression(), !33)
+  %.not = icmp eq ptr %0, null, !dbg !33, !nosanitize !24
+  br i1 %.not, label %trap, label %cont, !dbg !33, !prof !34, !nosanitize !24
+
+trap:                                             ; preds = %entry
+  tail call void @llvm.ubsantrap(i8 2) #7, !dbg !33, !nosanitize !24
+  unreachable, !dbg !33, !nosanitize !24
+
+cont:                                             ; preds = %entry
+  %2 = load i8, ptr %0, align 4, !dbg !33, !nosanitize !24
+  %3 = tail call i1 @llvm.type.test(ptr %1, metadata !"all-vtables"), !dbg 
!33, !nosanitize !24
+  %4 = zext i1 %3 to i64, !dbg !33, !nosanitize !24
+  switch i8 %2, label %cont10 [
+    i8 0, label %handler.cfi_check_fail
+    i8 1, label %trap3
+    i8 2, label %handler.cfi_check_fail5
+    i8 3, label %handler.cfi_check_fail7
+    i8 4, label %trap9
+  ], !dbg !33, !prof !35
+
+handler.cfi_check_fail:                           ; preds = %cont
+  %5 = ptrtoint ptr %0 to i64, !dbg !33, !nosanitize !24
+  %6 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+  tail call void @__ubsan_handle_cfi_check_fail(i64 %5, i64 %6, i64 %4) #8, 
!dbg !33, !nosanitize !24
+  br label %cont10, !dbg !33
+
+trap3:                                            ; preds = %cont
+  tail call void @llvm.ubsantrap(i8 2) #9, !dbg !33, !nosanitize !24
+  unreachable, !dbg !33, !nosanitize !24
+
+handler.cfi_check_fail5:                          ; preds = %cont
+  %7 = ptrtoint ptr %0 to i64, !dbg !33, !nosanitize !24
+  %8 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+  tail call void @__ubsan_handle_cfi_check_fail_abort(i64 %7, i64 %8, i64 %4) 
#9, !dbg !33, !nosanitize !24
+  unreachable, !dbg !33, !nosanitize !24
+
+handler.cfi_check_fail7:                          ; preds = %cont
+  %9 = ptrtoint ptr %0 to i64, !dbg !33, !nosanitize !24
+  %10 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+  tail call void @__ubsan_handle_cfi_check_fail(i64 %9, i64 %10, i64 %4) #8, 
!dbg !33, !nosanitize !24
+  br label %cont10, !dbg !33
+
+trap9:                                            ; preds = %cont
+  tail call void @llvm.ubsantrap(i8 2) #9, !dbg !33, !nosanitize !24
+  unreachable, !dbg !33, !nosanitize !24
+
+cont10:                                           ; preds = 
%handler.cfi_check_fail7, %handler.cfi_check_fail, %cont
+  ret void, !dbg !33, !nosanitize !24
+}
+
+; Function Attrs: cold noreturn nounwind
+declare void @llvm.ubsantrap(i8 immarg) #2
+
+; Function Attrs: uwtable
+declare void @__ubsan_handle_cfi_check_fail(i64, i64, i64) local_unnamed_addr 
#3
+
+; Function Attrs: noreturn nounwind uwtable
+declare void @__ubsan_handle_cfi_check_fail_abort(i64, i64, i64) 
local_unnamed_addr #4
+
+; Function Attrs: nounwind
+define weak void @__cfi_check(i64 noundef %0, ptr noundef %1, ptr noundef %2) 
local_unnamed_addr #5 align 4096 {
+entry:
+    #dbg_value(ptr %2, !30, !DIExpression(), !33)
+    #dbg_value(ptr %1, !32, !DIExpression(), !33)
+  %.not.i = icmp eq ptr %2, null, !dbg !33, !nosanitize !24
+  br i1 %.not.i, label %trap.i, label %cont.i, !dbg !33, !prof !34, 
!nosanitize !24
+
+trap.i:                                           ; preds = %entry
+  tail call void @llvm.ubsantrap(i8 2) #7, !dbg !33, !nosanitize !24
+  unreachable, !dbg !33, !nosanitize !24
+
+cont.i:                                           ; preds = %entry
+  %3 = load i8, ptr %2, align 4, !dbg !33, !nosanitize !24
+  %4 = tail call i1 @llvm.type.test(ptr %1, metadata !"all-vtables"), !dbg 
!33, !nosanitize !24
+  %5 = zext i1 %4 to i64, !dbg !33, !nosanitize !24
+  switch i8 %3, label %__cfi_check_fail.exit [
+    i8 0, label %handler.cfi_check_fail.i
+    i8 1, label %trap3.i
+    i8 2, label %handler.cfi_check_fail5.i
+    i8 3, label %handler.cfi_check_fail7.i
+    i8 4, label %trap9.i
+  ], !dbg !33, !prof !35
+
+handler.cfi_check_fail.i:                         ; preds = %cont.i
+  %6 = ptrtoint ptr %2 to i64, !dbg !33, !nosanitize !24
+  %7 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+  tail call void @__ubsan_handle_cfi_check_fail(i64 %6, i64 %7, i64 %5) #8, 
!dbg !33, !nosanitize !24
+  br label %__cfi_check_fail.exit, !dbg !33
+
+trap3.i:                                          ; preds = %cont.i
+  tail call void @llvm.ubsantrap(i8 2) #9, !dbg !33, !nosanitize !24
+  unreachable, !dbg !33, !nosanitize !24
+
+handler.cfi_check_fail5.i:                        ; preds = %cont.i
+  %8 = ptrtoint ptr %2 to i64, !dbg !33, !nosanitize !24
+  %9 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+  tail call void @__ubsan_handle_cfi_check_fail_abort(i64 %8, i64 %9, i64 %5) 
#9, !dbg !33, !nosanitize !24
+  unreachable, !dbg !33, !nosanitize !24
+
+handler.cfi_check_fail7.i:                        ; preds = %cont.i
+  %10 = ptrtoint ptr %2 to i64, !dbg !33, !nosanitize !24
+  %11 = ptrtoint ptr %1 to i64, !dbg !33, !nosanitize !24
+  tail call void @__ubsan_handle_cfi_check_fail(i64 %10, i64 %11, i64 %5) #8, 
!dbg !33, !nosanitize !24
+  br label %__cfi_check_fail.exit, !dbg !33
+
+trap9.i:                                          ; preds = %cont.i
+  tail call void @llvm.ubsantrap(i8 2) #9, !dbg !33, !nosanitize !24
+  unreachable, !dbg !33, !nosanitize !24
+
+__cfi_check_fail.exit:                            ; preds = %cont.i, 
%handler.cfi_check_fail.i, %handler.cfi_check_fail7.i
+  ret void
+}
+
+attributes #0 = { nounwind "min-legal-vector-width"="0" 
"no-trapping-math"="true" "stack-protector-buffer-size"="8" 
"target-features"="+cx8,+mmx,+sse,+sse2,+x87" }
+attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable 
willreturn memory(none) }
+attributes #2 = { cold noreturn nounwind }
+attributes #3 = { uwtable }
+attributes #4 = { noreturn nounwind uwtable }
+attributes #5 = { nounwind "no-trapping-math"="true" 
"stack-protector-buffer-size"="8" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" 
}
+attributes #6 = { nounwind }
+attributes #7 = { noreturn nounwind }
+attributes #8 = { nomerge nounwind }
+attributes #9 = { nomerge noreturn nounwind }
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!2, !3, !4, !5, !6}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C11, file: !1, isOptimized: 
true, runtimeVersion: 0, emissionKind: FullDebug, splitDebugInlining: false, 
nameTableKind: None)
+!1 = !DIFile(filename: "<stdin>", directory: "clang/test/CodeGen")
+!2 = !{i32 2, !"Debug Info Version", i32 3}
+!3 = !{i32 1, !"wchar_size", i32 4}
+!4 = !{i32 4, !"Cross-DSO CFI", i32 1}
+!5 = !{i32 4, !"CFI Canonical Jump Tables", i32 0}
+!6 = !{i32 7, !"debug-info-assignment-tracking", i1 true}
+!7 = distinct !DISubprogram(name: "caller", scope: !8, file: !8, line: 22, 
type: !9, scopeLine: 22, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition | 
DISPFlagOptimized, unit: !0, retainedNodes: !14)
+!8 = !DIFile(filename: "cfi-check-fail-debuginfo.c", directory: 
"clang/test/CodeGen")
+!9 = !DISubroutineType(types: !10)
+!10 = !{null, !11}
+!11 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !12, size: 64)
+!12 = !DISubroutineType(types: !13)
+!13 = !{null}
+!14 = !{!15}
+!15 = !DILocalVariable(name: "f", arg: 1, scope: !7, file: !8, line: 22, type: 
!11)
+!16 = !{i64 0, !"_ZTSFvPFvvEE"}
+!17 = !{i64 0, !"_ZTSFvPvE.generalized"}
+!18 = !{i64 0, i64 2451761621477796417}
+!19 = !DILocation(line: 0, scope: !7)
+!20 = !DILocation(line: 0, scope: !21, inlinedAt: !23)
+!21 = distinct !DISubprogram(name: "__ubsan_check_cfi_icall", scope: !8, file: 
!8, type: !22, flags: DIFlagArtificial, spFlags: DISPFlagDefinition, unit: !0)
+!22 = !DISubroutineType(types: null)
+!23 = !DILocation(line: 23, column: 3, scope: !7)
+!24 = !{}
+!25 = !{!"branch_weights", i32 1048575, i32 1}
+!26 = !DILocation(line: 24, column: 1, scope: !7)
+!27 = distinct !DISubprogram(linkageName: "__cfi_check_fail", scope: !1, file: 
!1, type: !28, flags: DIFlagArtificial, spFlags: DISPFlagDefinition | 
DISPFlagOptimized, unit: !0, retainedNodes: !29)
+!28 = !DISubroutineType(types: !24)
+!29 = !{!30, !32}
+!30 = !DILocalVariable(arg: 1, scope: !27, type: !31, flags: DIFlagArtificial)
+!31 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
+!32 = !DILocalVariable(arg: 2, scope: !27, type: !31, flags: DIFlagArtificial)
+!33 = !DILocation(line: 0, scope: !27)
+!34 = !{!"branch_weights", i32 1, i32 1048575}
+!35 = !{!"branch_weights", i32 -20480, i32 4096, i32 4095, i32 4095, i32 4095, 
i32 4095}
diff --git a/clang/test/CodeGen/cfi-check-fail-debuginfo.o 
b/clang/test/CodeGen/cfi-check-fail-debuginfo.o
new file mode 100644
index 
0000000000000000000000000000000000000000..4164cfc71a0838d730c1ee55f35eec0808ae3c10
GIT binary patch
literal 12488
zcmeHNU1(fY5T1MQCfOwIZqk@+s+MkJYhoq0Efkghq^s%AZ73zShPEiAo6RO!yWK6j
zw?B$#BrO_5C?e{M;JY9`6)Xh{eJKhef@oi)g+5eY)HkJtICJjI-Mc5ZeNjQ-4BT^O
zzL_&KXYTpA3H!#L1AA@Da)8N#5wJvv^xl&VA*a|J^u<~>><nirU@BlLU@BlLU@BlL
zU@BlLU@BlLU@BlLU@Gw6sDQWl=jYb>tG>N->#+Cb_g8*=_3kH$*S*EBy~S_tP>SB-
zjTe`0&A92c=T*jr128o(HK5I4)`6*kSqJ7`Fn6Ol3C&4pPC|1Mnv>9+gytmtKb(Z=
zweyswci}sK&|CZ=eaZF~{z#m$u6ggSREk34P0zZ%bn`O(9N=eyX47BfY}Je_Q2l>E
z$)pX)yRhW1PhV>LN1Tb%`}9jpy1I`63nqkJ7ea@G-4H^Dg&ho`L(GMp)opD^^|Uyt
zuFNB;Zfha~V7uU?wyxf_I@<~0xM;DeHP`Q?wsmgr97Gr((E@fR0QUC)w5)+GJrkLu
zoyR(l;E+}sQc+$2+R(gzf6rDNnM?zXXzztVlseLs$6NR$R6<Gh3yn33k85lK8^7tG
zX<0`U))zP+pl<=&mW>1>Ss4df0~TPE05zb^npi}k&3b`4NWP6tdk3-qF72rM)1}G?
z6w3L^>?Xfh_cx7Jr;GcF6_}hnJyp+FCJS@L!imYkOlh)I$d}7NO|gb*f&%4CzEp-8
zmFYv+(sD^a60CDwE83D5RT0-~^N=NQAl0>CA4?^#vHnrbj!H!2r@F>cNdR5HH&DY_
z*1v{w0(N3+S=QauO6n*9d@R6>hgHVIl=1L%aq9GJsWMY_3*<#=K|HjpcT1epYjrp;
zA8m1*%vh^ay58z!Zre8cP1q5u?heZyMUY0s(F)Wg;P<6CodaR8Cbh%Mun9yVvVxja
z4%R%59Ee{@4yY4o*$@ZRK8V4)mth1rfLlnTmr!06nU}opuMqFjY)SkWp8-4EHEL@R
z?&A|@|L}eA&k!G=xI9SKhiqbsumYcZe5UoX9lZh4Nvt7e2unrmcSdlklK5GLJdyYj
zT#h{5&$hr^#f<u4Sov{KSR1h;mi!a`90^GB#s%LVz-o@f3NAk@llcig!uGUpi3q1>
zfDQWzL=t=t<FXG0A7MPJtQ+<&<Lfp2S;i%Q+BoD(NX|%Fxx$l<-W?I)GL~eizu>YF
z<zgb79wAykL}K3_i10Y~gty_dnPsV;*vtI4uwKu97vo~Tm1S9vgtst8-5B#?e}Ls<
z5uEZ7nqr3H(s~d&#f<oo^&oo5Q({XE1(!PT>ruZvr1yfiqas-kVlV4k>LfUu!!yhX
zF6Tflf=BcBG<=k0sW;6_awJuj8YJ-_NC3N;(d~8rVn2N!`#Hu#|6G_c9cNkUPxjGy
zfvawt$^6t*t#}69TCtpW{o*-4yl3a~mFaR(yH(M?TJzaF@KD2>x>y%~b-yMza^N#C
zqFe33o+Bx^%kJ_B0B)t~7u|gaCx+{OzHovs{(8B3_Eg@VYf7zLsuY`mnOgp2Gg7V=
z9&`=6I3GVh1#bP7ld4yBs#T}+ex57*_qsuRF-`A9+-(e)-Spxjq=`W1Bw^7rNtyGy
z*vozBLX+vNr@J5*8U)NdZ=~al_hL``PWGqlyAKfy;%AX-(0DfBWxt3<3lHz1A};<-
zjxYOz;**^oe+LGq_>^0e-p>ZoP!vR-d_?JK92^&ah!5W1*qGu|jrI8Sg+=jox{?i$
zvZl~&@1Z^}em@^fQfG=!v6sb1O!tWp46UOUU?J$jR=1r)jgFD=r#$|haAd&fwgrUa
z^54w)kMjV^AOH4QmOrfz-6ulu)Bv>r$5q>CbX)pfh>Jfz6pXpbLn%IeUF!9F9x?K{
z8J{S9!0``8LF6UA^p_)8)buuwk7C5jIKh97!AN(9$Ip`xA<18$UyzBLf9{FE;vyT;
z{ON01#>=|;2{An<8Z!47wE**~Z8W;=4OGR&|CZxRT`4|&mFw|0p+mdjKIHCj{Es*w
Ib#d$GFP2YoYybcN

literal 0
HcmV?d00001

diff --git a/clang/test/CodeGenCXX/dependent-template-type-scope.cpp 
b/clang/test/CodeGenCXX/dependent-template-type-scope.cpp
new file mode 100644
index 0000000000000..25a4d8741b01e
--- /dev/null
+++ b/clang/test/CodeGenCXX/dependent-template-type-scope.cpp
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm 
-debug-info-kind=standalone  -o - %s | FileCheck %s
+
+template <typename T = int>
+struct Y {
+  typedef int outside;
+  outside o;
+};
+
+Y<> y;
+
+// CHECK: ![[Y:.*]] = distinct !DICompositeType(tag: DW_TAG_structure_type, 
name: "Y<int>", {{.*}}identifier: "_ZTS1YIiE")
+// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "outside", scope: ![[Y]],
diff --git a/clang/test/DebugInfo/CXX/Inputs/debug-info-class-limited.cpp 
b/clang/test/DebugInfo/CXX/Inputs/class-limited.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/Inputs/debug-info-class-limited.cpp
rename to clang/test/DebugInfo/CXX/Inputs/class-limited.cpp
diff --git a/clang/test/DebugInfo/CXX/aix-static-init-debug-info.cpp 
b/clang/test/DebugInfo/CXX/aix-static-init.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/aix-static-init-debug-info.cpp
rename to clang/test/DebugInfo/CXX/aix-static-init.cpp
diff --git a/clang/test/DebugInfo/CXX/class-limited-plugin.test 
b/clang/test/DebugInfo/CXX/class-limited-plugin.test
index 17248d5743dac..1a2cc223a3829 100644
--- a/clang/test/DebugInfo/CXX/class-limited-plugin.test
+++ b/clang/test/DebugInfo/CXX/class-limited-plugin.test
@@ -1,2 +1,2 @@
-RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -o - -load 
%llvmshlibdir/PrintFunctionNames%pluginext -add-plugin print-fns 
%S/Inputs/debug-info-class-limited.cpp 2>&1 | FileCheck 
%S/Inputs/debug-info-class-limited.cpp
+RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -o - -load 
%llvmshlibdir/PrintFunctionNames%pluginext -add-plugin print-fns 
%S/Inputs/class-limited.cpp 2>&1 | FileCheck %S/Inputs/class-limited.cpp
 REQUIRES: plugins, examples
diff --git a/clang/test/DebugInfo/CXX/class-limited.test 
b/clang/test/DebugInfo/CXX/class-limited.test
index c2e332866f9fa..b1279d9855bf7 100644
--- a/clang/test/DebugInfo/CXX/class-limited.test
+++ b/clang/test/DebugInfo/CXX/class-limited.test
@@ -1 +1 @@
-RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited 
%S/Inputs/debug-info-class-limited.cpp -o - | FileCheck 
%S/Inputs/debug-info-class-limited.cpp
+RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited 
%S/Inputs/class-limited.cpp -o - | FileCheck %S/Inputs/class-limited.cpp
diff --git a/clang/test/DebugInfo/CXX/destructor-debug-info.cpp 
b/clang/test/DebugInfo/CXX/destructor.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/destructor-debug-info.cpp
rename to clang/test/DebugInfo/CXX/destructor.cpp
diff --git a/clang/test/DebugInfo/CXX/field-access-debug-info.cpp 
b/clang/test/DebugInfo/CXX/field-access.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/field-access-debug-info.cpp
rename to clang/test/DebugInfo/CXX/field-access.cpp
diff --git 
a/clang/test/DebugInfo/CXX/microsoft-abi-member-pointers-debug-info.cpp 
b/clang/test/DebugInfo/CXX/microsoft-abi-member-pointers.cpp
similarity index 100%
rename from 
clang/test/DebugInfo/CXX/microsoft-abi-member-pointers-debug-info.cpp
rename to clang/test/DebugInfo/CXX/microsoft-abi-member-pointers.cpp
diff --git a/clang/test/DebugInfo/CXX/scoped-enums-debug-info.cpp 
b/clang/test/DebugInfo/CXX/scoped-enums.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/scoped-enums-debug-info.cpp
rename to clang/test/DebugInfo/CXX/scoped-enums.cpp
diff --git a/clang/test/DebugInfo/CXX/trivial_abi_debuginfo.cpp 
b/clang/test/DebugInfo/CXX/trivial_abi.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/trivial_abi_debuginfo.cpp
rename to clang/test/DebugInfo/CXX/trivial_abi.cpp
diff --git a/clang/test/DebugInfo/CXX/vtable-debug-info.cpp 
b/clang/test/DebugInfo/CXX/vtable.cpp
similarity index 100%
rename from clang/test/DebugInfo/CXX/vtable-debug-info.cpp
rename to clang/test/DebugInfo/CXX/vtable.cpp

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to