| Index: include/llvm/Transforms/MinSFI.h
|
| diff --git a/include/llvm/Transforms/MinSFI.h b/include/llvm/Transforms/MinSFI.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1c0838343dcff5d3b8aa41ab70f741ac8e22b5bf
|
| --- /dev/null
|
| +++ b/include/llvm/Transforms/MinSFI.h
|
| @@ -0,0 +1,43 @@
|
| +//===-- MinSFI.h - MinSFI Transformations -----------------------*- C++ -*-===//
|
| +//
|
| +// The LLVM Compiler Infrastructure
|
| +//
|
| +// This file is distributed under the University of Illinois Open Source
|
| +// License. See LICENSE.TXT for details.
|
| +//
|
| +//===----------------------------------------------------------------------===//
|
| +
|
| +#ifndef LLVM_TRANSFORMS_MINSFI_H
|
| +#define LLVM_TRANSFORMS_MINSFI_H
|
| +
|
| +#include "llvm/CodeGen/Passes.h"
|
| +#include "llvm/Support/DataTypes.h"
|
| +
|
| +namespace llvm {
|
| +namespace minsfi {
|
| +
|
| +// Returns the bit size of sandboxed pointers. The default value is 32 bits
|
| +// and it can be set with the "-minsfi-ptrsize" command-line option.
|
| +uint32_t GetPointerSizeInBits();
|
| +
|
| +// Returns the number of bytes addressable by the sandbox. This value is given
|
| +// by the size of the sandboxed pointers.
|
| +uint64_t GetAddressSubspaceSize();
|
| +
|
| +// The name of MinSFI's entry function which will be invoked by the runtime.
|
| +extern const char EntryFunctionName[];
|
| +
|
| +} // namespace minsfi
|
| +
|
| +FunctionPass *createSubstituteUndefsPass();
|
| +ModulePass *createAllocateDataSegmentPass();
|
| +ModulePass *createExpandAllocasPass();
|
| +ModulePass *createRenameEntryPointPass();
|
| +ModulePass *createSandboxIndirectCallsPass();
|
| +ModulePass *createSandboxMemoryAccessesPass();
|
| +
|
| +void MinSFIPasses(PassManagerBase &PM);
|
| +
|
| +} // namespace llvm
|
| +
|
| +#endif
|
|
|