From 5da3149de5f3238f870c1e54879f28e3d2936527 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 20 Aug 2007 19:23:34 +0000 Subject: [PATCH] When Intrinsic::getName is constructing names for overloaded intrinsics, use the ValueType name instead of the llvm type name, to match what the verifier expects. For integers these are the same, but for floating-point values the intrinsics use f32/f64 instead of float/double. llvm-svn: 41189 --- lib/VMCore/Function.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp index 04541dfbfdc..a4bc69b4721 100644 --- a/lib/VMCore/Function.cpp +++ b/lib/VMCore/Function.cpp @@ -15,6 +15,7 @@ #include "llvm/DerivedTypes.h" #include "llvm/ParameterAttributes.h" #include "llvm/IntrinsicInst.h" +#include "llvm/CodeGen/ValueTypes.h" #include "llvm/Support/LeakDetector.h" #include "llvm/Support/ManagedStatic.h" #include "SymbolTableListTraitsImpl.h" @@ -287,7 +288,7 @@ std::string Intrinsic::getName(ID id, const Type **Tys, unsigned numTys) { std::string Result(Table[id]); for (unsigned i = 0; i < numTys; ++i) if (Tys[i]) - Result += "." + Tys[i]->getDescription(); + Result += "." + MVT::getValueTypeString(MVT::getValueType(Tys[i])); return Result; }