Index: llvm/test/tools/llvm-reduce/Inputs/remove-dimetadata.py =================================================================== --- llvm/test/tools/llvm-reduce/Inputs/remove-dimetadata.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys - -input = open(sys.argv[1], "r") -for line in input: - if "interesting" in line: - sys.exit(0) - -sys.exit(1) Index: llvm/test/tools/llvm-reduce/remove-debug-info-nodes.ll =================================================================== --- llvm/test/tools/llvm-reduce/remove-debug-info-nodes.ll +++ llvm/test/tools/llvm-reduce/remove-debug-info-nodes.ll @@ -2,9 +2,9 @@ ; DICompileUnit and DISuprogram. ; ; RUN: llvm-reduce --delta-passes=di-metadata --abort-on-invalid-reduction --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t -; RUN: cat %t | FileCheck %s +; RUN: FileCheck <%t --enable-var-scope %s -; CHECK-INTERESTINGNESS: define void @test() !dbg +; CHECK-INTERESTINGNESS: define void @test() !dbg [[SUBPROG:![0-9]+]] ; CHECK-INTERESTINGNESS: !llvm.module.flags = !{ ; CHECK-INTERESTINGNESS: !llvm.dbg.cu = !{[[CU:.+]]} @@ -12,6 +12,7 @@ ; CHECK-INTERESTINGNESS-DAG: [[CU]] = distinct !DICompileUnit(language: DW_LANG_C99,{{.*}}, retainedTypes: [[TYPES:![0-9]+]] ; CHECK-INTERESTINGNESS-DAG: [[TYPES]] = !{[[T0:![0-9]+]] ; CHECK-INTERESTINGNESS-DAG: [[T0]] = !DIBasicType(name: "unsigned int", +; CHECK-INTERESTINGNESS-DAG: [[SUBPROG]] = distinct !DISubprogram(name: "test", Index: llvm/test/tools/llvm-reduce/remove-dimetadata.ll =================================================================== --- llvm/test/tools/llvm-reduce/remove-dimetadata.ll +++ llvm/test/tools/llvm-reduce/remove-dimetadata.ll @@ -1,6 +1,6 @@ ; Test that llvm-reduce can remove uninteresting DI metadata from an IR file. ; -; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=di-metadata --test %python --test-arg %p/Inputs/remove-dimetadata.py %s -o %t +; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=di-metadata --test=FileCheck --test-arg=--check-prefix=CHECK-INTERESTINGNESS --test-arg=%s --test-arg=--input-file %s -o %t ; RUN: FileCheck <%t %s @global = global i32 0 @@ -30,5 +30,6 @@ !16 = !{!17, !18} ; CHECK: elements: [[EL:![0-9]+]]) ; CHECK: [[EL]] = !{!{{[0-9]+}}} +; CHECK-INTERESTINGNESS: interesting !17 = !DIDerivedType(tag: DW_TAG_member, name: "interesting", scope: !14, file: !1, baseType: !13, size: 32, align: 32, flags: DIFlagPublic) !18 = !DIDerivedType(tag: DW_TAG_member, name: "uninteresting", scope: !14, file: !1, baseType: !13, size: 32, align: 32, offset: 32, flags: DIFlagPublic) Index: llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp =================================================================== --- llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp +++ llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp @@ -27,13 +27,13 @@ using MDNodeList = SmallVector; void identifyUninterestingMDNodes(Oracle &O, MDNodeList &MDs) { - DenseSet> Tuples; + SetVector> Tuples; std::vector ToLook; - DenseSet Visited; + SetVector Visited; // Start by looking at the attachments we collected for (const auto &NMD : MDs) - if (NMD && !Visited.count(NMD)) + if (NMD) ToLook.push_back(NMD); while (!ToLook.empty()) {