Skip to content

Conversation

MichaelRFairhurst
Copy link
Collaborator

No description provided.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a language-agnostic BlockId module for assigning unique IDs to basic blocks and control flow nodes in control flow graphs, along with a C++ implementation.

  • Adds a generic BlockId module with sophisticated cycle-aware ID assignment algorithm
  • Implements C++-specific binding through CppBlockIdConfig
  • Includes comprehensive test coverage for various control flow patterns

Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/qtil/cfg/BlockId.qll Core language-agnostic module implementing the block ID assignment algorithm
cpp/src/qtil/cpp/cfg/BlockId.qll C++ language binding for the BlockId module
test/qtil/cfg/BlockIdTest.ql Language-agnostic test suite with mock control flow structures
cpp/test/qtil/cpp/cfg/BlockIdTest.ql Simple C++ integration test
cpp/test/qtil/cpp/cfg/test.cpp C++ test code with various control flow patterns
cpp/src/qtil/Cpp.qll Updates module exports to include new BlockId functionality
README.md Documentation update describing the new BlockId feature

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

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