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
This commit is contained in:
Dan Gohman 2007-08-20 19:23:34 +00:00
parent 4601c9c8bc
commit 5da3149de5

View File

@ -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;
}