Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
a1505c5
Simple merge validation pipeline
amir734jj Dec 12, 2025
5d7abb9
Merge remote-tracking branch 'origin/user/amir734jj/merge-validation-…
amir734jj Apr 20, 2026
c76c8f7
testing pipeline
amir734jj Apr 20, 2026
e590acf
another try
amir734jj Apr 20, 2026
bd1727f
Another try
amir734jj Apr 20, 2026
07cdaf8
Synth scheduling implementation PR
amir734jj Apr 21, 2026
a6a637d
simplified the analysis
amir734jj Apr 21, 2026
07eb4a2
expose synth internals things to synth only
amir734jj Apr 21, 2026
67f5570
code improvements
amir734jj Apr 21, 2026
8351c28
just code improvement to avoid re-calculation of assignments
amir734jj Apr 21, 2026
ab3e1c0
basic code improvements
amir734jj Apr 21, 2026
c75b89d
fixed issue with codegen
amir734jj Apr 24, 2026
1e2d31c
Testing
amir734jj Apr 24, 2026
6f5421c
revert unnessary change
amir734jj Apr 24, 2026
2d6e165
smaller fixes
amir734jj May 12, 2026
02c406a
handle objects
amir734jj May 15, 2026
5003a86
Merge remote-tracking branch 'boyland/master' into user/amir734jj/syn…
amir734jj May 15, 2026
91cabc9
improved the Makefile
amir734jj May 15, 2026
ce5f91f
tiny change
amir734jj May 16, 2026
7603022
Add files via upload
amir734jj May 18, 2026
f4e13ea
Merge remote-tracking branch 'boyland/master' into user/amir734jj/syn…
amir734jj Jun 2, 2026
c83257a
Merge remote-tracking branch 'origin/master' into user/amir734jj/synt…
amir734jj Jun 16, 2026
cf786ee
Revert unnessary changes
amir734jj Jun 16, 2026
fc8695f
Merge remote-tracking branch 'origin/master' into user/amir734jj/synt…
amir734jj Jun 16, 2026
84a511e
add bigger outer fixed point loop
amir734jj Jun 16, 2026
f623302
more progress
amir734jj Jun 18, 2026
3d67e84
Merge remote-tracking branch 'origin/master' into user/amir734jj/synt…
amir734jj Jun 19, 2026
ed8f8e2
working
amir734jj Jun 20, 2026
43acc2e
added some TODOs
amir734jj Jun 21, 2026
beee561
WIP
amir734jj Jun 22, 2026
31d755b
Updated the code to allow local cycles
amir734jj Jun 29, 2026
bdf7e64
Merge remote-tracking branch 'boyland/master' into user/amir734jj/syn…
amir734jj Aug 2, 2026
cae11c2
synth run
amir734jj Aug 2, 2026
5bc4a1f
speed improvements
amir734jj Aug 3, 2026
0709d4d
Fix the build failing
amir734jj Aug 3, 2026
1c80055
top-level-match doesn't have an implicit node, build will pass now
amir734jj Aug 3, 2026
88192c7
Merge remote-tracking branch 'boyland/master' into user/amir734jj/syn…
amir734jj Aug 9, 2026
a1cdee7
unnessary change
amir734jj Aug 9, 2026
e541071
Simplify/refactor examples/scala/Makefile
amir734jj Aug 9, 2026
9a36a4f
Collect non-local dependencies of the field-assignment instances
amir734jj Aug 9, 2026
fc5fa45
increase pipeline stack size
amir734jj Aug 9, 2026
e05c81b
small fix up, revert
amir734jj Aug 10, 2026
d2aad1d
small optimization
amir734jj Aug 10, 2026
a7ee1e7
Update Makefile
amir734jj Aug 10, 2026
5237302
testing
amir734jj Aug 10, 2026
8f4b371
Update scc.c
amir734jj Aug 10, 2026
df7e9ee
wip
amir734jj Aug 10, 2026
9f28531
another try
amir734jj Aug 10, 2026
bf20927
Merge branch 'amir/patch-59' into user/amir734jj/synth-scheduling
amir734jj Aug 10, 2026
114584a
add a flag to turn off optimizations we added over Farrow
amir734jj Aug 12, 2026
a93eb0e
Simpler code
amir734jj Aug 29, 2026
34c05a0
Merge remote-tracking branch 'origin/master' into user/amir734jj/synt…
amir734jj Aug 30, 2026
0642e9b
Added farrow original as an option
amir734jj Aug 31, 2026
21e542f
Merge remote-tracking branch 'origin/master' into user/amir734jj/synt…
amir734jj Aug 31, 2026
458af0f
Merge branch 'master' into user/amir734jj/synth-scheduling
amir734jj Aug 31, 2026
9799274
Merge remote-tracking branch 'origin/master' into user/amir734jj/synt…
amir734jj Sep 7, 2026
874d119
Should get built now
amir734jj Sep 7, 2026
dead5a1
Synth works but need to double checkn utilities
amir734jj Sep 7, 2026
c7b4719
refactorings
amir734jj Sep 7, 2026
2a2ae3f
bug fixes
amir734jj Sep 7, 2026
276bfdb
Fixes
amir734jj Sep 7, 2026
f97b7a5
small bug fixes
amir734jj Sep 8, 2026
c1c6dc4
Unnessary change
amir734jj Sep 8, 2026
cc5a189
Improve simple-snc-fiber
amir734jj Sep 8, 2026
29a043e
Another try
amir734jj Sep 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion aps2scala/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CPP=g++
CPPFLAGS=-Wall -g -Wno-unused-variable -DUSING_CXX -DAPS2SCALA -I../parse -I../analyze -I../codegen -I../utilities

