Introduce the VectorizeConfig class, with which we can control the behavior
[oota-llvm.git] / include / llvm / Transforms / Instrumentation.h
index 698e248e7e64a77d38d410fccd33d7a8966b2cf5..bbf3a69d246d79b086f7e01d5f9230825606dec3 100644 (file)
@@ -19,18 +19,24 @@ namespace llvm {
 class ModulePass;
 class FunctionPass;
 
-// Insert function profiling instrumentation
-ModulePass *createFunctionProfilerPass();
-
-// Insert block profiling instrumentation
-ModulePass *createBlockProfilerPass();
-
 // Insert edge profiling instrumentation
 ModulePass *createEdgeProfilerPass();
 
-// Random Sampling Profiling Framework
-ModulePass* createNullProfilerRSPass();
-FunctionPass* createRSProfilingPass();
+// Insert optimal edge profiling instrumentation
+ModulePass *createOptimalEdgeProfilerPass();
+
+// Insert path profiling instrumentation
+ModulePass *createPathProfilerPass();
+
+// Insert GCOV profiling instrumentation
+ModulePass *createGCOVProfilerPass(bool EmitNotes = true, bool EmitData = true,
+                                   bool Use402Format = false,
+                                   bool UseExtraChecksum = false);
+
+// Insert AddressSanitizer (address sanity checking) instrumentation
+ModulePass *createAddressSanitizerPass();
+// Insert ThreadSanitizer (race detection) instrumentation
+FunctionPass *createThreadSanitizerPass();
 
 } // End llvm namespace