Revert r295861, "[ModuleSummaryAnalysis] Don't crash when referencing unnamed globals."
authorPeter Collingbourne <peter@pcc.me.uk>
Wed, 3 May 2017 00:18:48 +0000 (00:18 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Wed, 3 May 2017 00:18:48 +0000 (00:18 +0000)
We should always expect values to be named before running the module summary
analysis (see NameAnonGlobals pass), so it's fine if we crash in that case.

llvm-svn: 301991

llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
llvm/test/Transforms/FunctionImport/unnamed-globals.ll [deleted file]

index f6d9a73..a834125 100644 (file)
@@ -451,12 +451,6 @@ ModuleSummaryIndex llvm::buildModuleSummaryIndex(
     auto &Summary = GlobalList.second[0];
     bool AllRefsCanBeExternallyReferenced =
         llvm::all_of(Summary->refs(), [&](const ValueInfo &VI) {
-          // If a global value definition references an unnamed global,
-          // be conservative. They're valid IR so we don't want to crash
-          // when we encounter any of them but they're infrequent enough
-          // that we don't bother optimizing them.
-          if (!VI.getValue()->hasName())
-            return false;
           return !CantBePromoted.count(VI.getValue()->getGUID());
         });
     if (!AllRefsCanBeExternallyReferenced) {
diff --git a/llvm/test/Transforms/FunctionImport/unnamed-globals.ll b/llvm/test/Transforms/FunctionImport/unnamed-globals.ll
deleted file mode 100644 (file)
index 167fad2..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-; Make sure we don't crash when referencing an unnamed global.
-; RUN: opt %s -module-summary-analysis -S
-
-@0 = external global [1 x { i64 }]
-
-define internal void @tinkywinky() {
-  call void @patatino(i64 ptrtoint ([1 x { i64 }]* @0 to i64), i64 4)
-  ret void
-}
-declare void @patatino(i64, i64)