Add a flag to the x86 Speculative Execution Side Effect Suppression Pass
that allows users to turn off adding LFENCEs in basic blocks with a
single load and no stores.
This is a part of a set of flags that can be used to experiment with
optimizing this mitigation for Load Value Injection.
One pager on Load Value Injection:
Deep dive on Load Value Injection:
Results of performance testing
I ran the BoringSSL benchmarks which run many cryptographic operations
and reports the number of operations per second completed in a given
Modified Mitigation vs Baseline
0.073 (This can be read as the geomean ops/s of the mitigated program
was 7.3% of the ops/s of the unmitigated program. Similar below.)
Fully Mitigated vs Baseline