Skip to content

Commit f982445

Browse files
committed
Take advantage of some simplifications
1 parent 45c7092 commit f982445

2 files changed

Lines changed: 11 additions & 45 deletions

File tree

src/mcgen.jl

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,7 @@ function prepare_execution!(@nospecialize(job::CompilerJob), mod::LLVM.Module)
1010
add!(mpm, RecomputeGlobalsAAPass())
1111
add!(mpm, GlobalOptPass())
1212
resolve_cpu_references!(mod)
13-
add!(mpm) do m, mam
14-
if resolve_cpu_references!(m)
15-
no_analyses_preserved()
16-
else
17-
all_analyses_preserved()
18-
end
19-
end
13+
add!(legacy2newpm(resolve_cpu_references!), mpm)
2014
add!(mpm, GlobalDCEPass())
2115
add!(mpm, StripDeadPrototypesPass())
2216
run!(mpm, mod, nothing, [BasicAA(), ScopedNoAliasAA(), TypeBasedAA(), GlobalsAA()])

src/optim.jl

Lines changed: 10 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -171,9 +171,11 @@ function addOptimizationPasses!(pm, opt_level=2)
171171
aggressive_dce!(pm)
172172
end
173173

174-
const add_verification_passes = false
175-
const BasicSimplifyCFGOptions = SimplifyCFGPassOptions(true, true, true, true, false, false, 1)
176-
const AggressiveSimplifyCFGOptions = SimplifyCFGPassOptions(true, true, true, true, true, false, 1)
174+
if use_newpm
175+
const add_verification_passes = false
176+
const BasicSimplifyCFGOptions = SimplifyCFGPassOptions(true, true, true, true, false, false, 1)
177+
const AggressiveSimplifyCFGOptions = SimplifyCFGPassOptions(true, true, true, true, true, false, 1)
178+
end
177179

178180
function buildEarlySimplificationPipeline(mpm, @nospecialize(job::CompilerJob), opt_level)
179181
if add_verification_passes
@@ -207,13 +209,7 @@ function buildEarlyOptimizerPipeline(mpm, @nospecialize(job::CompilerJob), opt_l
207209
add!(fpm, LowerConstantIntrinsicsPass())
208210
end
209211
end
210-
add!(mpm) do m, mam
211-
if cpu_features!(m)
212-
no_analyses_preserved()
213-
else
214-
all_analyses_preserved()
215-
end
216-
end
212+
add!(legacy2newpm(cpu_features!), mpm)
217213
if opt_level >= 1
218214
add!(mpm, NewPMFunctionPassManager) do fpm
219215
if opt_level >= 2
@@ -341,40 +337,16 @@ function buildKernelIntrinsicLoweringPipeline(mpm, @nospecialize(job::CompilerJo
341337
# GC lowering is the last pass that may introduce calls to the runtime library,
342338
# and thus additional uses of the kernel state intrinsic.
343339
# TODO: now that all kernel state-related passes are being run here, merge some?
344-
add!(mpm) do m, mam
345-
if add_kernel_state!(m)
346-
return no_analyses_preserved()
347-
else
348-
return all_analyses_preserved()
349-
end
350-
end
340+
add!(legacy2newpm(add_kernel_state!), mpm)
351341
add!(mpm, NewPMFunctionPassManager) do fpm
352-
add!(fpm) do f, fam
353-
if lower_kernel_state!(f)
354-
return no_analyses_preserved()
355-
else
356-
return all_analyses_preserved()
357-
end
358-
end
359-
end
360-
add!(mpm) do m, mam
361-
if cleanup_kernel_state!(m)
362-
return no_analyses_preserved()
363-
else
364-
return all_analyses_preserved()
365-
end
342+
add!(legacy2newpm(lower_kernel_state!), fpm)
366343
end
344+
add!(legacy2newpm(cleanup_kernel_state!), mpm)
367345
end
368346
add!(mpm, NewPMFunctionPassManager) do fpm
369347
add!(fpm, ADCEPass())
370348
end
371-
add!(mpm) do m, mam
372-
if lower_ptls!(m)
373-
return no_analyses_preserved()
374-
else
375-
return all_analyses_preserved()
376-
end
377-
end
349+
add!(legacy2newpm(lower_ptls!), mpm)
378350
add!(mpm, NewPMFunctionPassManager) do fpm
379351
add!(fpm, LowerExcHandlersPass())
380352
add!(fpm, LateLowerGCPass())

0 commit comments

Comments
 (0)