Summary This option can be used to reduce the size of the
binary. The trade-off in this case would be the run-time
performance.
Details
- Reviewers
vitalybuka - Commits
- rGac500fd18f06: [asan][clang] Add flag to outline instrumentation
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Why do we need this? I thought the plan to have instrumentation with better callbacks which will be small and close to efficiency to inlined instrumentation. In this case we will make it default and can avoid another frontend switch?
cc @kcc
I took another looks and noticed:
also clang/docs/UsersManual.rst
and maybe clang/docs/AddressSanitizer.rst
also could you add some trivial test that the flag affects generated code, similar to clang/test/CodeGen/asan-use-after-return.cpp
Modified UsersManual.rst and added a test. Couldn't find a relevant section in
AddressSanitizer.rst and adding a new one is outside of the scope of this change.
something like:
Limitations
....
AddressSanitizer increases binary size. Use -fsanitize-address-instrument... to reduce the overhead.
clang/docs/UsersManual.rst | ||
---|---|---|
1652 ↗ | (On Diff #358422) | Here "Callback" here does not match common meaning of this term and it's just out internal detail. -f[no-]sanitize-address-inline-instrumentation |
clang/include/clang/Driver/Options.td | ||
1564 | no- | |
clang/test/Driver/fsanitize.c | ||
254 | Maybe test pairs to make sure the last one is selected |
no-