Skip to content

Commit 56ec519

Browse files
committed
Avoid finalizing deferred modules multiple times.
1 parent 6ecb295 commit 56ec519

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/driver.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,10 @@ const __llvm_initialized = Ref(false)
194194
run!(pm, ir)
195195
end
196196

197+
# finalize the current module. this needs to happen before linking deferred modules,
198+
# since those modules have been finalized themselves, and we don't want to re-finalize.
199+
entry = finish_module!(job, ir, entry)
200+
197201
# deferred code generation
198202
do_deferred_codegen = !only_entry && deferred_codegen &&
199203
haskey(functions(ir), "deferred_codegen")
@@ -257,8 +261,6 @@ const __llvm_initialized = Ref(false)
257261
end
258262

259263
@timeit_debug to "IR post-processing" begin
260-
entry = finish_module!(job, ir, entry)
261-
262264
# some early clean-up to reduce the amount of code to optimize
263265
@timeit_debug to "clean-up" begin
264266
ModulePassManager() do pm

0 commit comments

Comments
 (0)