LLVM: A compilation framework for lifelong program analysis & transformation
C Lattner, V Adve - … on code generation and optimization, 2004 …, 2004 - ieeexplore.ieee.org
We describe LLVM (low level virtual machine), a compiler framework designed to support
transparent, lifelong program analysis and transformation for arbitrary programs, by …
transparent, lifelong program analysis and transformation for arbitrary programs, by …
Obfuscation of executable code to improve resistance to static disassembly
C Linn, S Debray - Proceedings of the 10th ACM conference on …, 2003 - dl.acm.org
A great deal of software is distributed in the form of executable code. The ability to reverse
engineer such executables can create opportunities for theft of intellectual property via …
engineer such executables can create opportunities for theft of intellectual property via …
[PDF][PDF] LLVM: An infrastructure for multi-stage optimization
CA Lattner - 2002 - llvm.org
Modern programming languages and software engineering principles are causing
increasing problems for compiler systems. Traditional approaches, which use a simple …
increasing problems for compiler systems. Traditional approaches, which use a simple …
Bolt: a practical binary optimizer for data centers and beyond
M Panchenko, R Auler, B Nell… - 2019 IEEE/ACM …, 2019 - ieeexplore.ieee.org
Performance optimization for large-scale applications has recently become more important
as computation continues to move towards data centers. Data-center applications are …
as computation continues to move towards data centers. Data-center applications are …
Disassembly of executable code revisited
Machine code disassembly routines form a fundamental component of software systems that
statically analyze or modify executable programs, eg, reverse engineering systems, static …
statically analyze or modify executable programs, eg, reverse engineering systems, static …
Binary Obfuscation Using Signals.
Reverse engineering of software is the process of recovering higher-level structure and
meaning from a lower-level program representation. It can be used for legitimate purposes …
meaning from a lower-level program representation. It can be used for legitimate purposes …
Propeller: A profile guided, relinking optimizer for warehouse-scale applications
While profile guided optimizations (PGO) and link time optimiza-tions (LTO) have been
widely adopted, post link optimizations (PLO) have languished until recently when …
widely adopted, post link optimizations (PLO) have languished until recently when …
[PDF][PDF] Plto: A link-time optimizer for the Intel IA-32 architecture
This paper describes PLTO, a link-time instrumentation and optimization tool we have
developed for the Intel IA-32 architecture. A number of characteristics of this architecture …
developed for the Intel IA-32 architecture. A number of characteristics of this architecture …
[PDF][PDF] Bmat-a binary matching tool for stale profile propagation
Z Wang, K Pierce, S McFarling - The Journal of Instruction-Level …, 2000 - Citeseer
A major challenge of applying profile-based optimization on large real-world applications is
how to capture adequate profile information. A large program, especially a GUI-based …
how to capture adequate profile information. A large program, especially a GUI-based …
[PDF][PDF] Design and implementation of a lightweight dynamic optimization system
Many opportunities exist to improve micro-architectural performance due to performance
events that are difficult to optimize at static compile time. Cache misses and branch mis …
events that are difficult to optimize at static compile time. Cache misses and branch mis …