From de49f360ec4780acb382a3ae923d1716fdb0dc03 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Fri, 10 Sep 2010 18:51:56 +0000 Subject: Auto-upgrade the magic ".llvm.eh.catch.all.value" global to "llvm.eh.catch.all.value". Only the name needs to be changed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113600 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/AutoUpgrade.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'lib/VMCore') diff --git a/lib/VMCore/AutoUpgrade.cpp b/lib/VMCore/AutoUpgrade.cpp index fd64460..3908e8a 100644 --- a/lib/VMCore/AutoUpgrade.cpp +++ b/lib/VMCore/AutoUpgrade.cpp @@ -365,6 +365,20 @@ bool llvm::UpgradeIntrinsicFunction(Function *F, Function *&NewFn) { return Upgraded; } +bool llvm::UpgradeGlobalVariable(GlobalVariable *GV) { + const std::string &Name = GV->getName(); + + // We are only upgrading one symbol here. If we upgrade more, we will want to + // perform some sort of short-circuiting like in the + // "UpgradeIntrinsicFunction1" function. + if (Name == ".llvm.eh.catch.all.value") { + GV->setName("llvm.eh.catch.all.value"); + return true; + } + + return false; +} + /// ExtendNEONArgs - For NEON "long" and "wide" operations, where the results /// have vector elements twice as big as one or both source operands, do the /// sign- or zero-extension that used to be handled by intrinsics. The -- cgit v1.1