diff options
| author | Daniel Sanders <daniel_l_sanders@apple.com> | 2017-11-13 22:26:13 +0000 |
|---|---|---|
| committer | Daniel Sanders <daniel_l_sanders@apple.com> | 2017-11-13 22:26:13 +0000 |
| commit | 87d196ca48b38f2f4503238b7d8aadebbc873571 (patch) | |
| tree | 3a4b52349dde187ff7de70dc717afe55f6a58796 /llvm/utils/TableGen/CodeGenDAGPatterns.h | |
| parent | 1bfefc1c725792108a37f4e2678eb23fb06bb92f (diff) | |
| download | bcm5719-llvm-87d196ca48b38f2f4503238b7d8aadebbc873571.tar.gz bcm5719-llvm-87d196ca48b38f2f4503238b7d8aadebbc873571.zip | |
[tablegen] Handle atomic predicates for memory type inside tablegen. NFC.
Similar to r315841, GlobalISel and SelectionDAG require different code for the
common atomic predicates due to differences in the representation.
Even without that, differences in the IR (SDNode vs MachineInstr) require
differences in the C++ predicate.
This patch moves the implementation of the common atomic predicates related to
memory type into tablegen so that it can handle these differences.
It's NFC for SelectionDAG since it emits equivalent code and it's NFC for
GlobalISel since the rules involving the relevant predicates are still
rejected by the importer.
llvm-svn: 318095
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.h')
| -rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.h b/llvm/utils/TableGen/CodeGenDAGPatterns.h index d3bb99a5a8f..3a76ab25ea7 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.h +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.h @@ -486,6 +486,8 @@ public: bool isLoad() const; // Is the desired predefined predicate for a store? bool isStore() const; + // Is the desired predefined predicate for an atomic? + bool isAtomic() const; /// Is this predicate the predefined unindexed load predicate? /// Is this predicate the predefined unindexed store predicate? |

