@@ -2194,33 +2194,6 @@ function abstract_eval_phi(interp::AbstractInterpreter, phi::PhiNode, vtypes::Un
2194
2194
return rt
2195
2195
end
2196
2196
2197
- function abstract_eval_foreigncall (interp:: AbstractInterpreter , fcall:: Expr , vtypes:: Union{VarTable, Nothing} , sv:: Union{InferenceState, IRCode} , mi:: Union{MethodInstance, Nothing} = nothing )
2198
- args = fcall. args
2199
- abstract_eval_value (interp, args[1 ], vtypes, sv)
2200
- mi′ = mi === nothing ? sv. linfo : mi
2201
- t = sp_type_rewrap (args[2 ], mi′, true )
2202
- for i = 3 : length (args)
2203
- if abstract_eval_value (interp, args[i], vtypes, sv) === Bottom
2204
- t = Bottom
2205
- end
2206
- end
2207
- cconv = args[5 ]
2208
- if isa (cconv, QuoteNode) && isa (cconv. value, Tuple{Symbol, UInt8})
2209
- effects = cconv. value[2 ]:: UInt8
2210
- effects = decode_effects_override (effects)
2211
- effects = Effects (
2212
- effects. consistent ? ALWAYS_TRUE : TRISTATE_UNKNOWN,
2213
- effects. effect_free ? ALWAYS_TRUE : TRISTATE_UNKNOWN,
2214
- effects. nothrow ? ALWAYS_TRUE : TRISTATE_UNKNOWN,
2215
- effects. terminates_globally ? ALWAYS_TRUE : TRISTATE_UNKNOWN,
2216
- #= nonoverlayed=# true
2217
- )
2218
- else
2219
- effects = EFFECTS_UNKNOWN
2220
- end
2221
- return RTEffects (t, effects)
2222
- end
2223
-
2224
2197
function abstract_eval_statement (interp:: AbstractInterpreter , @nospecialize (e), vtypes:: VarTable , sv:: InferenceState )
2225
2198
if ! isa (e, Expr)
2226
2199
if isa (e, PhiNode)
0 commit comments