This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR middle-end/28690, indexed load/store performance + reload bug



Anyway, I tried to be careful to preserve the previous behavior of simplify_plus_minus_op_data_cmp and swap_commutative_operands_with_target
wrt the special cases they were trying to handle at the same time as
attempting to optimize for the indexed load/store case. This patch seems
to handle all the previous test cases that we handled before (ie, those
test cases where the pointer is not marked "artifical") as well as Pat's
last test case in Comment #32 in PR28690 which we were not handling with
the older patch.

At least this patch should work without regressions. I would very much prefer to avoid the hack, if it were possible to rank mem/reg/reg-pointer with different commutative_operator_precedence. I understand however that it is a big job. :-(


Paolo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]