diff options
author | Davide Italiano <davide@freebsd.org> | 2016-11-21 00:28:23 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2016-11-21 00:28:23 +0000 |
commit | 2ae76dd239b210ef4d30ba1ac2e29c00578c7672 (patch) | |
tree | a0af72db9561f4256e65b8cfc1974e351ef1a4a0 /llvm/include | |
parent | 60c4e36c7e029624a5b04c044a1c3e78a8fc677d (diff) | |
download | bcm5719-llvm-2ae76dd239b210ef4d30ba1ac2e29c00578c7672.tar.gz bcm5719-llvm-2ae76dd239b210ef4d30ba1ac2e29c00578c7672.zip |
[GlobalSplit] Port to the new pass manager.
llvm-svn: 287511
Diffstat (limited to 'llvm/include')
-rw-r--r-- | llvm/include/llvm/Transforms/IPO/GlobalSplit.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/llvm/include/llvm/Transforms/IPO/GlobalSplit.h b/llvm/include/llvm/Transforms/IPO/GlobalSplit.h new file mode 100644 index 00000000000..fb2c2d27338 --- /dev/null +++ b/llvm/include/llvm/Transforms/IPO/GlobalSplit.h @@ -0,0 +1,30 @@ +//===- GlobalSplit.h - global variable splitter -----------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This pass uses inrange annotations on GEP indices to split globals where +// beneficial. Clang currently attaches these annotations to references to +// virtual table globals under the Itanium ABI for the benefit of the +// whole-program virtual call optimization and control flow integrity passes. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_TRANSFORMS_IPO_GLOBALSPLIT_H +#define LLVM_TRANSFORMS_IPO_GLOBALSPLIT_H + +#include "llvm/IR/Module.h" +#include "llvm/IR/PassManager.h" + +namespace llvm { +/// Pass to perform split of global variables. +class GlobalSplitPass : public PassInfoMixin<GlobalSplitPass> { +public: + PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM); +}; +} +#endif // LLVM_TRANSFORMS_IPO_GLOBALSPLIT_H |