llvm-native-core 0.1.12

LLVM-native core semantic engine — IR, CodeGen, X86 MC, Clang frontend pipeline
//! BOLT — Binary Optimization and Layout Tool.
//! Post-link binary optimizer. Phase 9 — LLVM.BOLT.1 Court.
//!
//! Clean-room behavioral reconstruction from the BOLT paper
//! (Panchenko et al. 2019 "BOLT: A Practical Binary Optimizer for
//! Data Centers and Beyond"), HFSort/HFSort+ layout algorithms,
//! Cache-Sort, Pettis-Hansen, and Call-Chain Clustering literature.
//! Zero LLVM/BOLT source code consultation.
//!
//! BOLT operates on compiled binaries (ELF, Mach-O) to:
//! - Reorder functions for improved I-cache and iTLB locality
//! - Reorder basic blocks within hot functions
//! - Optimize branches (shorten, convert, eliminate)
//! - NOP removal and cold-code stitching
//! - Profile-guided layout using perf/LBR sample data

pub mod bolt_profile;
pub mod bolt_rewrite;
pub mod bolt_x86;

pub use bolt_profile::{
    annotate_functions_with_profile, BOLTProfileReader, BoltProfile, FunctionProfile,
};
pub use bolt_rewrite::{BOLTBinaryRewriter, BoltBlock, BoltFunction, LayoutAlgorithm};
pub use bolt_x86::{
    BOLTX86, BOLTX86Config, DisassemblyRegion, OptimizationStats, X86BOLTBinaryAnalysis,
    X86BOLTDisassembler, X86BOLTOptimizer, X86BOLTProfile, X86BOLTRewriter, X86BoltBlock,
    X86BoltInstruction, X86FunctionInfo, X86FunctionLayoutStrategy, X86InsnCategory,
};