aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Mips/MipsInstrInfo.td
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2013-02-15 21:20:45 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2013-02-15 21:20:45 +0000
commitdc2f79274021a590d6b72acd741117068c3e49bd (patch)
tree8ea5c2d174b3bb4aad8828ecc135550391333e95 /lib/Target/Mips/MipsInstrInfo.td
parent79cd4118090a3c0bc80cafc699a51abf1d6299f3 (diff)
downloadexternal_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.td8
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