Redesign the BuiltinFunctionRefInst to contain an Identifier instead of

a FuncDecl.  This makes it much more straight-forward for SIL passes to
introduce a new one - without doing name lookup in the builtin module!



Swift SVN r10694
This commit is contained in:
Chris Lattner
2013-11-30 01:49:36 +00:00
parent a5cf0fa60a
commit ad05efc481
18 changed files with 98 additions and 93 deletions

View File

@@ -634,8 +634,7 @@ bool SILDeserializer::readSILInstruction(SILFunction *Fn, SILBasicBlock *BB,
case ValueKind::BuiltinFunctionRefInst: {
// Format: FuncDecl and type. Use SILOneOperandLayout.
auto Ty = MF->getType(TyID);
ResultVal = Builder.createBuiltinFunctionRef(Loc,
cast<FuncDecl>(MF->getDecl(ValID)),
ResultVal = Builder.createBuiltinFunctionRef(Loc, MF->getIdentifier(ValID),
getSILType(Ty, (SILValueCategory)TyCategory));
break;
}
@@ -666,7 +665,7 @@ bool SILDeserializer::readSILInstruction(SILFunction *Fn, SILBasicBlock *BB,
}
case ValueKind::FunctionRefInst: {
auto Ty = MF->getType(TyID);
Identifier FuncName = MF->getIdentifier(ValID);
Identifier FuncName = MF->getIdentifier(ValID);
ResultVal = Builder.createFunctionRef(Loc,
getFuncForReference(FuncName,
getSILType(Ty, (SILValueCategory)TyCategory),