void consume(char);
void myEntry(void)
{
consume(0);
consume(1);
consume(2);
consume(3);
consume(4);
consume(5);
consume(6);
consume(7);
consume(8);
consume(9);
consume(10);
consume(-1);
consume(-2);
consume(-3);
consume(-4);
consume(-5);
consume(-6);
consume(-7);
consume(-8);
consume(-9);
consume(-10);
}
; ModuleID = '/tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c'
source_filename = "/tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"
; Function Attrs: noinline nounwind optnone uwtable
define dso_local void @myEntry() #0 {
call void @consume(i8 signext 0)
call void @consume(i8 signext 1)
call void @consume(i8 signext 2)
call void @consume(i8 signext 3)
call void @consume(i8 signext 4)
call void @consume(i8 signext 5)
call void @consume(i8 signext 6)
call void @consume(i8 signext 7)
call void @consume(i8 signext 8)
call void @consume(i8 signext 9)
call void @consume(i8 signext 10)
call void @consume(i8 signext -1)
call void @consume(i8 signext -2)
call void @consume(i8 signext -3)
call void @consume(i8 signext -4)
call void @consume(i8 signext -5)
call void @consume(i8 signext -6)
call void @consume(i8 signext -7)
call void @consume(i8 signext -8)
call void @consume(i8 signext -9)
call void @consume(i8 signext -10)
ret void
}
declare dso_local void @consume(i8 signext) #1
attributes #0 = { noinline nounwind optnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
!llvm.module.flags = !{!0}
!llvm.ident = !{!1}
!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{!"Debian clang version 11.0.1-2"}
; ModuleID = '/tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c'
source_filename = "/tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"
; Function Attrs: noinline nounwind optnone uwtable
define dso_local void @myEntry() #0 !dbg !7 {
call void @consume(i8 signext 0), !dbg !11
call void @consume(i8 signext 1), !dbg !12
call void @consume(i8 signext 2), !dbg !13
call void @consume(i8 signext 3), !dbg !14
call void @consume(i8 signext 4), !dbg !15
call void @consume(i8 signext 5), !dbg !16
call void @consume(i8 signext 6), !dbg !17
call void @consume(i8 signext 7), !dbg !18
call void @consume(i8 signext 8), !dbg !19
call void @consume(i8 signext 9), !dbg !20
call void @consume(i8 signext 10), !dbg !21
call void @consume(i8 signext -1), !dbg !22
call void @consume(i8 signext -2), !dbg !23
call void @consume(i8 signext -3), !dbg !24
call void @consume(i8 signext -4), !dbg !25
call void @consume(i8 signext -5), !dbg !26
call void @consume(i8 signext -6), !dbg !27
call void @consume(i8 signext -7), !dbg !28
call void @consume(i8 signext -8), !dbg !29
call void @consume(i8 signext -9), !dbg !30
call void @consume(i8 signext -10), !dbg !31
ret void, !dbg !32
}
declare dso_local void @consume(i8 signext) #1
attributes #0 = { noinline nounwind optnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4, !5}
!llvm.ident = !{!6}
!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "Debian clang version 11.0.1-2", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, splitDebugInlining: false, nameTableKind: None)
!1 = !DIFile(filename: "/tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c", directory: "/__w/semicompiled/semicompiled")
!2 = !{}
!3 = !{i32 7, !"Dwarf Version", i32 4}
!4 = !{i32 2, !"Debug Info Version", i32 3}
!5 = !{i32 1, !"wchar_size", i32 4}
!6 = !{!"Debian clang version 11.0.1-2"}
!7 = distinct !DISubprogram(name: "myEntry", scope: !8, file: !8, line: 2, type: !9, scopeLine: 3, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!8 = !DIFile(filename: "/tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c", directory: "")
!9 = !DISubroutineType(types: !10)
!10 = !{null}
!11 = !DILocation(line: 4, column: 5, scope: !7)
!12 = !DILocation(line: 5, column: 5, scope: !7)
!13 = !DILocation(line: 6, column: 5, scope: !7)
!14 = !DILocation(line: 7, column: 5, scope: !7)
!15 = !DILocation(line: 8, column: 5, scope: !7)
!16 = !DILocation(line: 9, column: 5, scope: !7)
!17 = !DILocation(line: 10, column: 5, scope: !7)
!18 = !DILocation(line: 11, column: 5, scope: !7)
!19 = !DILocation(line: 12, column: 5, scope: !7)
!20 = !DILocation(line: 13, column: 5, scope: !7)
!21 = !DILocation(line: 14, column: 5, scope: !7)
!22 = !DILocation(line: 15, column: 5, scope: !7)
!23 = !DILocation(line: 16, column: 5, scope: !7)
!24 = !DILocation(line: 17, column: 5, scope: !7)
!25 = !DILocation(line: 18, column: 5, scope: !7)
!26 = !DILocation(line: 19, column: 5, scope: !7)
!27 = !DILocation(line: 20, column: 5, scope: !7)
!28 = !DILocation(line: 21, column: 5, scope: !7)
!29 = !DILocation(line: 22, column: 5, scope: !7)
!30 = !DILocation(line: 23, column: 5, scope: !7)
!31 = !DILocation(line: 24, column: 5, scope: !7)
!32 = !DILocation(line: 25, column: 1, scope: !7)
(module
(type (;0;) (func))
(type (;1;) (func (param i32)))
(import "env" "consume" (func (;0;) (type 1)))
(import "env" "__stack_pointer" (global (;0;) (mut i32)))
(import "env" "__memory_base" (global (;1;) i32))
(import "env" "__table_base" (global (;2;) i32))
(import "env" "memory" (memory (;0;) 0))
(import "env" "__indirect_function_table" (table (;0;) 0 funcref))
(func (;1;) (type 0)
call 2)
(func (;2;) (type 0))
(func (;3;) (type 0)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
i32.const 246
local.set 0
i32.const 247
local.set 1
i32.const 248
local.set 2
i32.const 249
local.set 3
i32.const 250
local.set 4
i32.const 251
local.set 5
i32.const 252
local.set 6
i32.const 253
local.set 7
i32.const 254
local.set 8
i32.const 255
local.set 9
i32.const 10
local.set 10
i32.const 9
local.set 11
i32.const 8
local.set 12
i32.const 7
local.set 13
i32.const 6
local.set 14
i32.const 5
local.set 15
i32.const 4
local.set 16
i32.const 3
local.set 17
i32.const 2
local.set 18
i32.const 1
local.set 19
i32.const 0
local.set 20
i32.const 24
local.set 21
local.get 20
local.get 21
i32.shl
local.set 22
local.get 22
local.get 21
i32.shr_s
local.set 23
local.get 23
call 0
i32.const 24
local.set 24
local.get 19
local.get 24
i32.shl
local.set 25
local.get 25
local.get 24
i32.shr_s
local.set 26
local.get 26
call 0
i32.const 24
local.set 27
local.get 18
local.get 27
i32.shl
local.set 28
local.get 28
local.get 27
i32.shr_s
local.set 29
local.get 29
call 0
i32.const 24
local.set 30
local.get 17
local.get 30
i32.shl
local.set 31
local.get 31
local.get 30
i32.shr_s
local.set 32
local.get 32
call 0
i32.const 24
local.set 33
local.get 16
local.get 33
i32.shl
local.set 34
local.get 34
local.get 33
i32.shr_s
local.set 35
local.get 35
call 0
i32.const 24
local.set 36
local.get 15
local.get 36
i32.shl
local.set 37
local.get 37
local.get 36
i32.shr_s
local.set 38
local.get 38
call 0
i32.const 24
local.set 39
local.get 14
local.get 39
i32.shl
local.set 40
local.get 40
local.get 39
i32.shr_s
local.set 41
local.get 41
call 0
i32.const 24
local.set 42
local.get 13
local.get 42
i32.shl
local.set 43
local.get 43
local.get 42
i32.shr_s
local.set 44
local.get 44
call 0
i32.const 24
local.set 45
local.get 12
local.get 45
i32.shl
local.set 46
local.get 46
local.get 45
i32.shr_s
local.set 47
local.get 47
call 0
i32.const 24
local.set 48
local.get 11
local.get 48
i32.shl
local.set 49
local.get 49
local.get 48
i32.shr_s
local.set 50
local.get 50
call 0
i32.const 24
local.set 51
local.get 10
local.get 51
i32.shl
local.set 52
local.get 52
local.get 51
i32.shr_s
local.set 53
local.get 53
call 0
i32.const 24
local.set 54
local.get 9
local.get 54
i32.shl
local.set 55
local.get 55
local.get 54
i32.shr_s
local.set 56
local.get 56
call 0
i32.const 24
local.set 57
local.get 8
local.get 57
i32.shl
local.set 58
local.get 58
local.get 57
i32.shr_s
local.set 59
local.get 59
call 0
i32.const 24
local.set 60
local.get 7
local.get 60
i32.shl
local.set 61
local.get 61
local.get 60
i32.shr_s
local.set 62
local.get 62
call 0
i32.const 24
local.set 63
local.get 6
local.get 63
i32.shl
local.set 64
local.get 64
local.get 63
i32.shr_s
local.set 65
local.get 65
call 0
i32.const 24
local.set 66
local.get 5
local.get 66
i32.shl
local.set 67
local.get 67
local.get 66
i32.shr_s
local.set 68
local.get 68
call 0
i32.const 24
local.set 69
local.get 4
local.get 69
i32.shl
local.set 70
local.get 70
local.get 69
i32.shr_s
local.set 71
local.get 71
call 0
i32.const 24
local.set 72
local.get 3
local.get 72
i32.shl
local.set 73
local.get 73
local.get 72
i32.shr_s
local.set 74
local.get 74
call 0
i32.const 24
local.set 75
local.get 2
local.get 75
i32.shl
local.set 76
local.get 76
local.get 75
i32.shr_s
local.set 77
local.get 77
call 0
i32.const 24
local.set 78
local.get 1
local.get 78
i32.shl
local.set 79
local.get 79
local.get 78
i32.shr_s
local.set 80
local.get 80
call 0
i32.const 24
local.set 81
local.get 0
local.get 81
i32.shl
local.set 82
local.get 82
local.get 81
i32.shr_s
local.set 83
local.get 83
call 0
return)
(global (;3;) i32 (i32.const 0))
(export "__post_instantiate" (func 1))
(export "__wasm_apply_relocs" (func 2))
(export "myEntry" (func 3))
(export "__dso_handle" (global 3)))
/tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.o: file format elf64-bpf
Disassembly of section .text:
0000000000000000 <myEntry>:
; myEntry():
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:3
; {
0: r1 = 0
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:4
; consume(0);
1: call -1
2: r1 = 1
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:5
; consume(1);
3: call -1
4: r1 = 2
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:6
; consume(2);
5: call -1
6: r1 = 3
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:7
; consume(3);
7: call -1
8: r1 = 4
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:8
; consume(4);
9: call -1
10: r1 = 5
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:9
; consume(5);
11: call -1
12: r1 = 6
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:10
; consume(6);
13: call -1
14: r1 = 7
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:11
; consume(7);
15: call -1
16: r1 = 8
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:12
; consume(8);
17: call -1
18: r1 = 9
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:13
; consume(9);
19: call -1
20: r1 = 10
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:14
; consume(10);
21: call -1
22: r1 = -1
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:15
; consume(-1);
23: call -1
24: r1 = -2
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:16
; consume(-2);
25: call -1
26: r1 = -3
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:17
; consume(-3);
27: call -1
28: r1 = -4
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:18
; consume(-4);
29: call -1
30: r1 = -5
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:19
; consume(-5);
31: call -1
32: r1 = -6
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:20
; consume(-6);
33: call -1
34: r1 = -7
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:21
; consume(-7);
35: call -1
36: r1 = -8
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:22
; consume(-8);
37: call -1
38: r1 = -9
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:23
; consume(-9);
39: call -1
40: r1 = -10
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:24
; consume(-10);
41: call -1
; /tmp/semicompiled-BPiQWBvX-Wkt3S0bV-10605733008499813828/source.c:25
; }
42: exit
Join the thriving social scene at github.com/andrewbaxter/semicompiled.