Skip to content

First Dominator Implementation Fix#31

Merged
Casperento merged 3 commits intomainfrom
bugfixes
Aug 27, 2025
Merged

First Dominator Implementation Fix#31
Casperento merged 3 commits intomainfrom
bugfixes

Conversation

@Casperento
Copy link
Copy Markdown
Collaborator

This pull request refactors and improves the handling of control flow and value cloning in the ProgramSlice logic, updates build instructions in the README.md, and makes several minor code cleanups and documentation fixes. The most significant changes focus on simplifying and correcting the way conditional values are cloned and how loop-related control flow is handled.

ProgramSlice logic improvements

  • Replaced the getClonedOrUndef method with a new getClonedCond method in both ProgramSlice.h and ProgramSlice.cpp, which now more robustly handles cloning of condition values (including Argument types) and removes the need for a context parameter. All usages in terminator reconstruction updated accordingly. [1] [2] [3]
  • Improved loop and control flow handling in getNewTargetByFirstDominator by skipping loop headers and blocks outside the current loop, and added debug logging for these cases.
  • Simplified getOrCreateTargetBlock by removing redundant checks for loop containment, relying on improved logic in the dominator-based target selection.

@Casperento Casperento self-assigned this Aug 26, 2025
@Casperento Casperento merged commit bf90032 into main Aug 27, 2025
1 check passed
@Casperento Casperento deleted the bugfixes branch August 27, 2025 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant