Minor refactoring

This commit is contained in:
Sergey Bogolepov
2018-01-31 16:03:29 +07:00
committed by Sergey Bogolepov
parent b8e31c2f6b
commit a3c7dc8919
@@ -629,10 +629,6 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map<IrE
}.toMap()
}
private fun shouldExportFunction(descriptor: FunctionDescriptor) =
descriptor.usedAnnotation
|| (context.isWasmTarget && descriptor.isExportedForCppRuntime())
override fun visitFunction(declaration: IrFunction) {
context.log{"visitFunction : ${ir2string(declaration)}"}
val body = declaration.body
@@ -659,14 +655,17 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map<IrE
}
}
val descriptor = declaration.descriptor
if (shouldExportFunction(declaration.descriptor)) {
context.llvm.usedFunctions.add(codegen.llvmFunction(declaration.descriptor))
// Preserve symbol from deletion if needed
if (descriptor.usedAnnotation
|| (context.isWasmTarget && descriptor.isExportedForCppRuntime())) {
context.llvm.usedFunctions += codegen.llvmFunction(descriptor)
}
if (context.shouldVerifyBitCode())
verifyModule(context.llvmModule!!,
"${declaration.descriptor.containingDeclaration}::${ir2string(declaration)}")
"${descriptor.containingDeclaration}::${ir2string(declaration)}")
}
private fun IrFunction.location(line: Int, column:Int) =