This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/79675] Pointless reg1 <- reg2; reg2 <- reg1 moves inside loop
- From: "amker at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 22 Feb 2017 13:46:13 +0000
- Subject: [Bug middle-end/79675] Pointless reg1 <- reg2; reg2 <- reg1 moves inside loop
- Auto-submitted: auto-generated
- References: <bug-79675-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79675
--- Comment #2 from amker at gcc dot gnu.org ---
(In reply to ktkachov from comment #1)
> I think ivopts also contributes here.
> Before ivopts the memory access and address are:
> s1_10 = s1_3 + 1;
> c1_11 = *s1_3;
>
> but ivopts transforms them to:
> s1_10 = s1_3 + 1;
> c1_11 = MEM[base: s1_10, offset: -1B];
>
> So the memory address is now dependent on s1_10 rather than s1_3 and
> introduces an offset where there was none before
Thanks for reporting, I will have a look. Thanks.