; RUN: llvm-as <%s -bitcode-mdindex-threshold=0 | llvm-bcanalyzer -dump | FileCheck %s -check-prefix=CHECK -check-prefix=MDINDEX
; RUN: llvm-as <%s | llvm-bcanalyzer -dump | FileCheck %s -check-prefix=CHECK
; Check that distinct nodes are emitted in post-order to avoid unnecessary
; forward references.
; Nodes in this testcase are numbered to match how they are referenced in
; bitcode. !3 is referenced as opN=3.
; The leafs should come first (in either order).
; CHECK:
; CHECK-NEXT:
!1 = distinct !{}
!2 = distinct !{}
; CHECK-NEXT:
!3 = distinct !{!1, !2}
; CHECK-NEXT:
!4 = distinct !{!1, !3, !2}
; Before the named records we emit the index containing the position of the
; previously emitted records, but only if we have a number of record above
; a threshold (can be controlled through `-bitcode-mdindex-threshold`).
; MDINDEX:
!named = !{!4}