Skip to content

Extending Functionality of the Symbolic ASR pass #2255

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

Merged
merged 23 commits into from
Aug 8, 2023
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
e69bfb8
Implemented Symbolic ASR pass
anutosh491 Jul 31, 2023
2ddfd1c
Added code for visit_Assignment
anutosh491 Aug 1, 2023
e4215d8
Added visit_Print function
anutosh491 Aug 2, 2023
e32bffa
Merge branch 'main' into GSoC_PR_10
anutosh491 Aug 2, 2023
4658cc1
Added symbolic_dependencies
anutosh491 Aug 2, 2023
6f91349
Added functionality for Symbol Set
anutosh491 Aug 2, 2023
e478c43
Added symbol set functionality
anutosh491 Aug 2, 2023
39bc7c4
Revert "Added symbol set functionality"
anutosh491 Aug 2, 2023
13f5e63
cleared symbolic dependencies vector
anutosh491 Aug 2, 2023
3ba0b14
Added support for all binary operations
anutosh491 Aug 2, 2023
45fc811
Added support for all unary operations/functions
anutosh491 Aug 2, 2023
d2369b5
Added symbolic_vars set
anutosh491 Aug 3, 2023
75bc2d7
Added symbolic integer functionality
anutosh491 Aug 3, 2023
a0cda6f
Added asr verify checks
anutosh491 Aug 4, 2023
cabefae
Extending Functionality of the Symbolic ASR pass
anutosh491 Aug 5, 2023
edcc052
minor change
anutosh491 Aug 5, 2023
1a02e3e
added support through symengine_stack for all handling operator chain…
anutosh491 Aug 7, 2023
3539ccf
Added support for assert statements
anutosh491 Aug 7, 2023
1f174d8
Uncommented all symbolic tests
anutosh491 Aug 7, 2023
2273ed9
Added the NOFAST label for symbolic tests
anutosh491 Aug 8, 2023
0ad03a6
Minor changes to correct failing tests
anutosh491 Aug 8, 2023
e98e0e8
Fixed failing tests
anutosh491 Aug 8, 2023
5c5390e
Merge branch 'main' into GSoC_PR_11
certik Aug 8, 2023
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
12 changes: 6 additions & 6 deletions integration_tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -675,12 +675,12 @@ RUN(NAME structs_32 LABELS cpython llvm c)
RUN(NAME structs_33 LABELS cpython llvm c)
RUN(NAME structs_34 LABELS cpython llvm c)

RUN(NAME symbolics_01 LABELS cpython_sym c_sym)
RUN(NAME symbolics_02 LABELS cpython_sym c_sym)
RUN(NAME symbolics_03 LABELS cpython_sym c_sym)
RUN(NAME symbolics_04 LABELS cpython_sym c_sym)
RUN(NAME symbolics_05 LABELS cpython_sym c_sym)
RUN(NAME symbolics_06 LABELS cpython_sym c_sym)
# RUN(NAME symbolics_01 LABELS cpython_sym c_sym)
# RUN(NAME symbolics_02 LABELS cpython_sym c_sym)
# RUN(NAME symbolics_03 LABELS cpython_sym c_sym)
# RUN(NAME symbolics_04 LABELS cpython_sym c_sym)
# RUN(NAME symbolics_05 LABELS cpython_sym c_sym)
# RUN(NAME symbolics_06 LABELS cpython_sym c_sym)
RUN(NAME symbolics_07 LABELS cpython_sym c_sym llvm_sym NOFAST)
RUN(NAME symbolics_08 LABELS cpython_sym c_sym llvm_sym)

Expand Down
1 change: 1 addition & 0 deletions src/libasr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ set(SRC
pass/unused_functions.cpp
pass/flip_sign.cpp
pass/div_to_mul.cpp
pass/replace_symbolic.cpp
pass/intrinsic_function.cpp
pass/fma.cpp
pass/loop_vectorise.cpp
Expand Down
1 change: 1 addition & 0 deletions src/libasr/gen_pass.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"replace_implied_do_loops",
"replace_init_expr",
"inline_function_calls",
"replace_symbolic",
"replace_intrinsic_function",
"loop_unroll",
"loop_vectorise",
Expand Down
3 changes: 3 additions & 0 deletions src/libasr/pass/pass_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <libasr/pass/replace_arr_slice.h>
#include <libasr/pass/replace_flip_sign.h>
#include <libasr/pass/replace_div_to_mul.h>
#include <libasr/pass/replace_symbolic.h>
#include <libasr/pass/replace_intrinsic_function.h>
#include <libasr/pass/replace_fma.h>
#include <libasr/pass/loop_unroll.h>
Expand Down Expand Up @@ -71,6 +72,7 @@ namespace LCompilers {
{"global_stmts", &pass_wrap_global_stmts},
{"implied_do_loops", &pass_replace_implied_do_loops},
{"array_op", &pass_replace_array_op},
{"symbolic", &pass_replace_symbolic},
{"intrinsic_function", &pass_replace_intrinsic_function},
{"arr_slice", &pass_replace_arr_slice},
{"print_arr", &pass_replace_print_arr},
Expand Down Expand Up @@ -203,6 +205,7 @@ namespace LCompilers {
"subroutine_from_function",
"where",
"array_op",
"symbolic",
"intrinsic_function",
"array_op",
"pass_array_by_data",
Expand Down
Loading