; Check per module hash.
; RUN: opt -module-hash %s -o - | llvm-bcanalyzer -dump -check-hash=foo | FileCheck %s --check-prefix=MOD1
; MOD1:
; RUN: opt -module-hash %p/Inputs/module_hash.ll -o - | llvm-bcanalyzer -dump -check-hash=bar | FileCheck %s --check-prefix=MOD2
; MOD2:
; Check that the hash matches in the combined index.
; First regenerate the modules with a summary
; RUN: opt -module-hash -module-summary %s -o %t.m1.bc
; RUN: opt -module-hash -module-summary %p/Inputs/module_hash.ll -o %t.m2.bc
; Recover the hashes from the modules themselves.
; RUN: llvm-bcanalyzer -dump %t.m1.bc | grep ' %t.hash
; RUN: llvm-bcanalyzer -dump %t.m2.bc | grep '> %t.hash
; Generate the combined index and gather the hashes there.
; RUN: llvm-lto --thinlto-action=thinlink -o - %t.m1.bc %t.m2.bc | llvm-bcanalyzer -dump | grep '> %t.hash
; Validate the output now, the hahes in the individual modules and the combined index are in the same file.
; RUN: cat %t.hash | FileCheck %s --check-prefix=COMBINED
; First capture the value of the hash for the two modules.
; COMBINED:
; COMBINED:
; Validate against the value extracted from the combined index
; COMBINED-DAG:
; COMBINED-DAG:
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
; Need a function for the combined index to be populated.
define void @foo() {
ret void
}