diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h')
| -rw-r--r-- | gnu/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/gnu/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h b/gnu/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h deleted file mode 100644 index 222c601ad60..00000000000 --- a/gnu/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h +++ /dev/null @@ -1,54 +0,0 @@ -//===-- UnifyFunctionExitNodes.h - Ensure fn's have one return --*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This pass is used to ensure that functions have at most one return and one -// unwind instruction in them. Additionally, it keeps track of which node is -// the new exit node of the CFG. If there are no return or unwind instructions -// in the function, the getReturnBlock/getUnwindBlock methods will return a null -// pointer. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_TRANSFORMS_UTILS_UNIFYFUNCTIONEXITNODES_H -#define LLVM_TRANSFORMS_UTILS_UNIFYFUNCTIONEXITNODES_H - -#include "llvm/Pass.h" -#include "llvm/PassRegistry.h" - -namespace llvm { - -struct UnifyFunctionExitNodes : public FunctionPass { - BasicBlock *ReturnBlock = nullptr; - BasicBlock *UnwindBlock = nullptr; - BasicBlock *UnreachableBlock; - -public: - static char ID; // Pass identification, replacement for typeid - UnifyFunctionExitNodes() : FunctionPass(ID) { - initializeUnifyFunctionExitNodesPass(*PassRegistry::getPassRegistry()); - } - - // We can preserve non-critical-edgeness when we unify function exit nodes - void getAnalysisUsage(AnalysisUsage &AU) const override; - - // getReturn|Unwind|UnreachableBlock - Return the new single (or nonexistent) - // return, unwind, or unreachable basic blocks in the CFG. - // - BasicBlock *getReturnBlock() const { return ReturnBlock; } - BasicBlock *getUnwindBlock() const { return UnwindBlock; } - BasicBlock *getUnreachableBlock() const { return UnreachableBlock; } - - bool runOnFunction(Function &F) override; -}; - -Pass *createUnifyFunctionExitNodesPass(); - -} // end namespace llvm - -#endif // LLVM_TRANSFORMS_UTILS_UNIFYFUNCTIONEXITNODES_H |
