Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[ASR Pass] Symbolic: Simplify the symbolic handling #2431

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 21 commits into from
Nov 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
dbb001f
[ASR Pass] Symbolic: Use a function to create `basic_new_stack` BindC…
Thirumalai-Shaktivel Nov 25, 2023
ed2997d
[ASR Pass] Symbolic: Use a function to create `basic_free_stack` Bind…
Thirumalai-Shaktivel Nov 25, 2023
2fe8807
[ASR Pass] Symbolic: Add `basic_free_stack` to function dependencies
Thirumalai-Shaktivel Nov 25, 2023
0c3d6f2
[ASR Pass] Symbolic: Simplify `basic_get_args` to return `SubroutineC…
Thirumalai-Shaktivel Nov 25, 2023
93546df
[ASR Pass] Symbolic: Simplify `vecbasic_new` to return `FunctionCall`
Thirumalai-Shaktivel Nov 25, 2023
799932e
[ASR Pass] Symbolic: Simplify `vecbasic_get` to return `SubroutineCall`
Thirumalai-Shaktivel Nov 25, 2023
a7eae7b
[ASR Pass] Symbolic: Simplify `vecbasic_size` to return `FunctionCall`
Thirumalai-Shaktivel Nov 25, 2023
f497d07
[ASR Pass] Symbolic: Simplify `basic_assign` to return `SubroutineCall`
Thirumalai-Shaktivel Nov 25, 2023
0aa4435
[ASR Pass] Symbolic: Simplify `basic_str` to return `FunctionCall`
Thirumalai-Shaktivel Nov 25, 2023
3096c28
[ASR Pass] Symbolic: Simplify `basic_get_type` to return `FunctionCall`
Thirumalai-Shaktivel Nov 25, 2023
bb48bdb
[ASR Pass] Symbolic: Simplify `basic_eq` & `basic_neq` into `basic_co…
Thirumalai-Shaktivel Nov 25, 2023
e8724c1
[ASR Pass] Symbolic: Simplify `integer_set_si` to return `SubroutineC…
Thirumalai-Shaktivel Nov 25, 2023
2745451
[ASR Pass] Symbolic: Simplify `symbol_set` to return `SubroutineCall`
Thirumalai-Shaktivel Nov 25, 2023
9440150
[ASR Pass] Symbolic: Simplify `basic_const` to return `SubroutineCall`
Thirumalai-Shaktivel Nov 25, 2023
3903658
[ASR Pass] Symbolic: Simplify `basic_binop` to return `SubroutineCall`
Thirumalai-Shaktivel Nov 25, 2023
79066ee
[ASR Pass] Symbolic: Simplify `basic_unaryop` to return `SubroutineCall`
Thirumalai-Shaktivel Nov 25, 2023
d331f27
[ASR Pass] Symbolic: Simplify `process_intrinsic_function` arguments
Thirumalai-Shaktivel Nov 25, 2023
f18ae18
[ASR Pass] Symbolic: Simplify `process_intrinsic_function` to use macros
Thirumalai-Shaktivel Nov 25, 2023
760380a
[ASR Pass] Symbolic: Simplify `process_attributes` to use macros
Thirumalai-Shaktivel Nov 25, 2023
f6d0bd6
[ASR Pass] Symbolic: Simplify `basic_has_symbol` to return `FunctionC…
Thirumalai-Shaktivel Nov 25, 2023
6a7b2cd
[ASR Pass] Symbolic: Simplify `process_attributes` arguments
Thirumalai-Shaktivel Nov 25, 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
8 changes: 4 additions & 4 deletions src/libasr/pass/intrinsic_function_registry.h
Original file line number Diff line number Diff line change
Expand Up @@ -251,11 +251,11 @@ class ASRBuilder {
false, nullptr, 0, false, false, false));

// Types -------------------------------------------------------------------
#define int32 TYPE(ASR::make_Integer_t(al, loc, 4))
#define int32 ASRUtils::TYPE(ASR::make_Integer_t(al, loc, 4))
#define int64 TYPE(ASR::make_Integer_t(al, loc, 8))
#define real32 TYPE(ASR::make_Real_t(al, loc, 4))
#define real64 TYPE(ASR::make_Real_t(al, loc, 8))
#define logical TYPE(ASR::make_Logical_t(al, loc, 4))
#define logical ASRUtils::TYPE(ASR::make_Logical_t(al, loc, 4))
#define character(x) TYPE(ASR::make_Character_t(al, loc, 1, x, nullptr))
#define List(x) TYPE(ASR::make_List_t(al, loc, x))

Expand Down Expand Up @@ -285,7 +285,7 @@ class ASRBuilder {

// Expressions -------------------------------------------------------------
#define i(x, t) EXPR(ASR::make_IntegerConstant_t(al, loc, x, t))
#define i32(x) EXPR(ASR::make_IntegerConstant_t(al, loc, x, int32))
#define i32(x) ASRUtils::EXPR(ASR::make_IntegerConstant_t(al, loc, x, int32))
#define i32_n(x) EXPR(ASR::make_IntegerUnaryMinus_t(al, loc, i32(abs(x)), \
int32, i32(x)))
#define i32_neg(x, t) EXPR(ASR::make_IntegerUnaryMinus_t(al, loc, x, t, nullptr))
Expand Down Expand Up @@ -414,7 +414,7 @@ class ASRBuilder {
}

// Compare -----------------------------------------------------------------
#define iEq(x, y) EXPR(ASR::make_IntegerCompare_t(al, loc, x, \
#define iEq(x, y) ASRUtils::EXPR(ASR::make_IntegerCompare_t(al, loc, x, \
ASR::cmpopType::Eq, y, logical, nullptr))
#define iNotEq(x, y) EXPR(ASR::make_IntegerCompare_t(al, loc, x, \
ASR::cmpopType::NotEq, y, logical, nullptr))
Expand Down
Loading