summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-06-18 18:31:46 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-06-18 18:31:46 +0000
commit46c852e438a8f412707d62c9b928ceb3208c1aa4 (patch)
tree25018ac0624a1cdcfde68fe9fe57968f3672218a
parentab85f685a52d4a2811e9c9ab88d1874d8f2c870c (diff)
downloadbcm5719-llvm-46c852e438a8f412707d62c9b928ceb3208c1aa4.tar.gz
bcm5719-llvm-46c852e438a8f412707d62c9b928ceb3208c1aa4.zip
[CodeGen] Don't emit a random reference to the personality function
This should fix issues we've been seeing with Darwin. llvm-svn: 240036
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp4
-rw-r--r--llvm/test/CodeGen/X86/personality.ll2
2 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index bb6bc75b55e..95da5887658 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -548,10 +548,6 @@ void AsmPrinter::EmitFunctionHeader() {
if (F->hasPrefixData())
EmitGlobalConstant(F->getPrefixData());
- // Emit the personality function.
- if (F->hasPersonalityFn())
- EmitGlobalConstant(F->getPersonalityFn());
-
// Emit the CurrentFnSym. This is a virtual function to allow targets to
// do their wild and crazy things as required.
EmitFunctionEntryLabel();
diff --git a/llvm/test/CodeGen/X86/personality.ll b/llvm/test/CodeGen/X86/personality.ll
index afb6b1810e6..53162ebc868 100644
--- a/llvm/test/CodeGen/X86/personality.ll
+++ b/llvm/test/CodeGen/X86/personality.ll
@@ -41,8 +41,10 @@ declare void @__cxa_end_catch()
declare i32 @__gxx_personality_v0(...)
+; X64-NOT: .quad ___gxx_personality_v0
; X64: .cfi_personality 155, ___gxx_personality_v0
+; X32-NOT: .long ___gxx_personality_v0
; X32: .cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr
; X32: .section __IMPORT,__pointers,non_lazy_symbol_pointers
OpenPOWER on IntegriCloud