This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Fix pointer offset when splitting stores from VMOVDRR
ClosedPublic

Authored by dmgreen on Oct 1 2020, 6:58 AM.

Details

Summary

We were not accounting for the pointer offset when splitting a load from a VMOVDRR node, which could lead to incorrect aliasing info. In this case it is the fneg via integer arithmetic that gives us a store->load pair that we started getting wrong.

Diff Detail

Event Timeline

dmgreen created this revision.Oct 1 2020, 6:58 AM
dmgreen requested review of this revision.Oct 1 2020, 6:58 AM
efriedma added inline comments.Oct 1 2020, 7:14 AM
llvm/lib/Target/ARM/ARMISelLowering.cpp
14556–14557

While you're here, fix this to use St->getOriginalAlign() instead of trying to mess with the computed alignment?

dmgreen updated this revision to Diff 295854.Oct 2 2020, 9:50 AM

Now using getOriginalAlignment

This revision is now accepted and ready to land.Oct 2 2020, 10:58 AM