[PATCH] D58733: [LLVM-C] Move and Clean Up The Instrumentation Pass Bindings

Robert Widmann via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 27 12:06:38 PST 2019


CodaFi created this revision.
CodaFi added reviewers: whitequark, echristo.
Herald added a reviewer: deadalnix.
Herald added subscribers: llvm-commits, jdoerfert, hiraditya.
Herald added a project: LLVM.

Moves the bindings to ASAN, MSAN, TSAN, and DFSAN out of the Go bindings and into the C bindings.

Additionally, add bindings to Code Coverage Sanitizer and Efficiency Sanitizer.

The notable addition to the API is the options wrappers.  Efficiency Sanitizer, Memory Sanitizer, and Code Coverage Sanitizer offer structures that encapsulate their configuration options.  As these structures are subject to change in future releases of LLVM, the bindings have corresponding opaque wrapper structs that have explicit allocation/destruction routines.  This way, we can support future added options by adding bindings that act as setters.  We support future removed options by marking their corresponding parameter dead in the documentation/deprecating the setter wrapper.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D58733

Files:
  llvm/bindings/go/llvm/InstrumentationBindings.cpp
  llvm/bindings/go/llvm/InstrumentationBindings.h
  llvm/bindings/go/llvm/transforms_instrumentation.go
  llvm/include/llvm-c/Instrumentation.h
  llvm/include/llvm-c/Types.h
  llvm/lib/Transforms/Instrumentation/Instrumentation.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58733.188594.patch
Type: text/x-patch
Size: 18104 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190227/d3c9a857/attachment.bin>


More information about the llvm-commits mailing list