diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2015-02-14 12:17:42 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2015-02-14 12:17:42 +0000 |
commit | 608e665946afc2b89050fcf0b99070db2c006bee (patch) | |
tree | d332f023fbc1365c9129fe463cb61d4147ac16ec /lib/Transforms/Scalar/EarlyCSE.cpp | |
parent | ec304151b74f9254d7029ee4d197ce1f7cbe501a (diff) |
Diffstat (limited to 'lib/Transforms/Scalar/EarlyCSE.cpp')
-rw-r--r-- | lib/Transforms/Scalar/EarlyCSE.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/EarlyCSE.cpp b/lib/Transforms/Scalar/EarlyCSE.cpp index 394b0d3de7bd..969b9a8f8df1 100644 --- a/lib/Transforms/Scalar/EarlyCSE.cpp +++ b/lib/Transforms/Scalar/EarlyCSE.cpp @@ -480,6 +480,9 @@ bool EarlyCSE::processNode(DomTreeNode *Node) { // Ignore volatile loads. if (!LI->isSimple()) { LastStore = nullptr; + // Don't CSE across synchronization boundaries. + if (Inst->mayWriteToMemory()) + ++CurrentGeneration; continue; } |