Skip to content

Commit

Permalink
rebase fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Ian Atol committed Jul 22, 2022
1 parent 44ef0de commit 52ab1f5
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 28 deletions.
27 changes: 0 additions & 27 deletions base/compiler/abstractinterpretation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2194,33 +2194,6 @@ function abstract_eval_phi(interp::AbstractInterpreter, phi::PhiNode, vtypes::Un
return rt
end

function abstract_eval_foreigncall(interp::AbstractInterpreter, fcall::Expr, vtypes::Union{VarTable, Nothing}, sv::Union{InferenceState, IRCode}, mi::Union{MethodInstance, Nothing}=nothing)
args = fcall.args
abstract_eval_value(interp, args[1], vtypes, sv)
mi′ = mi === nothing ? sv.linfo : mi
t = sp_type_rewrap(args[2], mi′, true)
for i = 3:length(args)
if abstract_eval_value(interp, args[i], vtypes, sv) === Bottom
t = Bottom
end
end
cconv = args[5]
if isa(cconv, QuoteNode) && isa(cconv.value, Tuple{Symbol, UInt8})
effects = cconv.value[2]::UInt8
effects = decode_effects_override(effects)
effects = Effects(
effects.consistent ? ALWAYS_TRUE : TRISTATE_UNKNOWN,
effects.effect_free ? ALWAYS_TRUE : TRISTATE_UNKNOWN,
effects.nothrow ? ALWAYS_TRUE : TRISTATE_UNKNOWN,
effects.terminates_globally ? ALWAYS_TRUE : TRISTATE_UNKNOWN,
#=nonoverlayed=#true
)
else
effects = EFFECTS_UNKNOWN
end
return RTEffects(t, effects)
end

function abstract_eval_statement(interp::AbstractInterpreter, @nospecialize(e), vtypes::VarTable, sv::InferenceState)
if !isa(e, Expr)
if isa(e, PhiNode)
Expand Down
2 changes: 1 addition & 1 deletion base/compiler/ssair/inlining.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1360,7 +1360,7 @@ function handle_semi_concrete_result!(result::SemiConcreteResult, cases::Vector{
return true
end

function concrete_result_item(result::ConstResult, state::InliningState)
function const_result_item(result::ConstResult, state::InliningState)
if !isdefined(result, :result) || !is_inlineable_constant(result.result)
case = compileable_specialization(state.et, result.mi, result.effects)
@assert case !== nothing "concrete evaluation should never happen for uncompileable callsite"
Expand Down

0 comments on commit 52ab1f5

Please sign in to comment.