-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OptAnalyzer: fix #643, ignore reports from callee on throw
path
#645
Conversation
JET Benchmark ResultJudge resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
Architecture: x86_64
JET Benchmark ResultJudge resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
Architecture: x86_64
|
In the analysis performed by `OptAnalyzer`, when the `skip_unoptimized_throw_blocks` configuration is enabled, dynamic dispatch on `throw` code path is supposed to be ignored. However, cached reports of non-inlined callees on the `throw` code path were not ignored, leading to confusion (#643). This commit addresses the issue by overloading the propagation of reports from callees in abstract interpretation. While the issue has been resolved, the resulting code is quite hacky, and improvements to these interfaces are certainly desirable.
In the analysis performed by
OptAnalyzer
, when theskip_unoptimized_throw_blocks
configuration is enabled, dynamic dispatch onthrow
code path is supposed to be ignored. However, cached reports of non-inlined callees on thethrow
code path were not ignored, leading to confusion (#643). This commit addresses the issue by overloading the propagation of reports from callees in abstract interpretation.While the issue has been resolved, the resulting code is quite hacky, and improvements to these interfaces are certainly desirable.