/usr/include/llvm-3.4/llvm/Analysis/Verifier.h is in llvm-3.4-dev 1:3.4-1ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | //===-- llvm/Analysis/Verifier.h - LLVM IR Verifier -------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines the function verifier interface, that can be used for some
// sanity checking of input to the system, and for checking that transformations
// haven't done something bad.
//
// Note that this does not provide full 'java style' security and verifications,
// instead it just tries to ensure that code is well formed.
//
// To see what specifically is checked, look at the top of Verifier.cpp
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_ANALYSIS_VERIFIER_H
#define LLVM_ANALYSIS_VERIFIER_H
#include <string>
namespace llvm {
class FunctionPass;
class Module;
class Function;
/// @brief An enumeration to specify the action to be taken if errors found.
///
/// This enumeration is used in the functions below to indicate what should
/// happen if the verifier finds errors. Each of the functions that uses
/// this enumeration as an argument provides a default value for it. The
/// actions are listed below.
enum VerifierFailureAction {
AbortProcessAction, ///< verifyModule will print to stderr and abort()
PrintMessageAction, ///< verifyModule will print to stderr and return true
ReturnStatusAction ///< verifyModule will just return true
};
/// @brief Create a verifier pass.
///
/// Check a module or function for validity. When the pass is used, the
/// action indicated by the \p action argument will be used if errors are
/// found.
FunctionPass *createVerifierPass(
VerifierFailureAction action = AbortProcessAction ///< Action to take
);
/// @brief Check a module for errors.
///
/// If there are no errors, the function returns false. If an error is found,
/// the action taken depends on the \p action parameter.
/// This should only be used for debugging, because it plays games with
/// PassManagers and stuff.
bool verifyModule(
const Module &M, ///< The module to be verified
VerifierFailureAction action = AbortProcessAction, ///< Action to take
std::string *ErrorInfo = 0 ///< Information about failures.
);
// verifyFunction - Check a function for errors, useful for use when debugging a
// pass.
bool verifyFunction(
const Function &F, ///< The function to be verified
VerifierFailureAction action = AbortProcessAction ///< Action to take
);
} // End llvm namespace
#endif
|