[llvm-dev] GVN Hoist moving a store across load

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Fri Aug 5 14:08:30 PDT 2016


This patch fixes the original application.  In the testcase, a load is 
hoisted instead of the store.

Thanks!

-Krzysztof

On 8/5/2016 3:49 PM, Daniel Berlin wrote:
> From what i can tell (just diffing before/after) , this is caused by the
> same iterator bug and should be fixed in a moment
> by https://reviews.llvm.org/D23187
>
>
>
> On Fri, Aug 5, 2016 at 1:19 PM, Krzysztof Parzyszek via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
>     Opened https://llvm.org/bugs/show_bug.cgi?id=28874
>     <https://llvm.org/bugs/show_bug.cgi?id=28874> for this.
>
>     -Krzysztof
>
>
>
>     On 8/5/2016 1:07 PM, Krzysztof Parzyszek via llvm-dev wrote:
>
>         Hi,
>
>         I have a scenario, roughly like this:
>
>           if (...) {
>             ... = *x
>             *x = 0
>           } else {
>             ... = *x
>             *x = 0
>           }
>
>         The two sides are functionally different, but both load some
>         value and
>         then set it to 0.
>
>         After GVN Hoist, I get:
>
>           *x = 0
>           if (...) {
>             ... = *x
>           } else {
>             ... = *x
>           }
>
>         That is, the store was hoisted above the loads.
>
>         The code is not exactly public, so I can't just attach it as a
>         testcase,
>         but it seems like some simple check is missing somewhere.
>
>         Does this ring a bell?
>
>         -Krzysztof
>
>
>     --
>     Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>     hosted by The Linux Foundation
>     _______________________________________________
>     LLVM Developers mailing list
>     llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>     <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
>
>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
hosted by The Linux Foundation


More information about the llvm-dev mailing list