Merge remote-tracking branch 'origin/master' into runtime_compile_v5

This commit is contained in:
Ivan 2017-10-01 17:02:50 +03:00
commit 808f36b2d2
46 changed files with 1060 additions and 374 deletions

View file

@ -461,7 +461,7 @@ void applyTargetMachineAttributes(llvm::Function &func,
// Frame pointer elimination
func.addFnAttr("no-frame-pointer-elim",
opts::disableFpElim ? "true" : "false");
opts::disableFPElim() ? "true" : "false");
}
} // anonymous namespace
@ -773,8 +773,14 @@ void defineParameters(IrFuncTy &irFty, VarDeclarations &parameters) {
++llArgIdx;
}
if (global.params.symdebug)
gIR->DBuilder.EmitLocalVariable(irparam->value, vd, paramType);
// The debuginfos for captured params are handled later by
// DtoCreateNestedContext().
if (global.params.symdebug && vd->nestedrefs.dim == 0) {
// Reference (ref/out) parameters have no storage themselves as they are
// constant pointers, so pass the reference rvalue to EmitLocalVariable().
gIR->DBuilder.EmitLocalVariable(irparam->value, vd, paramType, false,
false, /*isRefRVal=*/true);
}
}
}