[Multi SDFG, Fortran] Make it so that after `own_ast, program = create_internal_ast()`, we need to use as little information as possible from `own_ast`. #1774
intrinsic_handler could not be easily disentangled, so it is left alone for now.
AST_translator does not take ast as an argument anymore. Instead, we populate its ast-related members after constructing it, from program instead.
All the create_sdfg_...() functions are affected by this change, since they all used AST_translator().
~40 tests on the frontend still failing, but nothing new seems to fail on this PR.
The log for yoe_spectral_planck.F90 + tspectralplanck_calc follows (nothing stands out to me):
Module parkind1 used names: ['jprb', 'jprd', 'jpim']
Module yomlun_ifsaux used names: ['nulout']
Module yomlun used names: ['nulout']
Module yomhook used names: ['lhook', 'dr_hook', 'jphook']
Module yomhook used fands: ['dr_hook']
ACtually used: ['lhook', 'dr_hook', 'jphook']
Module yomcst used names: ['rpi', 'rkbol', 'rhpla', 'rclum', 'rsigma']
Module yoe_spectral_planck used names: []
Parsed successfully module: parkind1 []
Parsed successfully module: yomlun_ifsaux []
Parsed successfully module: yomlun []
Parsed successfully module: yomhook []
Parsed successfully module: yomcst []
Ignore type inference for dr_hook
Couldn't find the declaration of variable dr_hook in function tspectralplanck_init!
Ignore type inference for tspectralplanck_free
Couldn't find the declaration of variable tspectralplanck_free in function tspectralplanck_init!
Ignore type inference for __dace_SIZE
Couldn't find the declaration of variable __dace_SIZE in function tspectralplanck_init!
Ignore type inference for tspectralplanck_free
Couldn't find the declaration of variable tspectralplanck_free in function tspectralplanck_init!
Ignore type inference for __dace_NINT
Couldn't find the declaration of variable __dace_NINT in function tspectralplanck_init!
Ignore type inference for __dace_MIN
Couldn't find the declaration of variable __dace_MIN in function tspectralplanck_init!
Ignore type inference for __dace_MAX
Couldn't find the declaration of variable __dace_MAX in function tspectralplanck_init!
Ignore type inference for __dace_MOD
Couldn't find the declaration of variable __dace_MOD in function tspectralplanck_init!
Ignore type inference for __dace_REAL
Couldn't find the declaration of variable __dace_REAL in function tspectralplanck_init!
Ignore type inference for __dace_REAL
Couldn't find the declaration of variable __dace_REAL in function tspectralplanck_init!
Ignore type inference for __dace_REAL
Couldn't find the declaration of variable __dace_REAL in function tspectralplanck_init!
Ignore type inference for __dace_EXP
Couldn't find the declaration of variable __dace_EXP in function tspectralplanck_init!
Ignore type inference for dr_hook
Couldn't find the declaration of variable dr_hook in function tspectralplanck_init!
Ignore type inference for dr_hook
Couldn't find the declaration of variable dr_hook in function tspectralplanck_calc!
Ignore type inference for pow
Couldn't find the declaration of variable pow in function tspectralplanck_calc!
Ignore type inference for __dace_NINT
Couldn't find the declaration of variable __dace_NINT in function tspectralplanck_calc!
Ignore type inference for dr_hook
Couldn't find the declaration of variable dr_hook in function tspectralplanck_calc!
Before intrinsics
After intrinsics
Ignore type inference for dr_hook
Couldn't find the declaration of variable dr_hook in function tspectralplanck_init!
Ignore type inference for tspectralplanck_free
Couldn't find the declaration of variable tspectralplanck_free in function tspectralplanck_init!
Ignore type inference for tspectralplanck_free
Couldn't find the declaration of variable tspectralplanck_free in function tspectralplanck_init!
Ignore type inference for iround
Couldn't find the declaration of variable iround in function tspectralplanck_init!
Ignore type inference for min
Couldn't find the declaration of variable min in function tspectralplanck_init!
Ignore type inference for max
Couldn't find the declaration of variable max in function tspectralplanck_init!
Ignore type inference for Mod
Couldn't find the declaration of variable Mod in function tspectralplanck_init!
Ignore type inference for float
Couldn't find the declaration of variable float in function tspectralplanck_init!
Ignore type inference for float
Couldn't find the declaration of variable float in function tspectralplanck_init!
Ignore type inference for float
Couldn't find the declaration of variable float in function tspectralplanck_init!
Ignore type inference for exp
Couldn't find the declaration of variable exp in function tspectralplanck_init!
Ignore type inference for dr_hook
Couldn't find the declaration of variable dr_hook in function tspectralplanck_init!
Ignore type inference for dr_hook
Couldn't find the declaration of variable dr_hook in function tspectralplanck_calc!
Ignore type inference for pow
Couldn't find the declaration of variable pow in function tspectralplanck_calc!
Ignore type inference for iround
Couldn't find the declaration of variable iround in function tspectralplanck_calc!
Ignore type inference for dr_hook
Couldn't find the declaration of variable dr_hook in function tspectralplanck_calc!
Before intrinsics
After intrinsics
Deleting struct members...
Deleted 0 struct members.
intrinsic_handler
could not be easily disentangled, so it is left alone for now.AST_translator
does not takeast
as an argument anymore. Instead, we populate itsast
-related members after constructing it, fromprogram
instead.create_sdfg_...()
functions are affected by this change, since they all usedAST_translator()
.yoe_spectral_planck.F90 + tspectralplanck_calc
follows (nothing stands out to me):