diff options
author | Chris Lattner <sabre@nondot.org> | 2010-09-21 20:31:19 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-09-21 20:31:19 +0000 |
commit | 52a261b3c1391c5fec399ddeb3fc6ee9541e8790 (patch) | |
tree | 800a9930728ffcc9d6f9a371dce4420ba7828c8c /include | |
parent | 7c727072168c55493ec362e254af1cd740d7eaf2 (diff) | |
download | llvm-52a261b3c1391c5fec399ddeb3fc6ee9541e8790.tar.gz llvm-52a261b3c1391c5fec399ddeb3fc6ee9541e8790.tar.bz2 llvm-52a261b3c1391c5fec399ddeb3fc6ee9541e8790.tar.xz |
fix a long standing wart: all the ComplexPattern's were being
passed the root of the match, even though only a few patterns
actually needed this (one in X86, several in ARM [which should
be refactored anyway], and some in CellSPU that I don't feel
like detangling). Instead of requiring all ComplexPatterns to
take the dead root, have targets opt into getting the root by
putting SDNPWantRoot on the ComplexPattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114471 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Target/TargetSelectionDAG.td | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetSelectionDAG.td b/include/llvm/Target/TargetSelectionDAG.td index 58ccfbacc6..9b996b255b 100644 --- a/include/llvm/Target/TargetSelectionDAG.td +++ b/include/llvm/Target/TargetSelectionDAG.td @@ -224,6 +224,8 @@ def SDNPMayLoad : SDNodeProperty; // May read memory, sets 'mayLoad'. def SDNPSideEffect : SDNodeProperty; // Sets 'HasUnmodelledSideEffects'. def SDNPMemOperand : SDNodeProperty; // Touches memory, has assoc MemOperand def SDNPVariadic : SDNodeProperty; // Node has variable arguments. +def SDNPWantRoot : SDNodeProperty; // ComplexPattern gets the root of match +def SDNPWantParent : SDNodeProperty; // ComplexPattern gets the parent //===----------------------------------------------------------------------===// // Selection DAG Node definitions. |