diff options
| author | David Blaikie <dblaikie@gmail.com> | 2015-04-29 21:22:39 +0000 |
|---|---|---|
| committer | David Blaikie <dblaikie@gmail.com> | 2015-04-29 21:22:39 +0000 |
| commit | f64246be723d3acae52227e7ed612595c6a84d46 (patch) | |
| tree | 72875d5a5a0a942f599df1cc831240ce89bcccfa /llvm/lib/Transforms/IPO/MergeFunctions.cpp | |
| parent | 6e0ebaea1fe18543bf5a371bba769a86f37d688d (diff) | |
| download | llvm-f64246be723d3acae52227e7ed612595c6a84d46.zip llvm-f64246be723d3acae52227e7ed612595c6a84d46.tar.gz llvm-f64246be723d3acae52227e7ed612595c6a84d46.tar.bz2 | |
[opaque pointer type] Pass GlobalAlias the actual pointer type rather than decomposing it into pointee type + address space
Many of the callers already have the pointer type anyway, and for the
couple of callers that don't it's pretty easy to call PointerType::get
on the pointee type and address space.
This avoids LLParser from using PointerType::getElementType when parsing
GlobalAliases from IR.
llvm-svn: 236160
Diffstat (limited to 'llvm/lib/Transforms/IPO/MergeFunctions.cpp')
| -rw-r--r-- | llvm/lib/Transforms/IPO/MergeFunctions.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/IPO/MergeFunctions.cpp b/llvm/lib/Transforms/IPO/MergeFunctions.cpp index 596674d..396ab9b 100644 --- a/llvm/lib/Transforms/IPO/MergeFunctions.cpp +++ b/llvm/lib/Transforms/IPO/MergeFunctions.cpp @@ -1358,8 +1358,7 @@ void MergeFunctions::writeThunk(Function *F, Function *G) { // Replace G with an alias to F and delete G. void MergeFunctions::writeAlias(Function *F, Function *G) { PointerType *PTy = G->getType(); - auto *GA = GlobalAlias::create(PTy->getElementType(), PTy->getAddressSpace(), - G->getLinkage(), "", F); + auto *GA = GlobalAlias::create(PTy, G->getLinkage(), "", F); F->setAlignment(std::max(F->getAlignment(), G->getAlignment())); GA->takeName(G); GA->setVisibility(G->getVisibility()); |