APS2SCALAOBJS = aps2scala.o dump-scala.o implement.o dyn-impl.o static-impl.o static-scc-impl.o farrow-impl.o synth-util.o
APS2SCALAOBJS = aps2scala.o dump-scala.o implement.o dyn-impl.o static-impl.o static-scc-impl.o farrow-impl.o synth-util.o synth-impl.o
APS2SCALALIBS = ../lib/aps-lib.o ../lib/aps-ag.a ../utilities/utilities.o
aps2scala : ${APS2SCALAOBJS} ${APS2SCALALIBS}
${CPP} ${CPPFLAGS} ${APS2SCALAOBJS} ${APS2SCALALIBS} -o aps2scala
Expand All @@ -11,6 +11,9 @@ ${APS2SCALAOBJS} : dump-scala.h
install: aps2scala
mv aps2scala ../bin/.

synth-impl.o : ../codegen/synth-impl.cc ../codegen/synth-util.h
${CPP} -c ${CPPFLAGS} $< -o $@

static-impl.o : ../codegen/static-impl.cc
${CPP} -c ${CPPFLAGS} $< -o $@

Expand Down
29 changes: 19 additions & 10 deletions aps2scala/aps2scala.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ extern "C" {
#include <cstring>
#include <strings.h>
#include "aps-ag.h"
#include "aps-analyze.h"
}
#include <iostream>
#include <fstream>
Expand All @@ -29,7 +30,8 @@ void usage() {
fprintf(stderr," -V increase verbosity of generation code\n");
fprintf(stderr," -G add Debug calls for every function\n");
fprintf(stderr," -C SCC chunk static scheduling\n");
fprintf(stderr," -F0, --synth-pure-farrow generate original Farrow SYNTH evaluation\n");
fprintf(stderr," -A, --synth optimized SYNTH evaluation\n");
fprintf(stderr," -F, --synth-pure-farrow generate original Farrow SYNTH evaluation\n");
fprintf(stderr," -p path set the APSPATH (overriding env. variable)\n");
exit(1);
}
Expand All @@ -41,6 +43,7 @@ extern int aps_yyparse(void);
Implementation* impl;
bool static_schedule = false;
bool is_tree_only_program = false;
bool synth_implementation = false;
bool farrow_implementation = false;

static void* program_is_tree_only(void *scope, void *node) {
Expand Down Expand Up @@ -84,7 +87,11 @@ int main(int argc,char **argv) {
static_schedule = true;
static_scc_schedule = true;
continue;
} else if (streq(argv[i],"-F0") || streq(argv[i],"--synth-pure-farrow")) {
} else if (streq(argv[i],"-A") || streq(argv[i],"--synth")) {
synth_implementation = true;
anc_analysis = true;
continue;
} else if (streq(argv[i],"-F") || streq(argv[i],"--farrow")) {
farrow_implementation = true;
anc_analysis = true;
continue;
Expand Down Expand Up @@ -116,14 +123,16 @@ int main(int argc,char **argv) {
type_Program(p);
traverse_Program(program_is_tree_only, p, p);
aps_check_error("type");
if (static_schedule || farrow_implementation) {
if (farrow_implementation) {
impl = farrow_impl;
} else if (static_scc_schedule) {
impl = static_scc_impl;
} else {
impl = static_impl;
}
if (static_schedule || static_scc_schedule || farrow_implementation || synth_implementation) {
if (synth_implementation) {
impl = synth_impl;
} else if (farrow_implementation) {
impl = farrow_impl;
} else if (static_scc_schedule) {
impl = static_scc_impl;
} else {
impl = static_impl;
}
analyze_Program(p);
aps_check_error("analysis");
if (!impl) {
Expand Down
1 change: 1 addition & 0 deletions aps2scala/dump-scala.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ extern "C" {
#include <stdio.h>
#include "string.h"
#include "aps-ag.h"
#include "aps-analyze.h"
String get_code_name(Symbol);
}

Expand Down
2 changes: 1 addition & 1 deletion codegen/farrow-impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ static void dump_farrow_functions(STATE* s, ostream& os) {
ostream& oss = os;
os << "\n";

synth_functions_states = synth_util::build_synth_function_states(s);
synth_functions_states = synth_util::build_synth_function_states(s, false);
bool needs_fixed_point = s->loop_required;

for (auto state_it = synth_functions_states.begin(); state_it != synth_functions_states.end(); state_it++) {
Expand Down
Loading
Loading