* gcc-interface/gigi.h (is_simple_additive_expression): Declare.
commit45c92b07a604bbece7f06925088d5f33c1828488
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Nov 2015 11:46:32 +0000 (30 11:46 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Nov 2015 11:46:32 +0000 (30 11:46 +0000)
tree04f64660b152400aaf2762b907ade2f74782d611
parentbd2956af9f76005baa110c4fd815dd46b7c45690
* gcc-interface/gigi.h (is_simple_additive_expression): Declare.
* gcc-interface/trans.c (struct range_check_info_d): Add DISP and
NEG_P fields.
(find_loop_for): Add DISP and NEG_P parameters with default value.
Call is_simple_additive_expression to handle additive expressions.
(Loop_Statement_to_gnu): Deal with displacement in range checks.
(Raise_Error_to_gnu): Likewise.
(gnat_to_gnu): Add call to find_loop_for.
(is_simple_additive_expression): New function extracted from...
(gnat_invariant_expr): ...here.  Call it on the expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231064 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/gcc-interface/gigi.h
gcc/ada/gcc-interface/trans.c
gcc/ada/gcc-interface/utils2.c
gcc/testsuite/gnat.dg/loop_optimization22.adb