diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Transforms/Utils/CtorUtils.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Transforms/Utils/CtorUtils.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/contrib/llvm-project/llvm/lib/Transforms/Utils/CtorUtils.cpp b/contrib/llvm-project/llvm/lib/Transforms/Utils/CtorUtils.cpp index e07c92df2265..507729bc5ebc 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Utils/CtorUtils.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Utils/CtorUtils.cpp @@ -52,12 +52,9 @@ static void removeGlobalCtors(GlobalVariable *GCL, const BitVector &CtorsToRemov NGV->takeName(GCL); // Nuke the old list, replacing any uses with the new one. - if (!GCL->use_empty()) { - Constant *V = NGV; - if (V->getType() != GCL->getType()) - V = ConstantExpr::getBitCast(V, GCL->getType()); - GCL->replaceAllUsesWith(V); - } + if (!GCL->use_empty()) + GCL->replaceAllUsesWith(NGV); + GCL->eraseFromParent(); } |
