From 44dd9871e867a3164c5322b2ee4dff9cb03e0a41 Mon Sep 17 00:00:00 2001 From: Vedant Kumar Date: Sat, 19 Dec 2015 08:48:43 +0000 Subject: Revert "Reapply "[IR] Move optional data in llvm::Function into a hungoff uselist"" This reverts commit r256093. This broke lld-x86_64-win7 because of -Werror,-Wc++1y-extensions. llvm-svn: 256094 --- llvm/lib/Transforms/IPO/GlobalDCE.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Transforms') diff --git a/llvm/lib/Transforms/IPO/GlobalDCE.cpp b/llvm/lib/Transforms/IPO/GlobalDCE.cpp index 9b276ed28e2..1cc657458d6 100644 --- a/llvm/lib/Transforms/IPO/GlobalDCE.cpp +++ b/llvm/lib/Transforms/IPO/GlobalDCE.cpp @@ -215,8 +215,14 @@ void GlobalDCE::GlobalIsNeeded(GlobalValue *G) { // any globals used will be marked as needed. Function *F = cast(G); - for (Use &U : F->operands()) - MarkUsedGlobalsAsNeeded(cast(U.get())); + if (F->hasPrefixData()) + MarkUsedGlobalsAsNeeded(F->getPrefixData()); + + if (F->hasPrologueData()) + MarkUsedGlobalsAsNeeded(F->getPrologueData()); + + if (F->hasPersonalityFn()) + MarkUsedGlobalsAsNeeded(F->getPersonalityFn()); for (BasicBlock &BB : *F) for (Instruction &I : BB) -- cgit v1.2.3