mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
d02f51c0f0
Before this commit, SegregateStackAccessesPass always expected to find calls stack_size_at_call_site markers injected by InjectStackSizeProbesAtCallSitesPass. This is not always true, because aggressive LLVM optimizations can remove dead code. As an example, if the user or some analysis earlier in the pipeline wrongly marks registers as non-arguments, the optimization pipeline will throw away and eliminate everything that descends from the initial values of those registers. This commit enables SegregateStackAccessesPass to cope with calls to stack_size_at_call_site that were eliminated, and keep going just considering the calls that are still there.