From b510348e650406a2bb812bb6f599cc32b508403b Mon Sep 17 00:00:00 2001 From: bdemsky Date: Thu, 7 Sep 2017 15:01:59 -0700 Subject: [PATCH] Add directories per analysis --- design/notes.txt | 34 +++++++++++++++++++ src/ASTAnalyses/{ => Order}/orderanalysis.cc | 0 src/ASTAnalyses/{ => Order}/orderanalysis.h | 0 src/ASTAnalyses/{ => Order}/orderedge.cc | 0 src/ASTAnalyses/{ => Order}/orderedge.h | 0 src/ASTAnalyses/{ => Order}/ordergraph.cc | 0 src/ASTAnalyses/{ => Order}/ordergraph.h | 0 src/ASTAnalyses/{ => Order}/ordernode.cc | 0 src/ASTAnalyses/{ => Order}/ordernode.h | 0 .../{ => Polarity}/polarityassignment.cc | 0 .../{ => Polarity}/polarityassignment.h | 0 src/Makefile | 16 +++++---- src/mymemory.h | 2 +- 13 files changed, 44 insertions(+), 8 deletions(-) rename src/ASTAnalyses/{ => Order}/orderanalysis.cc (100%) rename src/ASTAnalyses/{ => Order}/orderanalysis.h (100%) rename src/ASTAnalyses/{ => Order}/orderedge.cc (100%) rename src/ASTAnalyses/{ => Order}/orderedge.h (100%) rename src/ASTAnalyses/{ => Order}/ordergraph.cc (100%) rename src/ASTAnalyses/{ => Order}/ordergraph.h (100%) rename src/ASTAnalyses/{ => Order}/ordernode.cc (100%) rename src/ASTAnalyses/{ => Order}/ordernode.h (100%) rename src/ASTAnalyses/{ => Polarity}/polarityassignment.cc (100%) rename src/ASTAnalyses/{ => Polarity}/polarityassignment.h (100%) diff --git a/design/notes.txt b/design/notes.txt index 4219c89..f7282be 100644 --- a/design/notes.txt +++ b/design/notes.txt @@ -1,6 +1,8 @@ (1) Elements/BooleanVars should link back to expressions that use them +--> Done (2) Need to introduce variables in encoding of functions.... +--> Done (3) Some cases can do variable elimination of introduced variables... @@ -36,6 +38,8 @@ simply link to it again). Possibly good to do in TreeConstruction... This could be lower priority as it isn't really essential to make things work. Should also probably be switchable on/off... +--> Done + (2) Advanced TreeRewriting --- can rewrite functions/predicates to eliminate unused entries or to eliminate effectively identical outputs... e.g., consider a function f() that can output the values @@ -56,5 +60,35 @@ to turn on/off nearly any optimization we have... implement other simplifcation strategies (6) Convert SATCheck to use Constraint Compiler...not sure about order... +Started... (7) Profile system.... + +--------------------------------------------------------------------- + +To do: + +(0) Support for saving/loading problem instances... + +(1) Complete satcheck support + +(2) Advance tree rewriting... Variable value elimination... + +(3) Think about undefined semantics... + +(4) Smart encoding... + Variable Graphs.... + + Split graph into connected components + +Encoding ideas: +* Monotonic increasing index +* Matched index (equality) +* Bit exposes +* Single var +* Support arithmetic +* Sparse encoding + +-------------------------------------------------------------------- + + diff --git a/src/ASTAnalyses/orderanalysis.cc b/src/ASTAnalyses/Order/orderanalysis.cc similarity index 100% rename from src/ASTAnalyses/orderanalysis.cc rename to src/ASTAnalyses/Order/orderanalysis.cc diff --git a/src/ASTAnalyses/orderanalysis.h b/src/ASTAnalyses/Order/orderanalysis.h similarity index 100% rename from src/ASTAnalyses/orderanalysis.h rename to src/ASTAnalyses/Order/orderanalysis.h diff --git a/src/ASTAnalyses/orderedge.cc b/src/ASTAnalyses/Order/orderedge.cc similarity index 100% rename from src/ASTAnalyses/orderedge.cc rename to src/ASTAnalyses/Order/orderedge.cc diff --git a/src/ASTAnalyses/orderedge.h b/src/ASTAnalyses/Order/orderedge.h similarity index 100% rename from src/ASTAnalyses/orderedge.h rename to src/ASTAnalyses/Order/orderedge.h diff --git a/src/ASTAnalyses/ordergraph.cc b/src/ASTAnalyses/Order/ordergraph.cc similarity index 100% rename from src/ASTAnalyses/ordergraph.cc rename to src/ASTAnalyses/Order/ordergraph.cc diff --git a/src/ASTAnalyses/ordergraph.h b/src/ASTAnalyses/Order/ordergraph.h similarity index 100% rename from src/ASTAnalyses/ordergraph.h rename to src/ASTAnalyses/Order/ordergraph.h diff --git a/src/ASTAnalyses/ordernode.cc b/src/ASTAnalyses/Order/ordernode.cc similarity index 100% rename from src/ASTAnalyses/ordernode.cc rename to src/ASTAnalyses/Order/ordernode.cc diff --git a/src/ASTAnalyses/ordernode.h b/src/ASTAnalyses/Order/ordernode.h similarity index 100% rename from src/ASTAnalyses/ordernode.h rename to src/ASTAnalyses/Order/ordernode.h diff --git a/src/ASTAnalyses/polarityassignment.cc b/src/ASTAnalyses/Polarity/polarityassignment.cc similarity index 100% rename from src/ASTAnalyses/polarityassignment.cc rename to src/ASTAnalyses/Polarity/polarityassignment.cc diff --git a/src/ASTAnalyses/polarityassignment.h b/src/ASTAnalyses/Polarity/polarityassignment.h similarity index 100% rename from src/ASTAnalyses/polarityassignment.h rename to src/ASTAnalyses/Polarity/polarityassignment.h diff --git a/src/Makefile b/src/Makefile index e6699e6..442a1c6 100644 --- a/src/Makefile +++ b/src/Makefile @@ -4,16 +4,16 @@ PHONY += directories MKDIR_P = mkdir -p OBJ_DIR = bin -CPP_SOURCES := $(wildcard *.cc) $(wildcard AST/*.cc) $(wildcard ASTTransform/*.cc) $(wildcard Translator/*.cc) $(wildcard ASTAnalyses/*.cc) $(wildcard Tuner/*.cc) $(wildcard Collections/*.cc) $(wildcard Backend/*.cc) $(wildcard Encoders/*.cc) +CPP_SOURCES := $(wildcard *.cc) $(wildcard AST/*.cc) $(wildcard ASTTransform/*.cc) $(wildcard Translator/*.cc) $(wildcard ASTAnalyses/*.cc) $(wildcard ASTAnalyses/Order/*.cc) $(wildcard ASTAnalyses/Polarity/*.cc) $(wildcard Tuner/*.cc) $(wildcard Collections/*.cc) $(wildcard Backend/*.cc) $(wildcard Encoders/*.cc) -C_SOURCES := $(wildcard *.c) $(wildcard AST/*.c) $(wildcard ASTTransform/*.c) $(wildcard Translator/*.c) $(wildcard ASTAnalyses/*.c) $(wildcard Tuner/*.c) $(wildcard Collections/*.c) $(wildcard Backend/*.c) $(wildcard Encoders/*.c) +C_SOURCES := $(wildcard *.c) $(wildcard AST/*.c) $(wildcard ASTTransform/*.c) $(wildcard Translator/*.c) $(wildcard ASTAnalyses/*.c) $(wildcard ASTAnalyses/Order/*.c) $(wildcard ASTAnalyses/Polarity/*.c) $(wildcard Tuner/*.c) $(wildcard Collections/*.c) $(wildcard Backend/*.c) $(wildcard Encoders/*.c) -HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard ASTTransform/*.h) $(wildcard Translator/*.h) $(wildcard ASTAnalyses/*.h) $(wildcard Tuner/*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h) +HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard ASTTransform/*.h) $(wildcard Translator/*.h) $(wildcard ASTAnalyses/*.h) $(wildcard ASTAnalyses/Order/*.h) $(wildcard ASTAnalyses/Polarity/*.h) $(wildcard Tuner/*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h) OBJECTS := $(CPP_SOURCES:%.cc=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o) CFLAGS := -Wall -g -O0 -CFLAGS += -IAST -IASTTransform -IASTAnalyses -ITranslator -ICollections -IBackend -I. -IEncoders -ITuner +CFLAGS += -IAST -IASTTransform -IASTAnalyses -IASTAnalyses/Polarity -IASTAnalyses/Order -ITranslator -ICollections -IBackend -I. -IEncoders -ITuner LDFLAGS := -ldl -lrt -rdynamic SHARED := -shared @@ -33,6 +33,8 @@ ${OBJ_DIR}: ${MKDIR_P} ${OBJ_DIR} ${MKDIR_P} ${OBJ_DIR}/AST ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses + ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses/Order + ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses/Polarity ${MKDIR_P} ${OBJ_DIR}/ASTTransform ${MKDIR_P} ${OBJ_DIR}/Translator ${MKDIR_P} ${OBJ_DIR}/Tuner @@ -75,10 +77,10 @@ tags: ctags -R tabbing: - uncrustify -c C.cfg --no-backup *.cc */*.cc - uncrustify -c C.cfg --no-backup *.h */*.h + uncrustify -c C.cfg --no-backup *.cc */*.cc */*/*.cc + uncrustify -c C.cfg --no-backup *.h */*.h */*/*.h wc: - wc */*.cc */*.h *.cc *.h + wc */*.cc */*.h *.cc *.h */*/*.cc */*/*.h .PHONY: $(PHONY) diff --git a/src/mymemory.h b/src/mymemory.h index e0a60bd..7c63aa1 100644 --- a/src/mymemory.h +++ b/src/mymemory.h @@ -26,7 +26,7 @@ void * ourrealloc(void *ptr, size_t size); */ -#if 1 +#if 0 void * model_malloc(size_t size); void model_free(void *ptr); void * model_calloc(size_t count, size_t size); -- 2.34.1