gfortran.h (gfc_expr): Add no_bounds_check field.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 10 Jun 2018 15:31:42 +0000 (15:31 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 10 Jun 2018 15:31:42 +0000 (15:31 +0000)
commit980fa45eefc0ec8f71e1947a28938af28f6fdbb2
tree6beac9da84a5344f39428891e904a85f281417f0
parentdcdae924d27a737dcda16bac7d9dfad5fbdfba6a
gfortran.h (gfc_expr): Add no_bounds_check field.

2018-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

* gfortran.h (gfc_expr): Add no_bounds_check field.
* frontend-passes.c (get_array_inq_function): Set no_bounds_check
on function and function argument.
(inline_matmul_assign): Set no_bounds_check on zero expression
and on lhs of zero expression.
Also handle A1B2 case if realloc on assigment is active.
* trans-array.c (gfc_conv_array_ref): Don't do range checking
if expr has no_bounds_check set.
(gfc_conv_expr_descriptor): Set no_bounds_check on ss if expr
has it set.
* trans-expr.c (gfc_trans_assignment_1): Set no_bounds_check
on lss and lss if the corresponding expressions have it set.

2018-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

* gfortran.dg/inline_matmul_23.f90: New test.

From-SVN: r261388
gcc/fortran/ChangeLog
gcc/fortran/frontend-passes.c
gcc/fortran/gfortran.h
gcc/fortran/trans-array.c
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/inline_matmul_23.f90 [new file with mode: 0644]