+++ /dev/null
-import sys
-
-input = open(sys.argv[1], "r")
-for line in input:
- if "interesting" in line:
- sys.exit(0)
-
-sys.exit(1)
; 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:.+]]}
; 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",
; 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
!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)
using MDNodeList = SmallVector<MDNode *>;
void identifyUninterestingMDNodes(Oracle &O, MDNodeList &MDs) {
- DenseSet<std::tuple<MDNode *, size_t, MDNode *>> Tuples;
+ SetVector<std::tuple<MDNode *, size_t, MDNode *>> Tuples;
std::vector<MDNode *> ToLook;
- DenseSet<MDNode *> Visited;
+ SetVector<MDNode *> 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()) {