erikdesjardins created this revision.
Herald added subscribers: Moerafaat, zero9178, Enna1, bzcheeseman, sdasgup3,
wenzhicui, wrengr, cota, teijeong, rdzhabarov, tatianashp, wenlei, msifontes,
jurahul, Kayjukh, grosul1, Joonsoo, liufengdb, aartbik, mgester, arpith-jacob,
antiagainst, shauheen, rriddle, mehdi_amini, thopre, kadircet, arphaman,
JDevlieghere, hiraditya.
Herald added a reviewer: JDevlieghere.
Herald added a project: All.
erikdesjardins requested review of this revision.
Herald added subscribers: cfe-commits, llvm-commits, lldb-commits, Sanitizers,
stephenneuendorffer, nicolasvasilache.
Herald added projects: clang, Sanitizers, LLDB, MLIR, LLVM, clang-tools-extra.
Depends on https://reviews.llvm.org/D142861.
Alternative to https://reviews.llvm.org/D137601.
xxHash is much faster than djbHash. This makes a simple Rust test case with a
large constant string 10% faster to compile.
Previous attempts at changing this hash function (e.g.
https://reviews.llvm.org/D97396) had to be reverted due to breaking tests that
depended on iteration order.
No additional tests fail with this patch compared to `main` when running
`check-all` with `-DLLVM_ENABLE_PROJECTS="all"` (on a Linux host), so I hope I
found everything that needs to be changed.
For posterity, the tests that fail on main are:
ompd-test :: api_tests/test_ompd_finalize.c
ompd-test :: api_tests/test_ompd_get_curr_parallel_handle.c
Overall:
Skipped : 43
Unsupported : 2862
Passed : 100507
Expectedly Failed: 296
Failed : 2
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D142862
Files:
clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
clang-tools-extra/test/modularize/ProblemsDisplayLists.modularize
clang-tools-extra/test/modularize/ProblemsInconsistent.modularize
clang/unittests/Basic/SarifTest.cpp
compiler-rt/test/profile/Linux/instrprof-show-debug-info-correlation.c
lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
llvm/lib/Support/StringMap.cpp
llvm/test/DebugInfo/Generic/accel-table-hash-collisions.ll
llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll
llvm/test/DebugInfo/X86/debug-pubtables-dwarf64.ll
llvm/test/DebugInfo/X86/gnu-public-names-gmlt.ll
llvm/test/DebugInfo/X86/gnu-public-names.ll
llvm/test/ObjectYAML/Offload/binary.yaml
llvm/test/ObjectYAML/Offload/multiple_members.yaml
llvm/test/tools/dsymutil/ARM/extern-alias.test
llvm/test/tools/llvm-profdata/suppl-instr-with-sample.test
mlir/test/Transforms/print-op-graph.mlir
mlir/test/mlir-lsp-server/completion.test
Index: mlir/test/mlir-lsp-server/completion.test
===================================================================
--- mlir/test/mlir-lsp-server/completion.test
+++ mlir/test/mlir-lsp-server/completion.test
@@ -84,18 +84,18 @@
// CHECK-NEXT: "isIncomplete": false,
// CHECK-NEXT: "items": [
// CHECK-NEXT: {
-// CHECK-NEXT: "detail": "builtin.unrealized_conversion_cast: !pdl.value",
-// CHECK-NEXT: "insertText": "cast",
-// CHECK-NEXT: "insertTextFormat": 1,
-// CHECK-NEXT: "kind": 6,
-// CHECK-NEXT: "label": "%cast"
-// CHECK-NEXT: },
-// CHECK-NEXT: {
// CHECK-NEXT: "detail": "arg #0: i32",
// CHECK-NEXT: "insertText": "arg",
// CHECK-NEXT: "insertTextFormat": 1,
// CHECK-NEXT: "kind": 6,
// CHECK-NEXT: "label": "%arg"
+// CHECK-NEXT: },
+// CHECK-NEXT: {
+// CHECK-NEXT: "detail": "builtin.unrealized_conversion_cast: !pdl.value",
+// CHECK-NEXT: "insertText": "cast",
+// CHECK-NEXT: "insertTextFormat": 1,
+// CHECK-NEXT: "kind": 6,
+// CHECK-NEXT: "label": "%cast"
// CHECK-NEXT: }
// CHECK: ]
// CHECK-NEXT: }
Index: mlir/test/Transforms/print-op-graph.mlir
===================================================================
--- mlir/test/Transforms/print-op-graph.mlir
+++ mlir/test/Transforms/print-op-graph.mlir
@@ -6,49 +6,49 @@
// DFG: subgraph {{.*}}
// DFG: label = "func.func{{.*}}merge_blocks
// DFG: subgraph {{.*}} {
-// DFG: v[[ARG0:.*]] [label = "arg0"
-// DFG: v[[CONST10:.*]] [label ={{.*}}10 : i32
+// DFG: v[[ARG0:.*]] [shape = ellipse, label = "arg0"
+// DFG: v[[CONST10:.*]] [shape = ellipse, label ={{.*}}10 : i32
// DFG: subgraph [[CLUSTER_MERGE_BLOCKS:.*]] {
-// DFG: v[[ANCHOR:.*]] [label = " ", shape = plain]
+// DFG: v[[ANCHOR:.*]] [shape = plain, label = " "]
// DFG: label = "test.merge_blocks
// DFG: subgraph {{.*}} {
-// DFG: v[[TEST_BR:.*]] [label = "test.br
+// DFG: v[[TEST_BR:.*]] [shape = ellipse, label = "test.br
// DFG: }
// DFG: subgraph {{.*}} {
// DFG: }
// DFG: }
-// DFG: v[[TEST_RET:.*]] [label = "test.return
+// DFG: v[[TEST_RET:.*]] [shape = ellipse, label = "test.return
// DFG: v[[ARG0]] -> v[[TEST_BR]]
// DFG: v[[CONST10]] -> v[[TEST_BR]]
-// DFG: v[[ANCHOR]] -> v[[TEST_RET]] [{{.*}}, ltail = [[CLUSTER_MERGE_BLOCKS]]]
-// DFG: v[[ANCHOR]] -> v[[TEST_RET]] [{{.*}}, ltail = [[CLUSTER_MERGE_BLOCKS]]]
+// DFG: v[[ANCHOR]] -> v[[TEST_RET]] [ltail = [[CLUSTER_MERGE_BLOCKS]], {{.*}}]
+// DFG: v[[ANCHOR]] -> v[[TEST_RET]] [ltail = [[CLUSTER_MERGE_BLOCKS]], {{.*}}]
// CFG-LABEL: digraph G {
// CFG: subgraph {{.*}} {
// CFG: subgraph {{.*}}
// CFG: label = "func.func{{.*}}merge_blocks
// CFG: subgraph {{.*}} {
-// CFG: v[[C1:.*]] [label = "arith.constant
-// CFG: v[[C2:.*]] [label = "arith.constant
-// CFG: v[[C3:.*]] [label = "arith.constant
-// CFG: v[[C4:.*]] [label = "arith.constant
-// CFG: v[[TEST_FUNC:.*]] [label = "test.func
+// CFG: v[[C1:.*]] [shape = ellipse, label = "arith.constant
+// CFG: v[[C2:.*]] [shape = ellipse, label = "arith.constant
+// CFG: v[[C3:.*]] [shape = ellipse, label = "arith.constant
+// CFG: v[[C4:.*]] [shape = ellipse, label = "arith.constant
+// CFG: v[[TEST_FUNC:.*]] [shape = ellipse, label = "test.func
// CFG: subgraph [[CLUSTER_MERGE_BLOCKS:.*]] {
-// CFG: v[[ANCHOR:.*]] [label = " ", shape = plain]
+// CFG: v[[ANCHOR:.*]] [shape = plain, label = " "]
// CFG: label = "test.merge_blocks
// CFG: subgraph {{.*}} {
-// CFG: v[[TEST_BR:.*]] [label = "test.br
+// CFG: v[[TEST_BR:.*]] [shape = ellipse, label = "test.br
// CFG: }
// CFG: subgraph {{.*}} {
// CFG: }
// CFG: }
-// CFG: v[[TEST_RET:.*]] [label = "test.return
+// CFG: v[[TEST_RET:.*]] [shape = ellipse, label = "test.return
// CFG: v[[C1]] -> v[[C2]]
// CFG: v[[C2]] -> v[[C3]]
// CFG: v[[C3]] -> v[[C4]]
// CFG: v[[C4]] -> v[[TEST_FUNC]]
-// CFG: v[[TEST_FUNC]] -> v[[ANCHOR]] [{{.*}}, lhead = [[CLUSTER_MERGE_BLOCKS]]]
-// CFG: v[[ANCHOR]] -> v[[TEST_RET]] [{{.*}}, ltail = [[CLUSTER_MERGE_BLOCKS]]]
+// CFG: v[[TEST_FUNC]] -> v[[ANCHOR]] [lhead = [[CLUSTER_MERGE_BLOCKS]], {{.*}}]
+// CFG: v[[ANCHOR]] -> v[[TEST_RET]] [ltail = [[CLUSTER_MERGE_BLOCKS]], {{.*}}]
func.func @merge_blocks(%arg0: i32, %arg1 : i32) -> () {
%0 = arith.constant dense<[[0, 1], [2, 3]]> : tensor<2x2xi32>
Index: llvm/test/tools/llvm-profdata/suppl-instr-with-sample.test
===================================================================
--- llvm/test/tools/llvm-profdata/suppl-instr-with-sample.test
+++ llvm/test/tools/llvm-profdata/suppl-instr-with-sample.test
@@ -6,15 +6,15 @@
RUN: -suppl-min-size-threshold=0 %p/Inputs/mix_instr.proftext -o %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=MIX1
-MIX1: foo:
-MIX1-NEXT: Hash: 0x0000000000000007
-MIX1-NEXT: Counters: 5
-MIX1-NEXT: Block counts: [12, 13, 0, 0, 0]
MIX1: goo:
MIX1-NEXT: Hash: 0x0000000000000005
MIX1-NEXT: Counters: 3
MIX1-NOT: Block counts:
MIX1-SAME: <PseudoHot>
+MIX1: foo:
+MIX1-NEXT: Hash: 0x0000000000000007
+MIX1-NEXT: Counters: 5
+MIX1-NEXT: Block counts: [12, 13, 0, 0, 0]
MIX1: moo:
MIX1-NEXT: Hash: 0x0000000000000009
MIX1-NEXT: Counters: 4
@@ -27,16 +27,16 @@
RUN: -instr-prof-cold-threshold=30 %p/Inputs/mix_instr.proftext -o %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=MIX2
-MIX2: foo:
-MIX2-NEXT: Hash: 0x0000000000000007
-MIX2-NEXT: Counters: 5
-MIX2-NOT: Block counts:
-MIX2-SAME: <PseudoHot>
MIX2: goo:
MIX2-NEXT: Hash: 0x0000000000000005
MIX2-NEXT: Counters: 3
MIX2-NOT: Block counts:
MIX2-SAME: <PseudoHot>
+MIX2: foo:
+MIX2-NEXT: Hash: 0x0000000000000007
+MIX2-NEXT: Counters: 5
+MIX2-NOT: Block counts:
+MIX2-SAME: <PseudoHot>
MIX2: moo:
MIX2-NEXT: Hash: 0x0000000000000009
MIX2-NEXT: Counters: 4
@@ -49,15 +49,15 @@
RUN: -instr-prof-cold-threshold=30 %p/Inputs/mix_instr.proftext -o %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=MIX3
-MIX3: foo:
-MIX3-NEXT: Hash: 0x0000000000000007
-MIX3-NEXT: Counters: 5
-MIX3-NEXT: Block counts: [1384, 1500, 0, 0, 0]
MIX3: goo:
MIX3-NEXT: Hash: 0x0000000000000005
MIX3-NEXT: Counters: 3
MIX3-NOT: Block counts:
MIX3-SAME: <PseudoHot>
+MIX3: foo:
+MIX3-NEXT: Hash: 0x0000000000000007
+MIX3-NEXT: Counters: 5
+MIX3-NEXT: Block counts: [1384, 1500, 0, 0, 0]
MIX3: moo:
MIX3-NEXT: Hash: 0x0000000000000009
MIX3-NEXT: Counters: 4
@@ -71,15 +71,15 @@
RUN: -instr-prof-cold-threshold=30 %p/Inputs/mix_instr_small.proftext -o %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=MIX4
-MIX4: foo:
-MIX4-NEXT: Hash: 0x0000000000000007
-MIX4-NEXT: Counters: 1
-MIX4-NEXT: Block counts: [0]
MIX4: goo:
MIX4-NEXT: Hash: 0x0000000000000005
MIX4-NEXT: Counters: 3
MIX4-NOT: Block counts:
MIX4-SAME: <PseudoHot>
+MIX4: foo:
+MIX4-NEXT: Hash: 0x0000000000000007
+MIX4-NEXT: Counters: 1
+MIX4-NEXT: Block counts: [0]
MIX4: moo:
MIX4-NEXT: Hash: 0x0000000000000009
MIX4-NEXT: Counters: 1
Index: llvm/test/tools/dsymutil/ARM/extern-alias.test
===================================================================
--- llvm/test/tools/dsymutil/ARM/extern-alias.test
+++ llvm/test/tools/dsymutil/ARM/extern-alias.test
@@ -38,5 +38,5 @@
RUN: dsymutil -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/private_extern/private_extern.out -o %t.dSYM --verbose | FileCheck %s
RUN: dsymutil -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/extern/extern.out -o %t.dSYM --verbose | FileCheck %s
CHECK-NOT: could not find object file symbol for symbol _baz
-CHECK: { sym: _foo, objAddr: 0x0, binAddr: 0x100007F58, size: 0x20 }
CHECK: { sym: _baz, objAddr: 0x0, binAddr: 0x100007F58, size: 0x0 }
+CHECK: { sym: _foo, objAddr: 0x0, binAddr: 0x100007F58, size: 0x20 }
Index: llvm/test/ObjectYAML/Offload/multiple_members.yaml
===================================================================
--- llvm/test/ObjectYAML/Offload/multiple_members.yaml
+++ llvm/test/ObjectYAML/Offload/multiple_members.yaml
@@ -26,18 +26,18 @@
# CHECK-NEXT: OffloadKind: OFK_OpenMP
# CHECK-NEXT: Flags: 0
# CHECK-NEXT: String:
-# CHECK-NEXT: - Key: triple
-# CHECK-NEXT: Value: nvptx64-nvidia-cuda
# CHECK-NEXT: - Key: arch
# CHECK-NEXT: Value: sm_70
+# CHECK-NEXT: - Key: triple
+# CHECK-NEXT: Value: nvptx64-nvidia-cuda
# CHECK-NEXT: Content: DEADBEEF
# CHECK-NEXT: - ImageKind: IMG_Bitcode
# CHECK-NEXT: OffloadKind: OFK_OpenMP
# CHECK-NEXT: Flags: 0
# CHECK-NEXT: String:
-# CHECK-NEXT: - Key: triple
-# CHECK-NEXT: Value: amdgcn-amd-amdhsa
# CHECK-NEXT: - Key: arch
# CHECK-NEXT: Value: gfx908
+# CHECK-NEXT: - Key: triple
+# CHECK-NEXT: Value: amdgcn-amd-amdhsa
# CHECK-NEXT: Content: CAFEFEED
# CHECK-NEXT: ...
Index: llvm/test/ObjectYAML/Offload/binary.yaml
===================================================================
--- llvm/test/ObjectYAML/Offload/binary.yaml
+++ llvm/test/ObjectYAML/Offload/binary.yaml
@@ -17,9 +17,9 @@
# CHECK-NEXT: OffloadKind: OFK_OpenMP
# CHECK-NEXT: Flags: 0
# CHECK-NEXT: String:
-# CHECK-NEXT: - Key: triple
-# CHECK-NEXT: Value: nvptx64-nvidia-cuda
# CHECK-NEXT: - Key: arch
# CHECK-NEXT: Value: sm_70
+# CHECK-NEXT: - Key: triple
+# CHECK-NEXT: Value: nvptx64-nvidia-cuda
# CHECK-NEXT: Content: DEADBEEF
# CHECK-NEXT: ...
Index: llvm/test/DebugInfo/X86/gnu-public-names.ll
===================================================================
--- llvm/test/DebugInfo/X86/gnu-public-names.ll
+++ llvm/test/DebugInfo/X86/gnu-public-names.ll
@@ -66,6 +66,8 @@
; ASM: .section .debug_gnu_pubnames
; ASM: .byte 32 # Attributes: VARIABLE, EXTERNAL
+; ASM-NEXT: .asciz "ns::global_namespace_variable" # External Name
+; ASM: .byte 32 # Attributes: VARIABLE, EXTERNAL
; ASM-NEXT: .asciz "global_variable" # External Name
; ASM: .section .debug_gnu_pubtypes
@@ -123,7 +125,7 @@
; CHECK: DW_AT_name ("global_namespace_function")
; CHECK: NULL
-; CHECK: DW_TAG_subprogram
+; CHECK: [[F3:0x[0-9a-f]+]]: DW_TAG_subprogram
; CHECK: DW_AT_name ("f3")
; CHECK: [[F3_Z:.*]]: DW_TAG_variable
; CHECK: DW_AT_name ("z")
@@ -184,7 +186,10 @@
; CHECK: DW_AT_linkage_name
; CHECK: DW_AT_name ("global_function")
-; CHECK: DW_TAG_subprogram
+; CHECK: [[GLOBAL_F7:0x[0-9a-f]+]]: DW_TAG_subprogram
+; CHECK: DW_AT_linkage_name
+; CHECK: DW_AT_name ("f7")
+
; CHECK: DW_TAG_pointer_type
; CHECK: DW_TAG_pointer_type
; CHECK: NULL
@@ -192,40 +197,42 @@
; CHECK-LABEL: .debug_gnu_pubnames contents:
; CHECK-NEXT: length = {{.*}}, version = 0x0002, unit_offset = 0x00000000, unit_size = {{.*}}
; CHECK-NEXT: Offset Linkage Kind Name
+; CHECK-NEXT: [[ANON_INNER_B]] STATIC VARIABLE "(anonymous namespace)::inner::b"
+; CHECK-NEXT: [[MEM_FUNC]] EXTERNAL FUNCTION "C::member_function"
+; CHECK-NEXT: [[OUTER]] EXTERNAL TYPE "outer"
+; CHECK-NEXT: [[GLOB_NS_VAR]] EXTERNAL VARIABLE "ns::global_namespace_variable"
+; CHECK-NEXT: [[GLOB_VAR]] EXTERNAL VARIABLE "global_variable"
+; CHECK-NEXT: [[UNNAMED_ENUM_ENUMERATOR]] STATIC VARIABLE "unnamed_enum_enumerator"
+; CHECK-NEXT: [[GLOBAL_F7]] EXTERNAL FUNCTION "f7"
+; CHECK-NEXT: [[OUTER_ANON]] EXTERNAL TYPE "outer::(anonymous namespace)"
+; FIXME: GCC produces enumerators as EXTERNAL, not STATIC
+; CHECK-NEXT: [[NAMED_ENUM_CLASS_ENUMERATOR]] STATIC VARIABLE "named_enum_class_enumerator"
; CHECK-NEXT: [[GLOBAL_FUNC]] EXTERNAL FUNCTION "global_function"
-; CHECK-NEXT: [[NS]] EXTERNAL TYPE "ns"
-; CHECK-NEXT: [[OUTER_ANON_C]] STATIC VARIABLE "outer::(anonymous namespace)::c"
-; CHECK-NEXT: [[ANON_I]] STATIC VARIABLE "(anonymous namespace)::i"
; CHECK-NEXT: [[GLOB_NS_FUNC]] EXTERNAL FUNCTION "ns::global_namespace_function"
+; CHECK-NEXT: [[NS]] EXTERNAL TYPE "ns"
+; CHECK-NEXT: [[NAMED_ENUM_ENUMERATOR]] STATIC VARIABLE "named_enum_enumerator"
+; CHECK-NEXT: [[ANON]] EXTERNAL TYPE "(anonymous namespace)"
+; CHECK-NEXT: [[OUTER_ANON_C]] STATIC VARIABLE "outer::(anonymous namespace)::c"
+; CHECK-NEXT: [[D_VAR]] EXTERNAL VARIABLE "ns::d"
+; CHECK-NEXT: [[STATIC_MEM_FUNC]] EXTERNAL FUNCTION "C::static_member_function"
+; CHECK-NEXT: [[STATIC_MEM_VAR]] EXTERNAL VARIABLE "C::static_member_variable"
+; CHECK-NEXT: [[ANON_I]] STATIC VARIABLE "(anonymous namespace)::i"
+; CHECK-NEXT: [[ANON_INNER]] EXTERNAL TYPE "(anonymous namespace)::inner"
+; CHECK-NEXT: [[F3]] EXTERNAL FUNCTION "f3"
; GCC Doesn't put local statics in pubnames, but it seems not unreasonable and
; comes out naturally from LLVM's implementation, so I'm OK with it for now. If
; it's demonstrated that this is a major size concern or degrades debug info
; consumer behavior, feel free to change it.
; CHECK-NEXT: [[F3_Z]] STATIC VARIABLE "f3::z"
-; CHECK-NEXT: [[ANON]] EXTERNAL TYPE "(anonymous namespace)"
-; CHECK-NEXT: [[OUTER_ANON]] EXTERNAL TYPE "outer::(anonymous namespace)"
-; CHECK-NEXT: [[ANON_INNER_B]] STATIC VARIABLE "(anonymous namespace)::inner::b"
-; CHECK-NEXT: [[OUTER]] EXTERNAL TYPE "outer"
-; FIXME: GCC produces enumerators as EXTERNAL, not STATIC
-; CHECK-NEXT: [[NAMED_ENUM_CLASS_ENUMERATOR]] STATIC VARIABLE "named_enum_class_enumerator"
-; CHECK-NEXT: [[MEM_FUNC]] EXTERNAL FUNCTION "C::member_function"
-; CHECK-NEXT: [[GLOB_VAR]] EXTERNAL VARIABLE "global_variable"
-; CHECK-NEXT: [[GLOB_NS_VAR]] EXTERNAL VARIABLE "ns::global_namespace_variable"
-; CHECK-NEXT: [[ANON_INNER]] EXTERNAL TYPE "(anonymous namespace)::inner"
-; CHECK-NEXT: [[D_VAR]] EXTERNAL VARIABLE "ns::d"
-; CHECK-NEXT: [[NAMED_ENUM_ENUMERATOR]] STATIC VARIABLE "named_enum_enumerator"
-; CHECK-NEXT: [[STATIC_MEM_VAR]] EXTERNAL VARIABLE "C::static_member_variable"
-; CHECK-NEXT: [[STATIC_MEM_FUNC]] EXTERNAL FUNCTION "C::static_member_function"
-; CHECK-NEXT: [[UNNAMED_ENUM_ENUMERATOR]] STATIC VARIABLE "unnamed_enum_enumerator"
; CHECK-LABEL: debug_gnu_pubtypes contents:
; CHECK: Offset Linkage Kind Name
+; CHECK-NEXT: [[INT]] STATIC TYPE "int"
; CHECK-NEXT: [[C]] EXTERNAL TYPE "C"
; CHECK-NEXT: [[UNSIGNED_INT]] STATIC TYPE "unsigned int"
-; CHECK-NEXT: [[D]] EXTERNAL TYPE "ns::D"
; CHECK-NEXT: [[NAMED_ENUM]] EXTERNAL TYPE "named_enum"
-; CHECK-NEXT: [[INT]] STATIC TYPE "int"
; CHECK-NEXT: [[NAMED_ENUM_CLASS]] EXTERNAL TYPE "named_enum_class"
+; CHECK-NEXT: [[D]] EXTERNAL TYPE "ns::D"
%struct.C = type { i8 }
%"struct.ns::D" = type { i32 }
Index: llvm/test/DebugInfo/X86/gnu-public-names-gmlt.ll
===================================================================
--- llvm/test/DebugInfo/X86/gnu-public-names-gmlt.ll
+++ llvm/test/DebugInfo/X86/gnu-public-names-gmlt.ll
@@ -17,8 +17,8 @@
; GPUB: .debug_gnu_pubnames contents:
; GPUB-NEXT: unit_offset = 0x00000000
; GPUB-NEXT: Name
-; GPUB-NEXT: "f2"
; GPUB-NEXT: "f3"
+; GPUB-NEXT: "f2"
; GPUB: .debug_gnu_pubtypes contents:
; GPUB-NEXT: length = 0x0000000e, format = DWARF32, version = 0x0002, unit_offset = 0x00000000
Index: llvm/test/DebugInfo/X86/debug-pubtables-dwarf64.ll
===================================================================
--- llvm/test/DebugInfo/X86/debug-pubtables-dwarf64.ll
+++ llvm/test/DebugInfo/X86/debug-pubtables-dwarf64.ll
@@ -19,8 +19,8 @@
; CHECK: .debug_pubtypes contents:
; CHECK-NEXT: length = 0x0000000000000032, format = DWARF64, version = 0x0002, unit_offset =
; CHECK-NEXT: Offset Name
-; CHECK-NEXT: 0x00000000[[STRUCT]] "Foo"
; CHECK-NEXT: 0x00000000[[BASET]] "int"
+; CHECK-NEXT: 0x00000000[[STRUCT]] "Foo"
; IR generated and reduced from:
; $ cat foo.c
Index: llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll
===================================================================
--- llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll
+++ llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll
@@ -29,21 +29,21 @@
; Check that all the names are present in the output
; CHECK: Bucket 0
; CHECK: Hash: 0xF8CF70D
-; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZN4lldb7SBBlockaSERKS0_"
-; CHECK: Hash: 0xF8CF70D
; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZN4lldb7SBBlockC1ERKS0_"
-; CHECK: Hash: 0x135A482C
-; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZN4lldb7SBErroraSERKS0_"
+; CHECK: Hash: 0xF8CF70D
+; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZN4lldb7SBBlockaSERKS0_"
; CHECK: Hash: 0x135A482C
; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZN4lldb7SBErrorC1ERKS0_"
+; CHECK: Hash: 0x135A482C
+; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZN4lldb7SBErroraSERKS0_"
; CHECK-NOT: String:
; CHECK: Bucket 1
; CHECK-NEXT: EMPTY
; CHECK: Bucket 2
; CHECK: Hash: 0x2841B989
-; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZL11numCommutes"
-; CHECK: Hash: 0x2841B989
; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZL11NumCommutes"
+; CHECK: Hash: 0x2841B989
+; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZL11numCommutes"
; CHECK: Hash: 0x3E190F5F
; CHECK-NEXT:String: 0x{{[0-9a-f]*}} "_ZL9NumRemats"
; CHECK: Hash: 0x3E190F5F
Index: llvm/test/DebugInfo/Generic/accel-table-hash-collisions.ll
===================================================================
--- llvm/test/DebugInfo/Generic/accel-table-hash-collisions.ll
+++ llvm/test/DebugInfo/Generic/accel-table-hash-collisions.ll
@@ -28,12 +28,12 @@
; Check that all the names are present in the output
; CHECK: Hash 0x597841
-; CHECK: String: 0x{{[0-9a-f]*}} "is"
; CHECK: String: 0x{{[0-9a-f]*}} "k1"
+; CHECK: String: 0x{{[0-9a-f]*}} "is"
; CHECK: Hash 0xa4b42a1e
-; CHECK: String: 0x{{[0-9a-f]*}} "_ZN5clang23DataRecursiveASTVisitorIN12_GLOBAL__N_124UnusedBackingIvarCheckerEE26TraverseCUDAKernelCallExprEPNS_18CUDAKernelCallExprE"
; CHECK: String: 0x{{[0-9a-f]*}} "_ZN4llvm16DenseMapIteratorIPNS_10MDLocationENS_6detail13DenseSetEmptyENS_10MDNodeInfoIS1_EENS3_12DenseSetPairIS2_EELb0EE23AdvancePastEmptyBucketsEv"
+; CHECK: String: 0x{{[0-9a-f]*}} "_ZN5clang23DataRecursiveASTVisitorIN12_GLOBAL__N_124UnusedBackingIvarCheckerEE26TraverseCUDAKernelCallExprEPNS_18CUDAKernelCallExprE"
; CHECK: Hash 0xeee7c0b2
; CHECK: String: 0x{{[0-9a-f]*}} "_ZNK4llvm12LivePhysRegs5printERNS_11raw_ostreamE"
Index: llvm/lib/Support/StringMap.cpp
===================================================================
--- llvm/lib/Support/StringMap.cpp
+++ llvm/lib/Support/StringMap.cpp
@@ -11,8 +11,8 @@
//===----------------------------------------------------------------------===//
#include "llvm/ADT/StringMap.h"
-#include "llvm/Support/DJB.h"
#include "llvm/Support/MathExtras.h"
+#include "llvm/Support/xxhash.h"
using namespace llvm;
@@ -84,7 +84,7 @@
// Hash table unallocated so far?
if (NumBuckets == 0)
init(16);
- unsigned FullHashValue = djbHash(Name, 0);
+ unsigned FullHashValue = xxHash64(Name);
unsigned BucketNo = FullHashValue & (NumBuckets - 1);
unsigned *HashTable = getHashTable(TheTable, NumBuckets);
@@ -139,7 +139,7 @@
int StringMapImpl::FindKey(StringRef Key) const {
if (NumBuckets == 0)
return -1; // Really empty table?
- unsigned FullHashValue = djbHash(Key, 0);
+ unsigned FullHashValue = xxHash64(Key);
unsigned BucketNo = FullHashValue & (NumBuckets - 1);
unsigned *HashTable = getHashTable(TheTable, NumBuckets);
Index: lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
===================================================================
--- lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
+++ lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
@@ -338,11 +338,11 @@
lldb.SBError()) # error
self.assertPacketLogContains([
- "QEnvironment:PLAIN=foo",
- "QEnvironmentHexEncoded:4e45454453454e433d66726f6224",
- "QEnvironmentHexEncoded:4e45454453454e43323d66722a6f62",
"QEnvironmentHexEncoded:4e45454453454e43333d66726f7d62",
"QEnvironmentHexEncoded:4e45454453454e43343d6623726f62",
+ "QEnvironment:PLAIN=foo",
+ "QEnvironmentHexEncoded:4e45454453454e43323d66722a6f62",
+ "QEnvironmentHexEncoded:4e45454453454e433d66726f6224",
"QEnvironment:EQUALS=foo=bar",
])
@@ -386,11 +386,11 @@
lldb.SBError()) # error
self.assertPacketLogContains([
- "QEnvironmentHexEncoded:504c41494e3d666f6f",
- "QEnvironmentHexEncoded:4e45454453454e433d66726f6224",
- "QEnvironmentHexEncoded:4e45454453454e43323d66722a6f62",
"QEnvironmentHexEncoded:4e45454453454e43333d66726f7d62",
"QEnvironmentHexEncoded:4e45454453454e43343d6623726f62",
+ "QEnvironmentHexEncoded:504c41494e3d666f6f",
+ "QEnvironmentHexEncoded:4e45454453454e43323d66722a6f62",
+ "QEnvironmentHexEncoded:4e45454453454e433d66726f6224",
"QEnvironmentHexEncoded:455155414c533d666f6f3d626172",
])
Index: compiler-rt/test/profile/Linux/instrprof-show-debug-info-correlation.c
===================================================================
--- compiler-rt/test/profile/Linux/instrprof-show-debug-info-correlation.c
+++ compiler-rt/test/profile/Linux/instrprof-show-debug-info-correlation.c
@@ -6,7 +6,6 @@
// RUN: not llvm-profdata show --debug-info=%t.no.dbg 2>&1 | FileCheck %s --check-prefix NO-DBG
// NO-DBG: unable to correlate profile: could not find any profile metadata in debug info
-// CHECK: a
// YAML: Probes:
// YAML: - Function Name: a
// YAML: Linkage Name: a
@@ -17,7 +16,6 @@
// YAML: Line: [[@LINE+1]]
void a() {}
-// CHECK: b
// YAML: - Function Name: b
// YAML: Linkage Name: b
// YAML: CFG Hash: 0x[[#%.1X,HASH:]]
@@ -27,7 +25,6 @@
// YAML: Line: [[@LINE+1]]
void b() {}
-// CHECK: main
// YAML: - Function Name: main
// YAML: Linkage Name: main
// YAML: CFG Hash: 0x[[#%.1X,HASH:]]
@@ -37,5 +34,8 @@
// YAML: Line: [[@LINE+1]]
int main() { return 0; }
+// CHECK: main
+// CHECK: a
+// CHECK: b
// CHECK: Counters section size: 0x18 bytes
// CHECK: Found 3 functions
Index: clang/unittests/Basic/SarifTest.cpp
===================================================================
--- clang/unittests/Basic/SarifTest.cpp
+++ clang/unittests/Basic/SarifTest.cpp
@@ -332,7 +332,7 @@
TEST_F(SarifDocumentWriterTest, checkSerializingCodeflows) {
// GIVEN:
const std::string ExpectedOutput =
- R"({"$schema":"https://docs.oasis-open.org/sarif/sarif/v2.1.0/cos02/schemas/sarif-schema-2.1.0.json","runs":[{"artifacts":[{"length":27,"location":{"index":1,"uri":"file:///test-header-1.h"},"mimeType":"text/plain","roles":["resultFile"]},{"length":30,"location":{"index":2,"uri":"file:///test-header-2.h"},"mimeType":"text/plain","roles":["resultFile"]},{"length":28,"location":{"index":3,"uri":"file:///test-header-3.h"},"mimeType":"text/plain","roles":["resultFile"]},{"length":41,"location":{"index":0,"uri":"file:///main.cpp"},"mimeType":"text/plain","roles":["resultFile"]}],"columnKind":"unicodeCodePoints","results":[{"codeFlows":[{"threadFlows":[{"locations":[{"importance":"essential","location":{"message":{"text":"Message #1"},"physicalLocation":{"artifactLocation":{"index":1,"uri":"file:///test-header-1.h"},"region":{"endColumn":8,"endLine":2,"startColumn":1,"startLine":1}}}},{"importance":"important","location":{"message":{"text":"Message #2"},"physicalLocation":{"artifactLocation":{"index":2,"uri":"file:///test-header-2.h"},"region":{"endColumn":8,"endLine":2,"startColumn":1,"startLine":1}}}},{"importance":"unimportant","location":{"message":{"text":"Message #3"},"physicalLocation":{"artifactLocation":{"index":3,"uri":"file:///test-header-3.h"},"region":{"endColumn":8,"endLine":2,"startColumn":1,"startLine":1}}}}]}]}],"level":"warning","locations":[{"physicalLocation":{"artifactLocation":{"index":0,"uri":"file:///main.cpp"},"region":{"endColumn":8,"endLine":2,"startColumn":5,"startLine":2}}}],"message":{"text":"Redefinition of 'foo'"},"ruleId":"clang.unittest","ruleIndex":0}],"tool":{"driver":{"fullName":"sarif test runner","informationUri":"https://clang.llvm.org/docs/UsersManual.html","language":"en-US","name":"sarif test","rules":[{"defaultConfiguration":{"enabled":true,"level":"warning","rank":-1},"fullDescription":{"text":"Example rule created during unit tests"},"id":"clang.unittest","name":"clang unit test"}],"version":"1.0.0"}}}],"version":"2.1.0"})";
+ R"({"$schema":"https://docs.oasis-open.org/sarif/sarif/v2.1.0/cos02/schemas/sarif-schema-2.1.0.json","runs":[{"artifacts":[{"length":28,"location":{"index":3,"uri":"file:///test-header-3.h"},"mimeType":"text/plain","roles":["resultFile"]},{"length":41,"location":{"index":0,"uri":"file:///main.cpp"},"mimeType":"text/plain","roles":["resultFile"]},{"length":30,"location":{"index":2,"uri":"file:///test-header-2.h"},"mimeType":"text/plain","roles":["resultFile"]},{"length":27,"location":{"index":1,"uri":"file:///test-header-1.h"},"mimeType":"text/plain","roles":["resultFile"]}],"columnKind":"unicodeCodePoints","results":[{"codeFlows":[{"threadFlows":[{"locations":[{"importance":"essential","location":{"message":{"text":"Message #1"},"physicalLocation":{"artifactLocation":{"index":1,"uri":"file:///test-header-1.h"},"region":{"endColumn":8,"endLine":2,"startColumn":1,"startLine":1}}}},{"importance":"important","location":{"message":{"text":"Message #2"},"physicalLocation":{"artifactLocation":{"index":2,"uri":"file:///test-header-2.h"},"region":{"endColumn":8,"endLine":2,"startColumn":1,"startLine":1}}}},{"importance":"unimportant","location":{"message":{"text":"Message #3"},"physicalLocation":{"artifactLocation":{"index":3,"uri":"file:///test-header-3.h"},"region":{"endColumn":8,"endLine":2,"startColumn":1,"startLine":1}}}}]}]}],"level":"warning","locations":[{"physicalLocation":{"artifactLocation":{"index":0,"uri":"file:///main.cpp"},"region":{"endColumn":8,"endLine":2,"startColumn":5,"startLine":2}}}],"message":{"text":"Redefinition of 'foo'"},"ruleId":"clang.unittest","ruleIndex":0}],"tool":{"driver":{"fullName":"sarif test runner","informationUri":"https://clang.llvm.org/docs/UsersManual.html","language":"en-US","name":"sarif test","rules":[{"defaultConfiguration":{"enabled":true,"level":"warning","rank":-1},"fullDescription":{"text":"Example rule created during unit tests"},"id":"clang.unittest","name":"clang unit test"}],"version":"1.0.0"}}}],"version":"2.1.0"})";
const char *SourceText = "int foo = 0;\n"
"int foo = 1;\n"
Index: clang-tools-extra/test/modularize/ProblemsInconsistent.modularize
===================================================================
--- clang-tools-extra/test/modularize/ProblemsInconsistent.modularize
+++ clang-tools-extra/test/modularize/ProblemsInconsistent.modularize
@@ -3,12 +3,12 @@
Inputs/InconsistentHeader1.h
Inputs/InconsistentHeader2.h
-# CHECK: error: macro 'SYMBOL' defined at multiple locations:
-# CHECK-NEXT: {{.*}}{{[/\\]}}Inputs{{[/\\]}}InconsistentSubHeader.h:3:9
-# CHECK-NEXT: {{.*}}{{[/\\]}}Inputs{{[/\\]}}InconsistentSubHeader.h:7:9
-# CHECK-NEXT: error: macro 'FUNC_STYLE' defined at multiple locations:
+# CHECK: error: macro 'FUNC_STYLE' defined at multiple locations:
# CHECK-NEXT: {{.*}}{{[/\\]}}Inputs{{[/\\]}}InconsistentSubHeader.h:4:9
# CHECK-NEXT: {{.*}}{{[/\\]}}Inputs{{[/\\]}}InconsistentSubHeader.h:8:9
+# CHECK-NEXT: error: macro 'SYMBOL' defined at multiple locations:
+# CHECK-NEXT: {{.*}}{{[/\\]}}Inputs{{[/\\]}}InconsistentSubHeader.h:3:9
+# CHECK-NEXT: {{.*}}{{[/\\]}}Inputs{{[/\\]}}InconsistentSubHeader.h:7:9
# CHECK-NEXT: {{.*}}{{[/\\]}}Inputs{{[/\\]}}InconsistentSubHeader.h:15:11:
# CHECK-NEXT: int var = FUNC_STYLE(1, 0);
# CHECK-NEXT: ^
Index: clang-tools-extra/test/modularize/ProblemsDisplayLists.modularize
===================================================================
--- clang-tools-extra/test/modularize/ProblemsDisplayLists.modularize
+++ clang-tools-extra/test/modularize/ProblemsDisplayLists.modularize
@@ -12,5 +12,5 @@
# CHECK: These are the combined files, with problem files preceded by #:
-# CHECK: {{.*}}Inputs/CompileError/HasError.h
# CHECK: Inputs/CompileError/Level1A.h
+# CHECK: {{.*}}Inputs/CompileError/HasError.h
Index: clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
+++ clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
@@ -580,8 +580,8 @@
CDB.setCompileCommand(testPath("build/../A.cc"), Cmd);
ASSERT_TRUE(Idx.blockUntilIdleForTest());
- EXPECT_THAT(Storage.keys(), ElementsAre(testPath("A.cc"), testPath("A.h"),
- testPath("B.h"), testPath("C.h")));
+ EXPECT_THAT(Storage.keys(), ElementsAre(testPath("C.h"), testPath("B.h"),
+ testPath("A.h"), testPath("A.cc")));
{
auto Shard = MSS.loadShard(testPath("A.cc"));
@@ -635,7 +635,7 @@
CDB.setCompileCommand(testPath("build/../A.cc"), Cmd);
ASSERT_TRUE(Idx.blockUntilIdleForTest());
- EXPECT_THAT(Storage.keys(), ElementsAre(testPath("A.cc"), testPath("A.h")));
+ EXPECT_THAT(Storage.keys(), ElementsAre(testPath("A.h"), testPath("A.cc")));
// Make sure we only store the Cmd for main file.
EXPECT_FALSE(MSS.loadShard(testPath("A.h"))->Cmd);
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits