3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-11 18:28:08 +00:00
Commit graph

22 commits

Author SHA1 Message Date
LeeYoungJoon
0a93ff515d
Centralize and document TRACE tags using X-macros (#7657)
* Introduce X-macro-based trace tag definition
- Created trace_tags.def to centralize TRACE tag definitions
- Each tag includes a symbolic name and description
- Set up enum class TraceTag for type-safe usage in TRACE macros

* Add script to generate Markdown documentation from trace_tags.def
- Python script parses trace_tags.def and outputs trace_tags.md

* Refactor TRACE_NEW to prepend TraceTag and pass enum to is_trace_enabled

* trace: improve trace tag handling system with hierarchical tagging

- Introduce hierarchical tag-class structure: enabling a tag class activates all child tags
- Unify TRACE, STRACE, SCTRACE, and CTRACE under enum TraceTag
- Implement initial version of trace_tag.def using X(tag, tag_class, description)
  (class names and descriptions to be refined in a future update)

* trace: replace all string-based TRACE tags with enum TraceTag
- Migrated all TRACE, STRACE, SCTRACE, and CTRACE macros to use enum TraceTag values instead of raw string literals

* trace : add cstring header

* trace : Add Markdown documentation generation from trace_tags.def via mk_api_doc.py

* trace : rename macro parameter 'class' to 'tag_class' and remove Unicode comment in trace_tags.h.

* trace : Add TODO comment for future implementation of tag_class activation

* trace : Disable code related to tag_class until implementation is ready (#7663).
2025-05-28 14:31:25 +01:00
Lev Nachmanson
e9fa7db96c revert smt_enode
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-12-20 14:03:27 -10:00
Nuno Lopes
c4fa719751 revert last two commits; MSVC doesn't like to statically allocate flexible arrays 2023-12-20 19:10:05 +00:00
Nuno Lopes
6246c6517d fix debug build 2023-12-20 18:30:53 +00:00
Nuno Lopes
c9c53b7c65 tmp_enode: don't heap allocate an app. store it inline instead.
Saves heap allocations and double indirections
2023-12-20 18:19:20 +00:00
Nikolaj Bjorner
ad2107f079 fix #6978 2023-11-14 08:45:22 -08:00
Nikolaj Bjorner
adbee0cd3f fix #6937 2023-10-10 16:02:59 +09:00
Nikolaj Bjorner
61319ffd85 cache is_shared information in the enode
observed perf overhead for QF_NIA is that assume_eqs in theory_lra incurs significant overhead when calling is_relevant_and_shared. The call to context::is_shared and the loop checking for beta redexes is a main bottleneck. The bottleneck is avoided by caching the result if is_shared inside the enode. It is invalidated for every merge/unmerge.
2023-09-23 17:19:06 -07:00
Nikolaj Bjorner
13da6a02a6 add handling of quantifiers #5612 2021-10-20 12:27:56 -04:00
Nikolaj Bjorner
026065ff71 streamline pb solver interface and naming after removal of xor 2021-02-28 12:32:04 -08:00
Nikolaj Bjorner
a152bb1e80 remove template Context dependency in every trail object 2021-02-08 15:41:57 -08:00
Nikolaj Bjorner
d4e92d4aca move theory_var_list into id_var_list and utilities from smt-enode into it, prepare for theory variables in egraph
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-01 04:26:31 -07:00
Nikolaj Bjorner
6a5695463f fix #3943
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-13 12:58:18 -07:00
Nikolaj Bjorner
25c93410b1 add #2298 to regression/example
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-29 07:24:42 -07:00
nilsbecker
547fbd4764 avoid rechecking whether equality explanations are already logged 2018-10-09 16:42:10 +02:00
nilsbecker
1aeffa2e01 fixing issue where argument equalities for congruence explanations were not updated
explaining equalities added by theories
2018-05-24 19:25:59 +02:00
Nils Becker
7585f28dec Improved quantifier instantiation logging 2018-04-08 18:18:02 +02:00
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Nikolaj Bjorner
b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner
77c423b9aa annotate enode hash as signed character to address issue #210
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-29 14:14:29 -07:00
Ken McMillan
4763532501 adding compile-time option to replace arrays with maps in smt (define SPARSE_MAP) 2014-09-30 11:25:47 -07:00
Leonardo de Moura
add684d8e9 checkpoint
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-21 13:32:12 -07:00
Renamed from lib/smt_enode.cpp (Browse further)