Early exit with simple checks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113603 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2010-09-10 19:06:58 +00:00
parent de49f360ec
commit ebd3e5f4cc

View File

@ -368,9 +368,12 @@ bool llvm::UpgradeIntrinsicFunction(Function *F, Function *&NewFn) {
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.
// Early exit with simple tests.
if (Name.length() != 24 || Name[0] != '.' || Name[1] != 'l' ||
Name[3] != 'l' || Name[4] != 'v' || Name[5] != 'm' || Name[6] != '.')
return false;
// We are only upgrading one symbol here.
if (Name == ".llvm.eh.catch.all.value") {
GV->setName("llvm.eh.catch.all.value");
return true;