More eagerly infer functions when two functions share their return blocks.
Added call jump and return jump contexts in MaybeFunctionCall and IsFunctionCall
The above made MaybeInFunctionUnderContext much more precise, in turn making IRBlockEdge more precise and removing imprecise blocks and edges from private functions.
The context added in the function call relations allowed us to be more precise than the old costly algorithms without having to compute the costly CanReachUnderContextThroughBlock relation. The latter was removed together with the distinction between cheap and costly algorithms.
Fixed bug causing function calls to have an incorrect number of actual args.
Added analytics:
Analytics_InexactFunctionCallArguments
Analytics_ReachableBlocksInTAC
Analytics_JumpToManyWithoutGlobalImprecision
Analytics with changed definition:
Analytics_JumpToMany
Analytics_PolymorphicTargetSameContext as well recently
Main items:
Added analytics:
Analytics with changed definition: