LLVM Instrumentation Overview
Understanding the difference between profile-instr-generate and profile-generate options for LLVM instrumentation is essential for optimizing code performance and analyzing coverage. These options provide different levels of profiling data generation, affecting the accuracy of performance analysis a
0 views • 20 slides
Leveraging Artifact Dependency Graphs for Software Vulnerability Detection
Explore how LLVM-GitBOM utilizes artifact dependency graphs to detect vulnerabilities in software dependencies. The presentation covers the overview of GitBOM, CVE detection, supply chain vulnerabilities, and the importance of precise build tools in vulnerability scanning. Learn about utilizing gito
0 views • 34 slides
Understanding the Difference Between LLVM Profile-Instr-Generate and Profile-Generate Options
The profile-instr-generate and profile-generate options in LLVM instrumentation serve distinct purposes. Profile-instr-generate generates instrumentation based on profiling data during compilation, aiding in performance optimization. In contrast, profile-generate is used to generate a profile based
1 views • 20 slides
LLVM Memory Review and Function Example
In this exercise, an LLVM IR function is created to extract the element at index 2 from a pointer to an array of integers. The concept of named memory in LLVM is reviewed, distinguishing between local, global, and constant memory declarations. Additionally, memory access operations like store, load,
2 views • 18 slides
LLVM Line Coverage Profiling Implementation Overview
Line coverage profiling in LLVM is implemented using built-in instrumentation facilities. This approach involves inserting PGO probes, interpreting them as coverage measurements, and generating coverage reports to assess the coverage of a test suite. The process allows for generating profile informa
2 views • 19 slides
Falcon: An Optimizing Java JIT Compiler Overview
Explore Falcon, an LLVM-based just-in-time compiler for Java bytecode developed by Azul Systems. Learn why using LLVM to build a JIT compiler is beneficial, address common objections, and dive into the technical and process lessons learned through its development timeline.
0 views • 66 slides