#ifndef LLVM_PASSES_AOCCINSTRUMENTATIONS_H
#define LLVM_PASSES_AOCCINSTRUMENTATIONS_H
#if AOCC_BUILD
#include "llvm/Support/CommandLine.h"
#include "llvm/IR/AOCCVerifySupport.h"

namespace llvm {
class OptAOCCFlowConfigInstrumentation {
public:
  OptAOCCFlowConfigInstrumentation() { }
  void registerCallbacks(PassInstrumentationCallbacks &PIC);
  ::llvm::aocc::OptAOCCFlowConfig C;
private:
  bool shouldRun(StringRef optName, Any IR);
  void changePassOpts(StringRef optName, Any IR);
  void restorePassOpts(StringRef optName, Any IR);
};
}
#endif
#endif
