diff options
| author | Nirav Dave <niravd@google.com> | 2017-05-10 19:53:41 +0000 |
|---|---|---|
| committer | Nirav Dave <niravd@google.com> | 2017-05-10 19:53:41 +0000 |
| commit | a38c049fc5c7db8e48c5f57122f62a8d62ea467b (patch) | |
| tree | f53bd3be9f986d98742c0d89f3fc5c3d30aa7219 /llvm/include | |
| parent | f69a7c306bd81d189b0d9441af311dd52ea3dd36 (diff) | |
| download | bcm5719-llvm-a38c049fc5c7db8e48c5f57122f62a8d62ea467b.tar.gz bcm5719-llvm-a38c049fc5c7db8e48c5f57122f62a8d62ea467b.zip | |
[SDAG] Relax conditions under stores of loaded values can be merged
Summary:
Allow consecutive stores whose values come from consecutive loads to
merged in the presense of other uses of the loads. Previously this was
disallowed as in general the merged load cannot be shared with the
other uses. Merging N stores into 1 may cause as many as N redundant
loads. However in the context of caching this should have neglible
affect on memory pressure and reduce instruction count making it
almost always a win.
Fixes PR32086.
Reviewers: spatel, jyknight, andreadb, hfinkel, efriedma
Reviewed By: efriedma
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D30471
llvm-svn: 302712
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/CodeGen/ISDOpcodes.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/include/llvm/CodeGen/ISDOpcodes.h b/llvm/include/llvm/CodeGen/ISDOpcodes.h index f2a9a9f73ca..e00668cb791 100644 --- a/llvm/include/llvm/CodeGen/ISDOpcodes.h +++ b/llvm/include/llvm/CodeGen/ISDOpcodes.h @@ -44,6 +44,10 @@ namespace ISD { /// EntryToken - This is the marker used to indicate the start of a region. EntryToken, + /// DummyNode - Temporary node for node replacement. These nodes + /// should not persist beyond their introduction. + DummyNode, + /// TokenFactor - This node takes multiple tokens as input and produces a /// single token result. This is used to represent the fact that the operand /// operators are independent of each other. |

