作者: Alexandra Jimborean , Luis Mastrangelo , Vincent Loechner , Philippe Clauss
DOI: 10.1007/978-3-642-28652-0_12
关键词:
摘要: VMAD (Virtual Machine for Advanced Dynamic analysis) is a platform advanced profiling and analysis of programs, consisting in static component runtime system. The system organized as set decoupled modules, dedicated to specific instrumenting or optimizing operations, dynamically loaded when required. The program binary files handled by are previously processed at compile time include all necessary data, instrumentation instructions callbacks the system. For this purpose, LLVM compiler has been extended automatically generate multiple versions code, each them tailored targeted optimization strategies. chooses most suitable intermediate representation version, depending on information be acquired optimizations applied. control flow graph adapted new transfer from system, which charge execution orchestration. The strength our resides its extensibility, one can add support various strategies, independently existing modules. VMAD's potential illustrated presenting several applications loop nests: sampling, dynamic dependence analysis, adaptive version selection.