1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

Regenerate

llvm-svn: 35579
This commit is contained in:
Reid Spencer 2007-04-02 02:08:35 +00:00
parent ad1ee4e65a
commit fa84b75ad8
3 changed files with 306 additions and 268 deletions

File diff suppressed because it is too large Load Diff

View File

@ -335,7 +335,7 @@
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 1712 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
#line 1731 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
typedef union YYSTYPE {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;

View File

@ -1466,6 +1466,25 @@ upgradeIntrinsicCall(const Type* RetTy, const ValID &ID,
return new CallInst(F, Args[0]);
}
break;
case 'c':
if ((Name.length() <= 14 && !memcmp(&Name[5], "ctpop.i", 7)) ||
(Name.length() <= 13 && !memcmp(&Name[5], "ctlz.i", 6)) ||
(Name.length() <= 13 && !memcmp(&Name[5], "cttz.i", 6))) {
// These intrinsics changed their result type.
const Type* ArgTy = Args[0]->getType();
Function *OldF = CurModule.CurrentModule->getFunction(Name);
if (OldF)
OldF->setName("upgrd.rm." + Name);
Function *NewF = cast<Function>(
CurModule.CurrentModule->getOrInsertFunction(Name, Type::Int32Ty,
ArgTy, (void*)0));
Instruction *Call = new CallInst(NewF, Args[0], "", CurBB);
return CastInst::createIntegerCast(Call, RetTy, false);
}
break;
case 'v' : {
const Type* PtrTy = PointerType::get(Type::Int8Ty);
std::vector<const Type*> Params;