Skip to content

Commit 2d2125d

Browse files
committed
insert_instruction -> insert_instruction_here
Not to confuse it with the nonlocal insertion
1 parent 888be4c commit 2d2125d

File tree

7 files changed

+101
-101
lines changed

7 files changed

+101
-101
lines changed

src/analysis/flattening.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ function _flatten_parameter!(𝕃, compact, argtypes, ntharg, line, settings)
1818
continue
1919
end
2020
this = ntharg(argn)
21-
nthfield(i) = @insert_instruction compact line settings getfield(this, i)::Compiler.getfield_tfunc(𝕃, argextype(this, compact), Const(i))
21+
nthfield(i) = @insert_instruction_here compact line settings getfield(this, i)::Compiler.getfield_tfunc(𝕃, argextype(this, compact), Const(i))
2222
if isa(argt, PartialStruct)
2323
fields = _flatten_parameter!(𝕃, compact, argt.fields, nthfield, line, settings)
2424
else
@@ -31,7 +31,7 @@ function _flatten_parameter!(𝕃, compact, argtypes, ntharg, line, settings)
3131
end
3232

3333
function flatten_parameter!(𝕃, compact, argtypes, ntharg, line, settings)
34-
return @insert_instruction compact line settings tuple(_flatten_parameter!(𝕃, compact, argtypes, ntharg, line, settings)...)::Tuple
34+
return @insert_instruction_here compact line settings tuple(_flatten_parameter!(𝕃, compact, argtypes, ntharg, line, settings)...)::Tuple
3535
end
3636

