dead code elimination sometimes eliminates non-dead code.
- Dominant language
- C++
- Stars
- 8.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
I guess it is because lifting is done incorrectly sometimes. If some code is present in the binary it may be that it is not dead, because optimizing compilers are meant to eliminate it themselves. And even in debug builds dead code can bear some insight on the data layout.
So it is proposed to remove dead code elimination passes.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or entry points are named. Start by locating the dead code elimination passes and reviewing how lifting feeds them, then determine whether removing those passes preserves code and data-layout insight in normal and debug builds. Done means the proposed passes are removed or the reported incorrect elimination is otherwise resolved, with verification for both build modes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, reverse-engineering
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100