1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/include/llvm/Analysis/Verifier.h

48 lines
1.6 KiB
C
Raw Normal View History

//===-- llvm/Analysis/Verifier.h - Module Verifier --------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file was developed by the LLVM research group and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
2001-06-06 22:29:01 +02:00
//
2002-04-14 08:14:15 +02:00
// This file defines the function verifier interface, that can be used for some
2002-08-31 00:51:08 +02:00
// sanity checking of input to the system, and for checking that transformations
// haven't done something bad.
2001-06-06 22:29:01 +02:00
//
// 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
namespace llvm {
class FunctionPass;
2001-06-06 22:29:01 +02:00
class Module;
class Function;
2001-06-06 22:29:01 +02:00
2002-04-14 08:14:15 +02:00
// createVerifierPass - Check a module or function for validity. If errors are
// detected, error messages corresponding to the problem are printed to stderr.
2001-06-06 22:29:01 +02:00
//
FunctionPass *createVerifierPass();
// verifyModule - Check a module for errors, printing messages on stderr.
2002-08-31 00:51:08 +02:00
// Return true if the module is corrupt. This should only be used for
// debugging, because it plays games with PassManagers and stuff.
//
bool verifyModule(const Module &M);
2002-04-14 08:14:15 +02:00
// verifyFunction - Check a function for errors, useful for use when debugging a
// pass.
bool verifyFunction(const Function &F);
2001-06-06 22:29:01 +02:00
} // End llvm namespace
2001-06-06 22:29:01 +02:00
#endif