OSDN Git Service

Introduce GlobalSplit pass.
authorPeter Collingbourne <peter@pcc.me.uk>
Wed, 16 Nov 2016 23:40:26 +0000 (23:40 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Wed, 16 Nov 2016 23:40:26 +0000 (23:40 +0000)
commit510c1b6ff7c29df2b9351d0abef12dd46051b785
treed54b318107dcb7312ee758adf87a97b042d420ef
parentaf4a9122232f601cae740b9122141a04e28641f6
Introduce GlobalSplit pass.

This pass splits globals into elements using inrange annotations on
getelementptr indices.

Differential Revision: https://reviews.llvm.org/D22295

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287178 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/InitializePasses.h
include/llvm/Transforms/IPO.h
lib/Transforms/IPO/CMakeLists.txt
lib/Transforms/IPO/GlobalSplit.cpp [new file with mode: 0644]
lib/Transforms/IPO/IPO.cpp
lib/Transforms/IPO/PassManagerBuilder.cpp
test/Transforms/GlobalSplit/basic.ll [new file with mode: 0644]
test/Transforms/GlobalSplit/non-beneficial.ll [new file with mode: 0644]
test/Transforms/GlobalSplit/nonlocal.ll [new file with mode: 0644]