1//===-- ForceFunctionAttrs.h - Force function attrs for debugging ---------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9/// \file
10/// Super simple passes to force specific function attrs from the commandline
11/// into the IR for debugging purposes.
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_TRANSFORMS_IPO_FORCEFUNCTIONATTRS_H
15#define LLVM_TRANSFORMS_IPO_FORCEFUNCTIONATTRS_H
16
17#include "llvm/IR/Module.h"
18#include "llvm/IR/PassManager.h"
19
20namespace llvm {
21
22/// Pass which forces specific function attributes into the IR, primarily as
23/// a debugging tool.
24struct ForceFunctionAttrsPass : PassInfoMixin<ForceFunctionAttrsPass> {
25 PreservedAnalyses run(Module &M, ModuleAnalysisManager &);
26};
27
28/// Create a legacy pass manager instance of a pass to force function attrs.
29Pass *createForceFunctionAttrsLegacyPass();
30
31}
32
33#endif // LLVM_TRANSFORMS_IPO_FORCEFUNCTIONATTRS_H
34