Instrew: Leveraging LLVM for High Performance Dynamic Binary Instrumentation
Alexis Engelke Martin Schulz
Chair of Computer Architecture and Parallel Systems TUM Department of Informatics Technical University of Munich
Instrew: Leveraging LLVM for High Performance Dynamic Binary - - PowerPoint PPT Presentation
Instrew: Leveraging LLVM for High Performance Dynamic Binary Instrumentation Alexis Engelke Martin Schulz Chair of Computer Architecture and Parallel Systems TUM Department of Informatics Technical University of Munich VEE 2020, virtual
Chair of Computer Architecture and Parallel Systems TUM Department of Informatics Technical University of Munich
2 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
3 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
4 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
5 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
6 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
7 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
8 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
9 Alexis Engelke 2020
ah
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
10 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
11 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
12 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
13 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
14 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
15 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
16 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
17 Alexis Engelke 2020
System: 2×Intel Xeon CPU E5-2697 v3 (Haswell) @ 2.6 GHz (3.6 GHz Turbo), 17 MiB L3 cache; 64 GiB main memory; SUSE Linux 12; Linux kernel 4.12.14-95.32; 64-bit mode. Compiler: GCC 9.2.0 with -O3 -march=x86-64, implies SSE/SSE2 but no SSE3+/AVX. Libraries: glibc 2.22; LLVM 9.0. SPEC CPU2017 intspeed+fpspeed benchmarks, ref workload, single thread. Comparison: Valgrind 3.15.0. Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
18 Alexis Engelke 2020
6 2 . g c c 6 5 . m c f 6 2 .
n e t p p 6 2 3 . x a l a n c b m k 6 2 5 . x 2 6 4 6 3 1 . d e e p s j e n g 6 4 1 . l e e l a 6 4 8 . e x c h a n g e 2 6 5 7 . x z 6 3 . b w a v e s 6 7 . c a c t u B S S N 6 1 9 . l b m 6 2 1 . w r f 6 2 7 . c a m 4 6 2 8 . p
2 6 3 8 . i m a g i c k 6 4 4 . n a b 6 4 9 . f
i k 3 d 6 5 4 . r
s g e
e a n
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
19 Alexis Engelke 2020
6 2 . g c c 6 5 . m c f 6 2 .
n e t p p 6 2 3 . x a l a n c b m k 6 2 5 . x 2 6 4 6 3 1 . d e e p s j e n g 6 4 1 . l e e l a 6 4 8 . e x c h a n g e 2 6 5 7 . x z 6 3 . b w a v e s 6 7 . c a c t u B S S N 6 1 9 . l b m 6 2 1 . w r f 6 2 7 . c a m 4 6 2 8 . p
2 6 3 8 . i m a g i c k 6 4 4 . n a b 6 4 9 . f
i k 3 d 6 5 4 . r
s g e
e a n
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
20 Alexis Engelke 2020
6 2 . g c c 6 5 . m c f 6 2 .
n e t p p 6 2 3 . x a l a n c b m k 6 2 5 . x 2 6 4 6 3 1 . d e e p s j e n g 6 4 1 . l e e l a 6 4 8 . e x c h a n g e 2 6 5 7 . x z 6 3 . b w a v e s 6 7 . c a c t u B S S N 6 1 9 . l b m 6 2 1 . w r f 6 2 7 . c a m 4 6 2 8 . p
2 6 3 8 . i m a g i c k 6 4 4 . n a b 6 4 9 . f
i k 3 d 6 5 4 . r
s g e
e a n
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
21 Alexis Engelke 2020
6 2 . g c c 6 5 . m c f 6 2 .
n e t p p 6 2 3 . x a l a n c b m k 6 2 5 . x 2 6 4 6 3 1 . d e e p s j e n g 6 4 1 . l e e l a 6 4 8 . e x c h a n g e 2 6 5 7 . x z 6 3 . b w a v e s 6 7 . c a c t u B S S N 6 1 9 . l b m 6 2 1 . w r f 6 2 7 . c a m 4 6 2 8 . p
2 6 3 8 . i m a g i c k 6 4 4 . n a b 6 4 9 . f
i k 3 d 6 5 4 . r
s g e
e a n
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
22 Alexis Engelke 2020
6 2 . g c c 6 5 . m c f 6 2 .
n e t p p 6 2 3 . x a l a n c b m k 6 2 5 . x 2 6 4 6 3 1 . d e e p s j e n g 6 4 1 . l e e l a 6 4 8 . e x c h a n g e 2 6 5 7 . x z 6 3 . b w a v e s 6 7 . c a c t u B S S N 6 1 9 . l b m 6 2 1 . w r f 6 2 7 . c a m 4 6 2 8 . p
2 6 3 8 . i m a g i c k 6 4 4 . n a b 6 4 9 . f
i k 3 d 6 5 4 . r
s g e
e a n
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
23 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
24 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation
25 Alexis Engelke 2020
Introduction Lifting x86-64 to LLVM-IR Instrumentation Framework Evaluation