diff options
| author | Akira Hatanaka <ahatanaka@mips.com> | 2013-02-15 21:20:45 +0000 |
|---|---|---|
| committer | Akira Hatanaka <ahatanaka@mips.com> | 2013-02-15 21:20:45 +0000 |
| commit | dc2f79274021a590d6b72acd741117068c3e49bd (patch) | |
| tree | 8ea5c2d174b3bb4aad8828ecc135550391333e95 /lib/Target/Mips/MipsInstrInfo.td | |
| parent | 79cd4118090a3c0bc80cafc699a51abf1d6299f3 (diff) | |
| download | external_llvm-dc2f79274021a590d6b72acd741117068c3e49bd.zip external_llvm-dc2f79274021a590d6b72acd741117068c3e49bd.tar.gz external_llvm-dc2f79274021a590d6b72acd741117068c3e49bd.tar.bz2 | |
[mips] Split SelectAddr, which was used to match address patterns, into two
functions. Set AddedComplexity to determine the order in which patterns are
matched.
This simplifies selection of floating point loads/stores.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175300 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsInstrInfo.td')
| -rw-r--r-- | lib/Target/Mips/MipsInstrInfo.td | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Target/Mips/MipsInstrInfo.td b/lib/Target/Mips/MipsInstrInfo.td index 052e855..f37f935 100644 --- a/lib/Target/Mips/MipsInstrInfo.td +++ b/lib/Target/Mips/MipsInstrInfo.td @@ -334,7 +334,13 @@ def immZExt5 : ImmLeaf<i32, [{return Imm == (Imm & 0x1f);}]>; // Mips Address Mode! SDNode frameindex could possibily be a match // since load and store instructions from stack used it. def addr : - ComplexPattern<iPTR, 2, "SelectAddr", [frameindex], [SDNPWantParent]>; + ComplexPattern<iPTR, 2, "selectIntAddr", [frameindex], [SDNPWantParent]>; + +def addrRegImm : + ComplexPattern<iPTR, 2, "selectAddrRegImm", [frameindex], [SDNPWantParent]>; + +def addrDefault : + ComplexPattern<iPTR, 2, "selectAddrDefault", [frameindex], [SDNPWantParent]>; //===----------------------------------------------------------------------===// // Instructions specific format |
