diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2017-07-06 17:56:01 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2017-07-06 17:56:01 +0000 |
commit | c855615831d77ae8ca94df757a3f2cf605cb3e9f (patch) | |
tree | c5d953b261fe54f2cb08933e19c825dc66f125a0 /llvm/test | |
parent | 8d10129e59c2627e3a03abd30c12963631a3c362 (diff) | |
download | bcm5719-llvm-c855615831d77ae8ca94df757a3f2cf605cb3e9f.tar.gz bcm5719-llvm-c855615831d77ae8ca94df757a3f2cf605cb3e9f.zip |
Bitcode: Include any strings added to the string table in the module hash.
Differential Revision: https://reviews.llvm.org/D35037
llvm-svn: 307286
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Bitcode/Inputs/module-hash-strtab1.ll | 10 | ||||
-rw-r--r-- | llvm/test/Bitcode/Inputs/module-hash-strtab2.ll | 10 | ||||
-rw-r--r-- | llvm/test/Bitcode/module-hash-strtab.ll | 15 | ||||
-rw-r--r-- | llvm/test/Bitcode/module_hash.ll | 8 |
4 files changed, 39 insertions, 4 deletions
diff --git a/llvm/test/Bitcode/Inputs/module-hash-strtab1.ll b/llvm/test/Bitcode/Inputs/module-hash-strtab1.ll new file mode 100644 index 00000000000..6b4a3fce07e --- /dev/null +++ b/llvm/test/Bitcode/Inputs/module-hash-strtab1.ll @@ -0,0 +1,10 @@ +source_filename = "foo.c" + +$com = comdat any + +define void @main() comdat($com) { + call void @bar() + ret void +} + +declare void @bar() diff --git a/llvm/test/Bitcode/Inputs/module-hash-strtab2.ll b/llvm/test/Bitcode/Inputs/module-hash-strtab2.ll new file mode 100644 index 00000000000..87d2478145b --- /dev/null +++ b/llvm/test/Bitcode/Inputs/module-hash-strtab2.ll @@ -0,0 +1,10 @@ +source_filename = "foo.c" + +$dat = comdat any + +define void @main() comdat($dat) { + call void @foo() + ret void +} + +declare void @foo() diff --git a/llvm/test/Bitcode/module-hash-strtab.ll b/llvm/test/Bitcode/module-hash-strtab.ll new file mode 100644 index 00000000000..e5a1fb0c407 --- /dev/null +++ b/llvm/test/Bitcode/module-hash-strtab.ll @@ -0,0 +1,15 @@ +; RUN: opt -module-hash %s -o - | llvm-bcanalyzer -dump | grep '<HASH' > %t +; RUN: opt -module-hash %S/Inputs/module-hash-strtab1.ll -o - | llvm-bcanalyzer -dump | grep '<HASH' >> %t +; RUN: opt -module-hash %S/Inputs/module-hash-strtab2.ll -o - | llvm-bcanalyzer -dump | grep '<HASH' >> %t +; RUN: sort %t | uniq | count 3 + +source_filename = "foo.c" + +$com = comdat any + +define void @main() comdat($com) { + call void @foo() + ret void +} + +declare void @foo() diff --git a/llvm/test/Bitcode/module_hash.ll b/llvm/test/Bitcode/module_hash.ll index 56f3fdc4b7e..b24819fe6fd 100644 --- a/llvm/test/Bitcode/module_hash.ll +++ b/llvm/test/Bitcode/module_hash.ll @@ -1,7 +1,7 @@ ; Check per module hash. -; RUN: opt -module-hash %s -o - | llvm-bcanalyzer -dump | FileCheck %s --check-prefix=MOD1 +; RUN: opt -module-hash %s -o - | llvm-bcanalyzer -dump -check-hash=foo | FileCheck %s --check-prefix=MOD1 ; MOD1: <HASH op0={{[0-9]*}} op1={{[0-9]*}} op2={{[0-9]*}} op3={{[0-9]*}} op4={{[0-9]*}} (match)/> -; RUN: opt -module-hash %p/Inputs/module_hash.ll -o - | llvm-bcanalyzer -dump | FileCheck %s --check-prefix=MOD2 +; RUN: opt -module-hash %p/Inputs/module_hash.ll -o - | llvm-bcanalyzer -dump -check-hash=bar | FileCheck %s --check-prefix=MOD2 ; MOD2: <HASH op0={{[0-9]*}} op1={{[0-9]*}} op2={{[0-9]*}} op3={{[0-9]*}} op4={{[0-9]*}} (match)/> ; Check that the hash matches in the combined index. @@ -21,8 +21,8 @@ ; RUN: cat %t.hash | FileCheck %s --check-prefix=COMBINED ; First capture the value of the hash for the two modules. -; COMBINED: <HASH op0=[[HASH1_1:[0-9]*]] op1=[[HASH1_2:[0-9]*]] op2=[[HASH1_3:[0-9]*]] op3=[[HASH1_4:[0-9]*]] op4=[[HASH1_5:[0-9]*]] (match)/> -; COMBINED: <HASH op0=[[HASH2_1:[0-9]*]] op1=[[HASH2_2:[0-9]*]] op2=[[HASH2_3:[0-9]*]] op3=[[HASH2_4:[0-9]*]] op4=[[HASH2_5:[0-9]*]] (match)/> +; COMBINED: <HASH op0=[[HASH1_1:[0-9]*]] op1=[[HASH1_2:[0-9]*]] op2=[[HASH1_3:[0-9]*]] op3=[[HASH1_4:[0-9]*]] op4=[[HASH1_5:[0-9]*]]/> +; COMBINED: <HASH op0=[[HASH2_1:[0-9]*]] op1=[[HASH2_2:[0-9]*]] op2=[[HASH2_3:[0-9]*]] op3=[[HASH2_4:[0-9]*]] op4=[[HASH2_5:[0-9]*]]/> ; Validate against the value extracted from the combined index ; COMBINED-DAG: <HASH abbrevid={{[0-9]*}} op0=[[HASH1_1]] op1=[[HASH1_2]] op2=[[HASH1_3]] op3=[[HASH1_4]] op4=[[HASH1_5]]/> |