[all-commits] [llvm/llvm-project] 5c5cf8: [MemorySSA] Moving at the end often means before t...
Alina Sbirlea via All-commits
all-commits at lists.llvm.org
Wed Nov 20 17:13:21 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 5c5cf899ef2fda1d3306b1e5c384ae062b80b672
https://github.com/llvm/llvm-project/commit/5c5cf899ef2fda1d3306b1e5c384ae062b80b672
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2019-11-20 (Wed, 20 Nov 2019)
Changed paths:
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
A llvm/test/Analysis/MemorySSA/pr44027.ll
Log Message:
-----------
[MemorySSA] Moving at the end often means before terminator.
Moving accesses in MemorySSA at InsertionPlace::End, when an instruction is
moved into a block, almost always means insert at the end of the block, but
before the block terminator. This matters when the block terminator is a
MemoryAccess itself (an invoke), and the insertion must be done before
the terminator for the update to be correct.
Insert an additional position: InsertionPlace:BeforeTerminator and update
current usages where this applies.
Resolves PR44027.
More information about the All-commits
mailing list