3737
# Needs to match flatten_arguments!
@@ -85,23 +85,23 @@ function flatten_argument!(compact::Compiler.IncrementalCompact, settings::Setti
8585
return TransformedArg(Argument(offset+1), offset+1, eqoffset)
8686
elseif argt === equation
8787
line = compact[Compiler.OldSSAValue(1)][:line]
88-
ssa = @insert_instruction compact line settings (:invoke)(nothing, InternalIntrinsics.external_equation)::Eq(eqoffset+1)
88+
ssa = @insert_instruction_here compact line settings (:invoke)(nothing, InternalIntrinsics.external_equation)::Eq(eqoffset+1)
8989
return TransformedArg(ssa, offset, eqoffset+1)
9090
elseif isabstracttype(argt) || ismutabletype(argt) || (!isa(argt, DataType) && !isa(argt, PartialStruct))
9191
line = compact[Compiler.OldSSAValue(1)][:line]
92-
ssa = @insert_instruction compact line settings error("Cannot IPO model arg type $argt")::Union{}
92+
ssa = @insert_instruction_here compact line settings error("Cannot IPO model arg type $argt")::Union{}
9393
return TransformedArg(ssa, -1, eqoffset)
9494
else
9595
if !isa(argt, PartialStruct) && Base.datatype_fieldcount(argt) === nothing
9696
line = compact[Compiler.OldSSAValue(1)][:line]
97-
ssa = @insert_instruction compact line settings error("Cannot IPO model arg type $argt")::Union{}
97+
ssa = @insert_instruction_here compact line settings error("Cannot IPO model arg type $argt")::Union{}
9898
return TransformedArg(ssa, -1, eqoffset)
9999
end
100100
(args, _, offset) = flatten_arguments!(compact, settings, isa(argt, PartialStruct) ? argt.fields : collect(Any, fieldtypes(argt)), offset, eqoffset, argtypes)
101101
offset == -1 && return TransformedArg(ssa, -1, eqoffset)
102102
this = Expr(:new, isa(argt, PartialStruct) ? argt.typ : argt, args...)
103103
line = compact[Compiler.OldSSAValue(1)][:line]
104-
ssa = @insert_instruction compact line settings this::argt
104+
ssa = @insert_instruction_here compact line settings this::argt
105105
return TransformedArg(ssa, offset, eqoffset)
106106
end
107107
end

src/analysis/structural.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ function _structural_analysis!(ci::CodeInstance, world::UInt, settings::Settings
362362
compact.result_idx -= 1
363363
new_args = _flatten_parameter!(Compiler.optimizer_lattice(refiner), compact, callee_codeinst.inferred.ir.argtypes, arg->stmt.args[arg+1], line, settings)
364364

365-
new_call = insert_instruction!(compact, settings, @__SOURCE__,
365+
new_call = insert_instruction_here!(compact, settings, @__SOURCE__,
366366
NewInstruction(Expr(:invoke, (StructuralSSARef(compact.result_idx), callee_codeinst), new_args...), stmtype, info, line, stmtflags))
367367
compact.ssa_rename[compact.idx - 1] = new_call
368368

@@ -387,7 +387,7 @@ function _structural_analysis!(ci::CodeInstance, world::UInt, settings::Settings
387387
Compiler.delete_inst_here!(compact)
388388

389389
(new_ret, ultimate_rt) = rewrite_ipo_return!(Compiler.typeinf_lattice(refiner), compact, line, settings, ret_stmt.val, ultimate_rt, eqvars)
390-
insert_instruction!(compact, settings, @__SOURCE__, NewInstruction(ReturnNode(new_ret), ultimate_rt, Compiler.NoCallInfo(), line, Compiler.IR_FLAG_REFINED), reverse_affinity = true)
390+
insert_instruction_here!(compact, settings, @__SOURCE__, NewInstruction(ReturnNode(new_ret), ultimate_rt, Compiler.NoCallInfo(), line, Compiler.IR_FLAG_REFINED), reverse_affinity = true)
391391
elseif isa(ultimate_rt, Type)
392392
# If we don't have any internal variables (in which case we might have to to do a more aggressive rewrite), strengthen the incidence
393393
# by demoting to full incidence over the argument variables. Incidence is not allowed to propagate through global mutable state, so
@@ -425,7 +425,7 @@ function rewrite_ipo_return!(𝕃, compact::IncrementalCompact, line, settings,
425425
new_types = Any[]
426426
for i = 1:length(ultimate_rt.fields)
427427
ssa_type = Compiler.getfield_tfunc(𝕃, ultimate_rt, Const(i))
428-
ssa_field = insert_instruction!(compact, settings, @__SOURCE__,
428+
ssa_field = insert_instruction_here!(compact, settings, @__SOURCE__,
429429
NewInstruction(Expr(:call, getfield, variable), ssa_type, Compiler.NoCallInfo(), line, Compiler.IR_FLAG_REFINED), reverse_affinity = true)
430430

431431
(new_field, new_type) = rewrite_ipo_return!(𝕃, compact, line, settings, ssa_field, ssa_type, eqvars)
@@ -434,13 +434,13 @@ function rewrite_ipo_return!(𝕃, compact::IncrementalCompact, line, settings,
434434
end
435435
newT = Compiler.PartialStruct(ultimate_rt.typ, new_types)
436436
if widenconst(ultimate_rt) <: Tuple
437-
retssa = insert_instruction!(compact, settings, @__SOURCE__,
437+
retssa = insert_instruction_here!(compact, settings, @__SOURCE__,
438438
NewInstruction(Expr(:call, tuple, new_fields...), newT, Compiler.NoCallInfo(), line, Compiler.IR_FLAG_REFINED), reverse_affinity = true)
439439
else
440-
T = insert_instruction!(compact, settings, @__SOURCE__,
440+
T = insert_instruction_here!(compact, settings, @__SOURCE__,
441441
NewInstruction(Expr(:call, typeof, ssa), Type, Compiler.NoCallInfo(), line, Compiler.IR_FLAG_REFINED), reverse_affinity = true)
442442

443-
retssa = insert_instruction!(compact, settings, @__SOURCE__,
443+
retssa = insert_instruction_here!(compact, settings, @__SOURCE__,
444444
NewInstruction(Expr(:new, T, new_fields...), newT, Compiler.NoCallInfo(), line, Compiler.IR_FLAG_REFINED), reverse_affinity = true)
445445
end
446446
return Pair{Any, Any}(retssa, newT)
@@ -454,7 +454,7 @@ function rewrite_ipo_return!(𝕃, compact::IncrementalCompact, line, settings,
454454
push!(eqvars.varclassification, External)
455455
push!(eqvars.varkinds, Intrinsics.Continuous)
456456

457-
new_var_ssa = insert_instruction!(compact, settings,
457+
new_var_ssa = insert_instruction_here!(compact, settings,
458458
NewInstruction(Expr(:invoke, nothing, variable), Incidence(nonlinrepl), Compiler.NoCallInfo(), line, Compiler.IR_FLAG_REFINED), true)
459459

460460
eq_incidence = ultimate_rt - Incidence(nonlinrepl)
@@ -464,13 +464,13 @@ function rewrite_ipo_return!(𝕃, compact::IncrementalCompact, line, settings,
464464
push!(eqvars.eqkinds, Intrinsics.Always)
465465
new_eq = length(eqvars.total_incidence)
466466

467-
new_eq_ssa = insert_instruction!(compact, settings, @__SOURCE__,
467+
new_eq_ssa = insert_instruction_here!(compact, settings, @__SOURCE__,
468468
NewInstruction(Expr(:invoke, nothing, equation), Eq(new_eq), Compiler.NoCallInfo(), LINE, Compiler.IR_FLAG_REFINED), true)
469469

470-
eq_val_ssa = insert_instruction!(compact, settings, @__SOURCE__,
470+
eq_val_ssa = insert_instruction_here!(compact, settings, @__SOURCE__,
471471
NewInstruction(Expr(:call, InternalIntrinsics.assign_var, new_var_ssa, ssa), eq_incidence, Compiler.NoCallInfo(), LINE, Compiler.IR_FLAG_REFINED), true)
472472

473-
eq_call_ssa = insert_instruction!(compact, settings, @__SOURCE__,
473+
eq_call_ssa = insert_instruction_here!(compact, settings, @__SOURCE__,
474474
NewInstruction(Expr(:invoke, nothing, new_eq_ssa, eq_val_ssa), Nothing, Compiler.NoCallInfo(), LINE, Compiler.IR_FLAG_REFINED), true)
475475

476476
T = widenconst(ultimate_rt)

src/transform/codegen/dae_factory.jl

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ function sciml_dae_split_u!(compact, line, settings, arg, numstates)
88
nassgn = numstates[AssignedDiff]
99
ntotalstates = numstates[AssignedDiff] + numstates[UnassignedDiff] + numstates[Algebraic]
1010

11-
u_mm = @insert_instruction compact line settings view(arg, 1:nassgn)::VectorViewType
12-
u_unassgn = @insert_instruction compact line settings view(arg, (nassgn+1):(nassgn+numstates[UnassignedDiff]))::VectorViewType
13-
alg = @insert_instruction compact line settings view(arg, (nassgn+numstates[UnassignedDiff]+1):ntotalstates)::VectorViewType
11+
u_mm = @insert_instruction_here compact line settings view(arg, 1:nassgn)::VectorViewType
12+
u_unassgn = @insert_instruction_here compact line settings view(arg, (nassgn+1):(nassgn+numstates[UnassignedDiff]))::VectorViewType
13+
alg = @insert_instruction_here compact line settings view(arg, (nassgn+numstates[UnassignedDiff]+1):ntotalstates)::VectorViewType
1414

1515
return (u_mm, u_unassgn, alg)
1616
end
@@ -25,8 +25,8 @@ function sciml_dae_split_du!(compact, line, settings, arg, numstates)
2525
nassgn = numstates[AssignedDiff]
2626
ntotalstates = numstates[AssignedDiff] + numstates[UnassignedDiff] + numstates[Algebraic]
2727

28-
in_du_assgn = @insert_instruction compact line settings view(arg, 1:nassgn)::VectorViewType
29-
in_du_unassgn = @insert_instruction compact line settings view(arg, (nassgn+1):(nassgn+numstates[UnassignedDiff]))::VectorViewType
28+
in_du_assgn = @insert_instruction_here compact line settings view(arg, 1:nassgn)::VectorViewType
29+
in_du_unassgn = @insert_instruction_here compact line settings view(arg, (nassgn+1):(nassgn+numstates[UnassignedDiff]))::VectorViewType
3030

3131
return (in_du_assgn, in_du_unassgn)
3232
end
@@ -74,7 +74,7 @@ function dae_factory_gen(state::TransformationState, ci::CodeInstance, key::Torn
7474

7575
line = result.ir[SSAValue(1)][:line]
7676
param_list = flatten_parameter!(Compiler.fallback_lattice, compact, ci.inferred.ir.argtypes[1:end], argn->Argument(2+argn), line, settings)
77-
sicm = @insert_instruction compact line settings invoke(param_list, sicm_ci)::Tuple
77+
sicm = @insert_instruction_here compact line settings invoke(param_list, sicm_ci)::Tuple
7878
else
7979
sicm = ()
8080
end
@@ -110,22 +110,22 @@ function dae_factory_gen(state::TransformationState, ci::CodeInstance, key::Torn
110110

111111
# Zero the output
112112
line = ir_oc[SSAValue(1)][:line]
113-
@insert_instruction oc_compact line settings zero!(Argument(2))::VectorViewType
113+
@insert_instruction_here oc_compact line settings zero!(Argument(2))::VectorViewType
114114

115115
# out_du_mm, out_eq, in_u_mm, in_u_unassgn, in_du_unassgn, in_alg
116116
nassgn = numstates[AssignedDiff]
117117
ntotalstates = numstates[AssignedDiff] + numstates[UnassignedDiff] + numstates[Algebraic]
118-
out_du_mm = @insert_instruction oc_compact line settings view(Argument(2), 1:nassgn)::VectorViewType
119-
out_eq = @insert_instruction oc_compact line settings view(Argument(2), (nassgn+1):ntotalstates)::VectorViewType
118+
out_du_mm = @insert_instruction_here oc_compact line settings view(Argument(2), 1:nassgn)::VectorViewType
119+
out_eq = @insert_instruction_here oc_compact line settings view(Argument(2), (nassgn+1):ntotalstates)::VectorViewType
120120

121121
(in_du_assgn, in_du_unassgn) = sciml_dae_split_du!(oc_compact, line, settings, Argument(3), numstates)
122122
(in_u_mm, in_u_unassgn, in_alg) = sciml_dae_split_u!(oc_compact, line, settings, Argument(4), numstates)
123123

124124
# Call DAECompiler-generated RHS with internal ABI
125-
oc_sicm = @insert_instruction oc_compact line settings getfield(Argument(1), 1)::Core.OpaqueClosure
125+
oc_sicm = @insert_instruction_here oc_compact line settings getfield(Argument(1), 1)::Core.OpaqueClosure
126126

127127
# N.B: The ordering of arguments should match the ordering in the StateKind enum
128-
@insert_instruction oc_compact line settings (:invoke)(daef_ci, oc_sicm, (), in_u_mm, in_u_unassgn, in_du_unassgn, in_alg, out_du_mm, out_eq, Argument(6))::Nothing
128+
@insert_instruction_here oc_compact line settings (:invoke)(daef_ci, oc_sicm, (), in_u_mm, in_u_unassgn, in_du_unassgn, in_alg, out_du_mm, out_eq, Argument(6))::Nothing
129129

130130
# TODO: We should not have to recompute this here
131131
var_eq_matching = matching_for_key(state, key)
@@ -146,15 +146,15 @@ function dae_factory_gen(state::TransformationState, ci::CodeInstance, key::Torn
146146
@assert kind == AssignedDiff
147147
@assert dkind in (AssignedDiff, UnassignedDiff)
148148

149-
v_val = @insert_instruction oc_compact line settings getindex(dkind == AssignedDiff ? in_u_mm : in_u_unassgn, dslot)::Any
150-
@insert_instruction oc_compact line settings setindex!(out_du_mm, v_val, slot)::Any
149+
v_val = @insert_instruction_here oc_compact line settings getindex(dkind == AssignedDiff ? in_u_mm : in_u_unassgn, dslot)::Any
150+
@insert_instruction_here oc_compact line settings setindex!(out_du_mm, v_val, slot)::Any
151151
end
152152

153-
bc = @insert_instruction oc_compact line settings Base.Broadcast.broadcasted(-, out_du_mm, in_du_assgn)::Any
154-
@insert_instruction oc_compact line settings Base.Broadcast.materialize!(out_du_mm, bc)::Nothing
153+
bc = @insert_instruction_here oc_compact line settings Base.Broadcast.broadcasted(-, out_du_mm, in_du_assgn)::Any
154+
@insert_instruction_here oc_compact line settings Base.Broadcast.materialize!(out_du_mm, bc)::Nothing
155155

156156
# Return
157-
@insert_instruction oc_compact line settings (return nothing)::Union{}
157+
@insert_instruction_here oc_compact line settings (return nothing)::Union{}
158158

159159
ir_oc = Compiler.finish(oc_compact)
160160
maybe_rewrite_debuginfo!(ir_oc, settings)
@@ -171,21 +171,21 @@ function dae_factory_gen(state::TransformationState, ci::CodeInstance, key::Torn
171171
@atomic oc_ci.max_world = @atomic ci.max_world
172172
@atomic oc_ci.min_world = 1 # @atomic ci.min_world
173173

174-
new_oc = @insert_instruction compact line settings (:new_opaque_closure)(argt, Union{}, Nothing, true, oc_source_method, sicm)::Core.OpaqueClosure true
174+
new_oc = @insert_instruction_here compact line settings (:new_opaque_closure)(argt, Union{}, Nothing, true, oc_source_method, sicm)::Core.OpaqueClosure true
175175

176176
differential_states = Bool[v in key.diff_states for v in all_states]
177177

178178
if init_key !== nothing
179179
initf = init_uncompress_gen!(compact, result, ci, init_key, key, world, settings)
180-
daef = @insert_instruction compact line settings make_daefunction(new_oc, initf)::DAEFunction true
180+
daef = @insert_instruction_here compact line settings make_daefunction(new_oc, initf)::DAEFunction true
181181
else
182-
daef = @insert_instruction compact line settings make_daefunction(new_oc)::DAEFunction true
182+
daef = @insert_instruction_here compact line settings make_daefunction(new_oc)::DAEFunction true
183183
end
184184

185185
# TODO: Ideally, this'd be in DAEFunction
186-
daef_and_diff = @insert_instruction compact line settings tuple(daef, differential_states)::Tuple true
186+
daef_and_diff = @insert_instruction_here compact line settings tuple(daef, differential_states)::Tuple true
187187

188-
@insert_instruction compact line settings (return daef_and_diff)::Tuple true
188+
@insert_instruction_here compact line settings (return daef_and_diff)::Tuple true
189189

190190
ir_factory = Compiler.finish(compact)
191191
resize!(ir_factory.cfg.blocks, 1)

src/transform/codegen/init_factory.jl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ function init_uncompress_gen(result::DAEIPOResult, ci::CodeInstance, init_key::T
77

88
new_oc = init_uncompress_gen!(compact, result, ci, init_key, diff_key, world, settings)
99
line = result.ir[SSAValue(1)][:line]
10-
@insert_instruction compact line settings (return new_oc)::Core.OpaqueClosure true
10+
@insert_instruction_here compact line settings (return new_oc)::Core.OpaqueClosure true
1111

1212
ir_factory = Compiler.finish(compact)
1313
Compiler.verify_ir(ir_factory)
@@ -28,7 +28,7 @@ function init_uncompress_gen!(compact::Compiler.IncrementalCompact, result::DAEI
2828

2929
line = result.ir[SSAValue(1)][:line]
3030
param_list = flatten_parameter!(Compiler.fallback_lattice, compact, ci.inferred.ir.argtypes[1:end], argn->Argument(2+argn), line, settings)
31-
sicm = @insert_instruction compact line settings invoke(param_list, sicm_ci)::Tuple
31+
sicm = @insert_instruction_here compact line settings invoke(param_list, sicm_ci)::Tuple
3232
else
3333
sicm = ()
3434
end
@@ -61,13 +61,13 @@ function init_uncompress_gen!(compact::Compiler.IncrementalCompact, result::DAEI
6161

6262
# Zero the output
6363
nout = numstates[UnassignedDiff] + numstates[AssignedDiff]
64-
out_arr = @insert_instruction oc_compact line settings zeros(nout)::Vector{Float64}
64+
out_arr = @insert_instruction_here oc_compact line settings zeros(nout)::Vector{Float64}
6565

6666
nscratch = numstates[Algebraic] + numstates[AlgebraicDerivative]
67-
scratch_arr = @insert_instruction oc_compact line settings zeros(nout)::Vector{Float64}
67+
scratch_arr = @insert_instruction_here oc_compact line settings zeros(nout)::Vector{Float64}
6868

6969
# Get the solution vector out of the solution object
70-
in_nlsol_u = @insert_instruction oc_compact line settings getproperty(Argument(2), QuoteNode(:u0))::Vector{Float64}
70+
in_nlsol_u = @insert_instruction_here oc_compact line settings getproperty(Argument(2), QuoteNode(:u0))::Vector{Float64}
7171

7272
# Adapt to DAECompiler ABI
7373
nassgn = numstates[AssignedDiff]
@@ -77,11 +77,11 @@ function init_uncompress_gen!(compact::Compiler.IncrementalCompact, result::DAEI
7777
(out_du_unassgn, _) = sciml_dae_split_du!(oc_compact, line, settings, scratch_arr, numstates)
7878

7979
# Call DAECompiler-generated RHS with internal ABI
80-
oc_sicm = @insert_instruction oc_compact line settings getfield(Argument(1), 1)::Core.OpaqueClosure
81-
@insert_instruction oc_compact line settings (:invoke)(daef_ci, oc_sicm, (), out_u_mm, out_u_unassgn, out_du_unassgn, out_alg, in_nlsol_u, 0.0)::Nothing
80+
oc_sicm = @insert_instruction_here oc_compact line settings getfield(Argument(1), 1)::Core.OpaqueClosure
81+
@insert_instruction_here oc_compact line settings (:invoke)(daef_ci, oc_sicm, (), out_u_mm, out_u_unassgn, out_du_unassgn, out_alg, in_nlsol_u, 0.0)::Nothing
8282

8383
# Return
84-
@insert_instruction oc_compact line settings (return out_arr)::Vector{Float64}
84+
@insert_instruction_here oc_compact line settings (return out_arr)::Vector{Float64}
8585

8686
ir_oc = Compiler.finish(oc_compact)
8787
oc = Core.OpaqueClosure(ir_oc)
@@ -94,7 +94,7 @@ function init_uncompress_gen!(compact::Compiler.IncrementalCompact, result::DAEI
9494
@atomic oc_ci.max_world = @atomic ci.max_world
9595
@atomic oc_ci.min_world = 1 # @atomic ci.min_world
9696

97-
new_oc = @insert_instruction compact line settings (:new_opaque_closure)(
97+
new_oc = @insert_instruction_here compact line settings (:new_opaque_closure)(
9898
argt, Vector{Float64}, Vector{Float64}, true, oc_source_method, sicm)::Core.OpaqueClosure true
9999

100100
return new_oc

0 commit comments

Comments
 (0)