Skip to content
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

[VeriblePreProcessor][1]: multiple-cu and generate-variants modes #1372

Merged
merged 17 commits into from
Sep 2, 2022

Commits on Sep 1, 2022

  1. Configuration menu
    Copy the full SHA
    f63ac1f View commit details
    Browse the repository at this point in the history
  2. constructing the control flow tree, to enable the preprocessor tool t…

    …o generate all variants with the new mode generate-variants
    karimtera committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    07f2c7c View commit details
    Browse the repository at this point in the history
  3. applying clang-format

    karimtera committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    253f835 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    65198fd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7040d39 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b0f250e View commit details
    Browse the repository at this point in the history
  7. Changes done:

    - Adding comments in a separate line to avoid wrapping.
    - Providing an API to the user of FlowTree class to generate variants.
    - Using const_iterators instead of index in FlowTree class.
    - Using a struct to represents the conditional block as a unit inside FlowTree.
    karimtera committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    0649948 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    357d729 View commit details
    Browse the repository at this point in the history
  9. FlowTree class:

    - Listed the macros as they appear in conditionals.
    - Gave each of them a unique ID and stored them in a map.
    - Used a more detailed if_blocks struct to help tracking edges.
    - Used bitset in DFS to know for each variant which macros are defined.
    karimtera committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    7e5419e View commit details
    Browse the repository at this point in the history
  10. FlowTree class:

    - Removed variants counter from the class members.
    - Added a new struct called Variant that contains all the vairant's data:
      - Its TokenSequence.
      - bitset that shows if the i-th macro is visited/assumed or not.
      - bitset that shows if the i-th macro is defined or not.
    - Modified the VariantReceiver to accepts the new struct Variant,
      instead of just TokenSequence.
    - GenerateControlFlowTree() is now a private function, such that
      GenerateVariants() is the only API the user needs.
    - Added a using declaration for std::bitset<128>.
    karimtera committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    c0ed68e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    1eaa850 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    7c70b69 View commit details
    Browse the repository at this point in the history
  13. FlowTree class:

    - Added API GetUsedMacros that returns all the used macros in conditionals.
    - Changed "assumed" bitset name to "visited".
    - Added description to "ConditionalBlock".
    - Added more testing using closures.
    Preprocessor tool:
    - Kept the subcommand part.
    - Available subcommands for now "strip-comments", "multiple-cu",
      and "generate-variants".
    karimtera committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    4006cf8 View commit details
    Browse the repository at this point in the history
  14. Commit changes:

    - Moved ConditionalBlock to private section in FlowTree class.
    - Removed unwanted debug code from the preprocessor tool.
    - Fixed output streams issues in the preprocessor tool.
    karimtera committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    b684664 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    aa29595 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2022

  1. Configuration menu
    Copy the full SHA
    eae3be0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    37cc052 View commit details
    Browse the repository at this point in the history