Skip to content

Commit 13efd72

Browse files
committed
Reduce tests. Update comments in tests.
Created using spr 1.3.6-beta.1
2 parents 388b958 + b94b3e0 commit 13efd72

22 files changed

+249
-420
lines changed
Lines changed: 21 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,32 @@
11
;; Tests that callee_type metadata attached to direct call sites are safely ignored.
22

3-
; RUN: llc --call-graph-section -mtriple aarch64-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
3+
; RUN: llc --call-graph-section -mtriple aarch64-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck --match-full-lines %s
44

5-
; Function Attrs: mustprogress noinline optnone uwtable
6-
define i32 @_Z3fooiii(i32 %x, i32 %y, i32 %z) !type !3 {
5+
;; Test that `calleeTypeIds` field is not present in `callSites`
6+
; CHECK-LABEL: callSites:
7+
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
8+
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
9+
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
10+
define i32 @foo(i32 %x, i32 %y) !type !0 {
711
entry:
8-
;; Test that `calleeTypeIds` field is not present in `callSites`
9-
; CHECK-LABEL: callSites:
10-
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
11-
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
12-
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
13-
%x.addr = alloca i32, align 4
14-
%y.addr = alloca i32, align 4
15-
%z.addr = alloca i32, align 4
16-
store i32 %x, ptr %x.addr, align 4
17-
store i32 %y, ptr %y.addr, align 4
18-
store i32 %z, ptr %z.addr, align 4
19-
%zval = load i32, ptr %z.addr, align 4
20-
%yval = load i32, ptr %y.addr, align 4
21-
;; This direct call has a callee_type metadata node which matches the
22-
;; callee type accurately.
23-
%call = call i32 @_Z4fizzii(i32 %zval, i32 %yval), !callee_type !0
24-
%xval = load i32, ptr %x.addr, align 4
25-
%yval2 = load i32, ptr %y.addr, align 4
26-
;; This direct call has a callee_type metadata node which points to a
27-
;; mismatched callee type id.
28-
%call1 = call i32 @_Z4fizzii(i32 %xval, i32 %yval2), !callee_type !1
12+
;; Call instruction with accurate callee_type.
13+
;; callee_type should be dropped seemlessly.
14+
%call = call i32 @fizz(i32 %x, i32 %y), !callee_type !1
15+
;; Call instruction with mismatched callee_type.
16+
;; callee_type should be dropped seemlessly without errors.
17+
%call1 = call i32 @fizz(i32 %x, i32 %y), !callee_type !3
2918
%add = add nsw i32 %call, %call1
30-
%xval2 = load i32, ptr %x.addr, align 4
31-
%zval2 = load i32, ptr %z.addr, align 4
32-
;; This direct call has a callee_type metadata node which points to a
33-
;; mismatched callee type id.
34-
%call2 = call i32 @_Z4fizzii(i32 %xval2, i32 %zval2), !callee_type !1
19+
;; Call instruction with mismatched callee_type.
20+
;; callee_type should be dropped seemlessly without errors.
21+
%call2 = call i32 @fizz(i32 %add, i32 %y), !callee_type !3
3522
%sub = sub nsw i32 %add, %call2
3623
ret i32 %sub
3724
}
3825

39-
declare !type !4 i32 @_Z4fizzii(i32, i32)
26+
declare !type !2 i32 @fizz(i32, i32)
4027

41-
!0 = !{!4}
28+
!0 = !{i64 0, !"_ZTSFiiiiE.generalized"}
4229
!1 = !{!2}
43-
!2 = !{i64 0, !"_ZTSFicE.generalized"}
44-
!3 = !{i64 0, !"_ZTSFiiiiE.generalized"}
45-
!4 = !{i64 0, !"_ZTSFiiiE.generalized"}
30+
!2 = !{i64 0, !"_ZTSFiiiE.generalized"}
31+
!3 = !{!4}
32+
!4 = !{i64 0, !"_ZTSFicE.generalized"}

llvm/test/CodeGen/AArch64/callsite-emit-calleetypeid-tailcall.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
;; Verify the exact calleeTypeId value to ensure it is not garbage but the value
55
;; computed as the type id from the callee_type metadata.
6-
; RUN: llc --call-graph-section -mtriple aarch64-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
6+
; RUN: llc --call-graph-section -mtriple aarch64-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck --match-full-lines %s
77

8-
define i32 @_Z13call_indirectPFicEc(ptr %func, i8 %x) !type !0 {
8+
define i32 @check_tailcall(ptr %func, i8 %x) !type !0 {
99
entry:
1010
; CHECK: callSites:
1111
; CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [], calleeTypeIds:
Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,20 @@
11
;; Tests that call site callee type ids can be extracted and set from
22
;; callee_type metadata.
33

4-
;; Verify the exact calleeTypeId value to ensure it is not garbage but the value
4+
;; Verify the exact calleeTypeIds value to ensure it is not garbage but the value
55
;; computed as the type id from the callee_type metadata.
6-
; RUN: llc --call-graph-section -mtriple aarch64-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
7-
8-
declare !type !0 void @foo(i8 signext %a)
6+
; RUN: llc --call-graph-section -mtriple aarch64-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck --match-full-lines %s
97

108
; CHECK: name: main
11-
define i32 @main() !type !1 {
9+
; CHECK: callSites:
10+
; CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [], calleeTypeIds:
11+
; CHECK-NEXT: [ 7854600665770582568 ] }
12+
define i32 @main() {
1213
entry:
13-
%retval = alloca i32, align 4
14-
%fp = alloca ptr, align 8
15-
store i32 0, ptr %retval, align 4
16-
store ptr @foo, ptr %fp, align 8
17-
%fp_val = load ptr, ptr %fp, align 8
18-
; CHECK: callSites:
19-
; CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [], calleeTypeIds:
20-
; CHECK-NEXT: [ 7854600665770582568 ] }
21-
call void %fp_val(i8 signext 97), !callee_type !2
14+
%0 = load ptr, ptr null, align 8
15+
call void %0(i8 0), !callee_type !0
2216
ret i32 0
2317
}
2418

25-
!0 = !{i64 0, !"_ZTSFvcE.generalized"}
26-
!1 = !{i64 0, !"_ZTSFiE.generalized"}
27-
!2 = !{!0}
19+
!0 = !{!1}
20+
!1 = !{i64 0, !"_ZTSFvcE.generalized"}
Lines changed: 21 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,32 @@
11
;; Tests that callee_type metadata attached to direct call sites are safely ignored.
22

3-
; RUN: llc --call-graph-section -mtriple arm-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
3+
; RUN: llc --call-graph-section -mtriple arm-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck --match-full-lines %s
44

5-
; Function Attrs: mustprogress noinline optnone uwtable
6-
define i32 @_Z3fooiii(i32 %x, i32 %y, i32 %z) !type !3 {
5+
;; Test that `calleeTypeIds` field is not present in `callSites`
6+
; CHECK-LABEL: callSites:
7+
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
8+
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
9+
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
10+
define i32 @foo(i32 %x, i32 %y) !type !0 {
711
entry:
8-
;; Test that `calleeTypeIds` field is not present in `callSites`
9-
; CHECK-LABEL: callSites:
10-
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
11-
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
12-
; CHECK-NEXT: - { bb: {{[0-9]+}}, offset: {{[0-9]+}}, fwdArgRegs: [] }
13-
%x.addr = alloca i32, align 4
14-
%y.addr = alloca i32, align 4
15-
%z.addr = alloca i32, align 4
16-
store i32 %x, ptr %x.addr, align 4
17-
store i32 %y, ptr %y.addr, align 4
18-
store i32 %z, ptr %z.addr, align 4
19-
%zval = load i32, ptr %z.addr, align 4
20-
%yval = load i32, ptr %y.addr, align 4
21-
;; This direct call has a callee_type metadata node which matches the
22-
;; callee type accurately.
23-
%call = call i32 @_Z4fizzii(i32 %zval, i32 %yval), !callee_type !0
24-
%xval = load i32, ptr %x.addr, align 4
25-
%yval2 = load i32, ptr %y.addr, align 4
26-
;; This direct call has a callee_type metadata node which points to a
27-
;; mismatched callee type id.
28-
%call1 = call i32 @_Z4fizzii(i32 %xval, i32 %yval2), !callee_type !1
12+
;; Call instruction with accurate callee_type.
13+
;; callee_type should be dropped seemlessly.
14+
%call = call i32 @fizz(i32 %x, i32 %y), !callee_type !1
15+
;; Call instruction with mismatched callee_type.
16+
;; callee_type should be dropped seemlessly without errors.
17+
%call1 = call i32 @fizz(i32 %x, i32 %y), !callee_type !3
2918
%add = add nsw i32 %call, %call1
30-
%xval2 = load i32, ptr %x.addr, align 4
31-
%zval2 = load i32, ptr %z.addr, align 4
32-
;; This direct call has a callee_type metadata node which points to a
33-
;; mismatched callee type id.
34-
%call2 = call i32 @_Z4fizzii(i32 %xval2, i32 %zval2), !callee_type !1
19+
;; Call instruction with mismatched callee_type.
20+
;; callee_type should be dropped seemlessly without errors.
21+
%call2 = call i32 @fizz(i32 %add, i32 %y), !callee_type !3
3522
%sub = sub nsw i32 %add, %call2
3623
ret i32 %sub
3724
}
3825

39-
declare !type !4 i32 @_Z4fizzii(i32, i32)
26+
declare !type !2 i32 @fizz(i32, i32)
4027

41-
!0 = !{!4}
28+
!0 = !{i64 0, !"_ZTSFiiiiE.generalized"}
4229
!1 = !{!2}
43-
!2 = !{i64 0, !"_ZTSFicE.generalized"}
44-
!3 = !{i64 0, !"_ZTSFiiiiE.generalized"}
45-
!4 = !{i64 0, !"_ZTSFiiiE.generalized"}
30+
!2 = !{i64 0, !"_ZTSFiiiE.generalized"}
31+
!3 = !{!4}
32+
!4 = !{i64 0, !"_ZTSFicE.generalized"}

llvm/test/CodeGen/ARM/callsite-emit-calleetypeid-tailcall.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
;; Verify the exact calleeTypeId value to ensure it is not garbage but the value
55
;; computed as the type id from the callee_type metadata.
6-
; RUN: llc --call-graph-section -mtriple arm-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
6+
; RUN: llc --call-graph-section -mtriple arm-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck --match-full-lines %s
77

8-
define i32 @_Z13call_indirectPFicEc(ptr %func, i8 %x) !type !0 {
8+
define i32 @check_tailcall(ptr %func, i8 %x) !type !0 {
99
entry:
1010
; CHECK: callSites:
1111
; CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [], calleeTypeIds:
Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,20 @@
11
;; Tests that call site callee type ids can be extracted and set from
22
;; callee_type metadata.
33

4-
;; Verify the exact calleeTypeId value to ensure it is not garbage but the value
4+
;; Verify the exact calleeTypeIds value to ensure it is not garbage but the value
55
;; computed as the type id from the callee_type metadata.
6-
; RUN: llc --call-graph-section -mtriple arm-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
7-
8-
declare !type !0 void @foo(i8 signext %a)
6+
; RUN: llc --call-graph-section -mtriple arm-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck --match-full-lines %s
97

108
; CHECK: name: main
11-
define i32 @main() !type !1 {
9+
; CHECK: callSites:
10+
; CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [], calleeTypeIds:
11+
; CHECK-NEXT: [ 7854600665770582568 ] }
12+
define i32 @main() {
1213
entry:
13-
%retval = alloca i32, align 4
14-
%fp = alloca ptr, align 8
15-
store i32 0, ptr %retval, align 4
16-
store ptr @foo, ptr %fp, align 8
17-
%fp_val = load ptr, ptr %fp, align 8
18-
; CHECK: callSites:
19-
; CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [], calleeTypeIds:
20-
; CHECK-NEXT: [ 7854600665770582568 ] }
21-
call void %fp_val(i8 signext 97), !callee_type !2
14+
%0 = load ptr, ptr null, align 8
15+
call void %0(i8 0), !callee_type !0
2216
ret i32 0
2317
}
2418

25-
!0 = !{i64 0, !"_ZTSFvcE.generalized"}
26-
!1 = !{i64 0, !"_ZTSFiE.generalized"}
27-
!2 = !{!0}
19+
!0 = !{!1}
20+
!1 = !{i64 0, !"_ZTSFvcE.generalized"}
Lines changed: 18 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,31 @@
1-
# Test MIR printer and parser for type id field in callSites. It is used
2-
# for propagating call site type identifiers to emit in the call graph section.
1+
# Test MIR printer and parser to check if a call instruction with multiple
2+
# callee types are handled correctly.
33

44
# RUN: llc --call-graph-section %s -run-pass=none -o - | FileCheck --match-full-lines %s
5-
# CHECK: name: main
5+
# CHECK: name: ambiguous_caller
66
# CHECK: callSites:
7-
# CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [] }
8-
# CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [], calleeTypeIds:
9-
# CHECK-NEXT: [ 1234567890 ] }
7+
# CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: {{.*}}, calleeTypeIds:
8+
# CHECK-NEXT: [ 1234, 5678 ] }
109

11-
--- |
12-
13-
declare !type !0 i32 @_Z3addii(i32, i32)
14-
15-
declare !type !0 i32 @_Z8multiplyii(i32, i32)
16-
17-
declare !type !1 ptr @_Z13get_operationb(i1 zeroext %is_addition)
18-
19-
define i32 @main(i32 %argc) !type !2 {
10+
--- |
11+
define ptr @ambiguous_caller() {
2012
entry:
21-
%retval = alloca i32, align 4
22-
%argc.addr = alloca i32, align 4
23-
%x = alloca i32, align 4
24-
%y = alloca i32, align 4
25-
%op = alloca ptr, align 8
26-
store i32 0, ptr %retval, align 4
27-
store i32 %argc, ptr %argc.addr, align 4
28-
store i32 5, ptr %x, align 4
29-
store i32 10, ptr %y, align 4
30-
%argc_val = load i32, ptr %argc.addr, align 4
31-
%rem = srem i32 %argc_val, 2
32-
%cmp = icmp eq i32 %rem, 0
33-
%call = call ptr @_Z13get_operationb(i1 zeroext %cmp)
34-
store ptr %call, ptr %op, align 8
35-
%op_val = load ptr, ptr %op, align 8
36-
%x_val = load i32, ptr %x, align 4
37-
%y_val = load i32, ptr %y, align 4
38-
%call1 = call i32 %op_val(i32 %x_val, i32 %y_val), !callee_type !3
39-
ret i32 %call1
13+
%fn = alloca ptr, align 8
14+
%call1 = call ptr %fn(i64 4), !callee_type !0
15+
ret ptr %call1
4016
}
4117

42-
!0 = !{i64 0, !"_ZTSFiiiE.generalized"}
43-
!1 = !{i64 0, !"_ZTSFPvbE.generalized"}
44-
!2 = !{i64 0, !"_ZTSFiiE.generalized"}
45-
!3 = !{!0}
46-
18+
!0 = !{!1, !2}
19+
!1 = !{i64 0, !"callee_type0.generalized"}
20+
!2 = !{i64 0, !"callee_type2.generalized"}
4721
...
4822
---
49-
name: main
23+
name: ambiguous_caller
5024
callSites:
51-
- { bb: 0, offset: 0, fwdArgRegs: [] }
52-
- { bb: 0, offset: 2, fwdArgRegs: [], calleeTypeIds: [ 1234567890 ] }
25+
- { bb: 0, offset: 1, fwdArgRegs: [], calleeTypeIds: [ 1234, 5678 ] }
5326
body: |
5427
bb.0.entry:
55-
CALL64pcrel32 @_Z13get_operationb, csr_64, implicit $rsp, implicit $ssp, implicit $edi, implicit-def $rsp, implicit-def $ssp, implicit-def $rax
56-
%7:gr64 = COPY $rax
57-
CALL64r %7, csr_64, implicit $rsp, implicit $ssp, implicit $edi, implicit $esi, implicit-def $rsp, implicit-def $ssp, implicit-def $eax
58-
28+
%0:gr64 = MOV32ri64 4
29+
CALL64r killed %0, csr_64, implicit $rsp, implicit $ssp, implicit $rdi, implicit-def $rsp, implicit-def $ssp, implicit-def $rax
30+
RET 0, $rax
5931
...

llvm/test/CodeGen/MIR/X86/call-site-info-direct-calls-typeid.mir

Lines changed: 19 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,67 +4,51 @@
44

55
# RUN: llc --call-graph-section %s -run-pass=none -o - | FileCheck --match-full-lines %s
66
# CHECK-NOT: calleeTypeIds
7-
# CHECK: name: _Z3barii
7+
# CHECK: name: bar
88
# CHECK: callSites:
99
# CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [] }
1010
# CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [] }
11-
# CHECK: name: _Z3fooii
11+
# CHECK: name: foo
1212
# CHECK: callSites:
1313
# CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [] }
1414

15-
--- |
16-
declare !type !0 i32 @_Z4fizzii(i32 %x, i32 %y)
17-
18-
declare !type !0 i32 @_Z4buzzii(i32 %x, i32 %y)
19-
20-
define i32 @_Z3barii(i32 %x, i32 %y) !type !0 {
15+
--- |
16+
declare i32 @fizz(i32, i32)
17+
18+
declare i32 @buzz(i32, i32)
19+
20+
define i32 @bar(i32 %x, i32 %y) !type !0 {
2121
entry:
22-
%x.addr = alloca i32, align 4
23-
%y.addr = alloca i32, align 4
24-
store i32 %x, ptr %x.addr, align 4
25-
store i32 %y, ptr %y.addr, align 4
26-
%x_val = load i32, ptr %x.addr, align 4
27-
%y_val = load i32, ptr %y.addr, align 4
28-
%call = call i32 @_Z4buzzii(i32 %x_val, i32 %y_val)
29-
%x_val_2 = load i32, ptr %x.addr, align 4
30-
%y_val_2 = load i32, ptr %y.addr, align 4
31-
%call1 = call i32 @_Z4fizzii(i32 %x_val_2, i32 %y_val_2)
32-
%sub = sub nsw i32 %call, %call1
33-
ret i32 %sub
22+
%call = call i32 @buzz(i32 %x, i32 %x)
23+
%call1 = call i32 @fizz(i32 %x, i32 %x)
24+
ret i32 0
3425
}
3526

36-
define i32 @_Z3fooii(i32 %x, i32 %y) !type !0 {
27+
define i32 @foo(i32 %x, i32 %y) !type !0 {
3728
entry:
38-
%x.addr = alloca i32, align 4
39-
%y.addr = alloca i32, align 4
40-
store i32 %x, ptr %x.addr, align 4
41-
store i32 %y, ptr %y.addr, align 4
42-
%x_val = load i32, ptr %x.addr, align 4
43-
%y_val = load i32, ptr %y.addr, align 4
44-
%call = call i32 @_Z3barii(i32 %x_val, i32 %y_val)
45-
ret i32 %call
29+
%call1 = call i32 @bar(i32 %x, i32 %x)
30+
ret i32 0
4631
}
4732

4833
!0 = !{i64 0, !"_ZTSFiiiE.generalized"}
49-
5034
...
5135
---
52-
name: _Z3barii
36+
name: bar
5337
callSites:
5438
- { bb: 0, offset: 0, fwdArgRegs: [] }
5539
- { bb: 0, offset: 1, fwdArgRegs: [] }
5640
body: |
5741
bb.0.entry:
58-
CALL64pcrel32 @_Z4buzzii, csr_64, implicit $rsp, implicit $ssp, implicit $edi, implicit $esi, implicit-def $rsp, implicit-def $ssp, implicit-def $eax
59-
CALL64pcrel32 @_Z4fizzii, csr_64, implicit $rsp, implicit $ssp, implicit $edi, implicit $esi, implicit-def $rsp, implicit-def $ssp, implicit-def $eax
42+
CALL64pcrel32 target-flags(x86-plt) @buzz, csr_64, implicit $rsp, implicit $ssp, implicit $edi, implicit $esi, implicit-def $rsp, implicit-def $ssp, implicit-def $eax
43+
CALL64pcrel32 target-flags(x86-plt) @fizz, csr_64, implicit $rsp, implicit $ssp, implicit $edi, implicit $esi, implicit-def $rsp, implicit-def $ssp, implicit-def $eax
6044
6145
...
6246
---
63-
name: _Z3fooii
47+
name: foo
6448
callSites:
6549
- { bb: 0, offset: 0, fwdArgRegs: [] }
6650
body: |
6751
bb.0.entry:
68-
CALL64pcrel32 @_Z3barii, csr_64, implicit $rsp, implicit $ssp, implicit $edi, implicit $esi, implicit-def $rsp, implicit-def $ssp, implicit-def $eax
52+
CALL64pcrel32 target-flags(x86-plt) @bar, csr_64, implicit $rsp, implicit $ssp, implicit $edi, implicit $esi, implicit-def $rsp, implicit-def $ssp, implicit-def $eax
6953
7054
...

0 commit comments

Comments
 (0)