summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/OptimizePHIs.cpp
diff options
context:
space:
mode:
authorAlina Sbirlea <asbirlea@google.com>2016-07-11 22:34:29 +0000
committerAlina Sbirlea <asbirlea@google.com>2016-07-11 22:34:29 +0000
commitcbc6ac2afd7b4837040831892ebff1ed538e13e5 (patch)
tree134064156fa5bfcdeedcbb3a4f3e15768443fc00 /llvm/lib/CodeGen/OptimizePHIs.cpp
parent3e0361710a035f000fb24d434743268fe40f4c08 (diff)
downloadbcm5719-llvm-cbc6ac2afd7b4837040831892ebff1ed538e13e5.tar.gz
bcm5719-llvm-cbc6ac2afd7b4837040831892ebff1ed538e13e5.zip
Correct ordering of loads/stores.
Summary: Aiming to correct the ordering of loads/stores. This patch changes the insert point for loads to the position of the first load. It updates the ordering method for loads to insert before, rather than after. Before this patch the following sequence: "load a[1], store a[1], store a[0], load a[2]" Would incorrectly vectorize to "store a[0,1], load a[1,2]". The correctness check was assuming the insertion point for loads is at the position of the first load, when in practice it was at the last load. An alternative fix would have been to invert the correctness check. The current fix changes insert position but also requires reordering of instructions before the vectorized load. Updated testcases to reflect the changes. Reviewers: tstellarAMD, llvm-commits, jlebar, arsenm Subscribers: mzolotukhin Differential Revision: http://reviews.llvm.org/D22071 llvm-svn: 275117
Diffstat (limited to 'llvm/lib/CodeGen/OptimizePHIs.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud