[compiler-rt] [llvm] [msan] Add experimental '-mllvm -msan-embed-faulting-instruction' and MSAN_OPTIONS=print_faulting_instruction (PR #136539)

Thurston Dang via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 22 18:53:09 PDT 2025


thurstond wrote:

> > * Compared to the proposed but not implemented `MSAN_OPTIONS=ignore_faulting_instruction=...`: DebugInsertCheck and DebugInstrumentInstruction are configured at compile-time, while ignore_faulting_instruction is compile one-time with instrumentation and then configure at runtime which instructions to skip.
> 
> How big is binary size overhead?

Compared to regular MSan, the binary is around 11% larger with `embed-faulting-instruction=name`. This is negligible compared to the overall overhead of MSan (114% increase), hence it can be deployed in most cases where MSan is used (nonetheless, the default is off).

File size for `span_server` built with '-c opt':

- No MSan: 762,042,216 bytes
- Regular MSan (-embed-faulting-instruction=none) i.e., : 1,632,739,840 bytes (114% overhead)
- MSan with -embed-faulting-instruction=name: 1,719,331,688 (125% overhead)
- MSan with -embed-faulting-instruction=full: [build timed out]



https://github.com/llvm/llvm-project/pull/136539


More information about the llvm-commits mailing list