[pulse] Do not drop astates in ExitScope instruction

Reviewed By: skcho

Differential Revision: D25637249

fbshipit-source-id: e50acf5c6
master
Daiva Naudziuniene 4 years ago committed by Facebook GitHub Bot
parent 0c6eedc835
commit 47954fc428

@ -252,15 +252,15 @@ module PulseTransferFunctions = struct
call_instr ; call_instr ;
List.fold List.fold
~f:(fun astates (astate : Domain.t) -> ~f:(fun astates (astate : Domain.t) ->
let astate = match astate with
match astate with | ISLLatentMemoryError _ | AbortProgram _ | ExitProgram _ | LatentAbortProgram _ ->
| ISLLatentMemoryError _ | AbortProgram _ | ExitProgram _ | LatentAbortProgram _ -> astate :: astates
[astate] | ContinueProgram astate ->
| ContinueProgram astate -> let astate =
dispatch_call analysis_data ret call_exp actuals location call_flags astate dispatch_call analysis_data ret call_exp actuals location call_flags astate
|> report_on_error_list analysis_data |> report_on_error_list analysis_data
in in
List.rev_append astate astates ) List.rev_append astate astates )
~init:[] astate_list ~init:[] astate_list
in in
let dynamic_types_unreachable = let dynamic_types_unreachable =
@ -336,7 +336,7 @@ module PulseTransferFunctions = struct
~f:(fun astates (astate : Domain.t) -> ~f:(fun astates (astate : Domain.t) ->
match astate with match astate with
| ISLLatentMemoryError _ | AbortProgram _ | ExitProgram _ | LatentAbortProgram _ -> | ISLLatentMemoryError _ | AbortProgram _ | ExitProgram _ | LatentAbortProgram _ ->
[astate] astate :: astates
| ContinueProgram astate -> | ContinueProgram astate ->
let astate = let astate =
PulseOperations.remove_vars vars location astate PulseOperations.remove_vars vars location astate

Loading…
Cancel
Save