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 | 0e023ea02ac8e9e6f7c05094d4a9d7b2b0d70396 (patch) | |
| tree | 83c88ffdff3760eea3102afa27dd619dfcef0743 /llvm/lib/Target/CellSPU/SPUOperands.td | |
| parent | f5ab703f686679be4473705d89d93637351ead77 (diff) | |
| download | bcm5719-llvm-0e023ea02ac8e9e6f7c05094d4a9d7b2b0d70396.tar.gz bcm5719-llvm-0e023ea02ac8e9e6f7c05094d4a9d7b2b0d70396.zip | |
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.
llvm-svn: 114471
Diffstat (limited to 'llvm/lib/Target/CellSPU/SPUOperands.td')
| -rw-r--r-- | llvm/lib/Target/CellSPU/SPUOperands.td | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUOperands.td b/llvm/lib/Target/CellSPU/SPUOperands.td index e1a0358abc4..3c8b3c3442f 100644 --- a/llvm/lib/Target/CellSPU/SPUOperands.td +++ b/llvm/lib/Target/CellSPU/SPUOperands.td @@ -654,7 +654,11 @@ def memrr : Operand<iPTR> { // A-form : abs (256K LSA offset) // D-form(2): [r+I7] (7-bit signed offset + reg) -def dform_addr : ComplexPattern<iPTR, 2, "SelectDFormAddr", [], []>; -def xform_addr : ComplexPattern<iPTR, 2, "SelectXFormAddr", [], []>; -def aform_addr : ComplexPattern<iPTR, 2, "SelectAFormAddr", [], []>; -def dform2_addr : ComplexPattern<iPTR, 2, "SelectDForm2Addr", [], []>; +def dform_addr : ComplexPattern<iPTR, 2, "SelectDFormAddr", + [], [SDNPWantRoot]>; +def xform_addr : ComplexPattern<iPTR, 2, "SelectXFormAddr", + [], [SDNPWantRoot]>; +def aform_addr : ComplexPattern<iPTR, 2, "SelectAFormAddr", + [], [SDNPWantRoot]>; +def dform2_addr : ComplexPattern<iPTR, 2, "SelectDForm2Addr", + [], [SDNPWantRoot]>; |

