OSDN Git Service

[X86] Remove broken support for autoupgrading llvm.x86.fma4.* intrinsics to llvm...
authorCraig Topper <craig.topper@gmail.com>
Sat, 5 Nov 2016 04:00:31 +0000 (04:00 +0000)
committerCraig Topper <craig.topper@gmail.com>
Sat, 5 Nov 2016 04:00:31 +0000 (04:00 +0000)
It currently fires an assert if you even try. Looking back, I don't think it ever worked because it only changed the name of the function object, but not the intrinsic ID stored in it. Given that, I think it can be removed since no one has noticed or complained in the past 4 years.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286031 91177308-0d34-0410-b5e6-96231b3b80d8

lib/IR/AutoUpgrade.cpp

index a5447cb..e6b80c5 100644 (file)
@@ -403,12 +403,6 @@ static bool UpgradeIntrinsicFunction1(Function *F, Function *&NewFn) {
       NewFn = Intrinsic::getDeclaration(F->getParent(), ShiftID);
       return true;
     }
-    // Fix the FMA4 intrinsics to remove the 4
-    if (IsX86 && Name.startswith("fma4.")) {
-      rename(F);
-      NewFn = F;
-      return true;
-    }
     // Upgrade any XOP PERMIL2 index operand still using a float/double vector.
     if (IsX86 && Name.startswith("xop.vpermil2")) {
       auto Params = F->getFunctionType()->params();