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

@@ -1141,11 +1141,10 @@ Address IRGenModule::getAddrOfSILGlobalVariable(SILGlobalVariable *var) {
}
void IRGenSILFunction::visitBuiltinFunctionRefInst(BuiltinFunctionRefInst *i) {
auto *FD = cast<FuncDecl>(i->getReferencedFunction());
setLoweredBuiltinValue(SILValue(i, 0), FD->getName());
setLoweredBuiltinValue(SILValue(i, 0), i->getName());
}
void IRGenSILFunction::visitFunctionRefInst(swift::FunctionRefInst *i) {
void IRGenSILFunction::visitFunctionRefInst(FunctionRefInst *i) {
// FIXME: pick the best available explosion level
ExplosionKind explosionLevel = ExplosionKind::Minimal;
llvm::Function *fnptr =