summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-09-10 19:39:41 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-09-10 19:39:41 +0000
commit71143ed24b0e436feb12883c54a7d911a960301e (patch)
treefa4573cbc9068090c6d1520993941886ea5ddf1b
parentb69d5dffc3e55c11b33fae6df331ede3d1e48305 (diff)
downloadbcm5719-llvm-71143ed24b0e436feb12883c54a7d911a960301e.tar.gz
bcm5719-llvm-71143ed24b0e436feb12883c54a7d911a960301e.zip
Remember to eraseFromParent after replaceAllUsesWith.
llvm-svn: 217536
-rw-r--r--llvm/test/tools/gold/alias.ll6
-rw-r--r--llvm/tools/gold/gold-plugin.cpp1
2 files changed, 5 insertions, 2 deletions
diff --git a/llvm/test/tools/gold/alias.ll b/llvm/test/tools/gold/alias.ll
index 6a64a6a7033..dbf3af57a7b 100644
--- a/llvm/test/tools/gold/alias.ll
+++ b/llvm/test/tools/gold/alias.ll
@@ -2,10 +2,12 @@
; RUN: llvm-as %p/Inputs/alias-1.ll -o %t2.o
; RUN: ld -shared -o %t3.o -plugin %llvmshlibdir/LLVMgold.so %t2.o %t.o \
; RUN: -plugin-opt=emit-llvm
-; RUN: llvm-dis %t3.o -o - | FileCheck %s
+; RUN: llvm-dis < %t3.o -o - | FileCheck %s
+; CHECK-NOT: alias
; CHECK: @a = global i32 42
-; CHECK: @b = global i32 1
+; CHECK-NEXT: @b = global i32 1
+; CHECK-NOT: alias
@a = weak alias i32* @b
@b = global i32 1
diff --git a/llvm/tools/gold/gold-plugin.cpp b/llvm/tools/gold/gold-plugin.cpp
index 110433aefe3..e7888bea9e6 100644
--- a/llvm/tools/gold/gold-plugin.cpp
+++ b/llvm/tools/gold/gold-plugin.cpp
@@ -457,6 +457,7 @@ static void drop(GlobalValue &GV) {
/*Initializer*/ nullptr);
Var->takeName(&Alias);
Alias.replaceAllUsesWith(Var);
+ Alias.eraseFromParent();
}
static const char *getResolutionName(ld_plugin_symbol_resolution R) {
OpenPOWER on IntegriCloud