From 11241abca5e2a313412fed594bb9d9fa2a2057fb Mon Sep 17 00:00:00 2001 From: Sirish Pande Date: Wed, 15 Feb 2012 18:22:18 +0000 Subject: Optimize redundant sign extends and negation of predicates git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150601 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Hexagon/HexagonImmediates.td | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'lib/Target/Hexagon/HexagonImmediates.td') diff --git a/lib/Target/Hexagon/HexagonImmediates.td b/lib/Target/Hexagon/HexagonImmediates.td index 1e3fcb8..0422a43 100644 --- a/lib/Target/Hexagon/HexagonImmediates.td +++ b/lib/Target/Hexagon/HexagonImmediates.td @@ -52,12 +52,12 @@ def s10Imm : Operand { let PrintMethod = "printHexagonImmOperand"; } -def s8Imm : Operand { +def s9Imm : Operand { // For now, we use a generic print function for all operands. let PrintMethod = "printHexagonImmOperand"; } -def s9Imm : Operand { +def s8Imm : Operand { // For now, we use a generic print function for all operands. let PrintMethod = "printHexagonImmOperand"; } @@ -197,6 +197,11 @@ def u2Imm : Operand { let PrintMethod = "printHexagonImmOperand"; } +def u1Imm : Operand { + // For now, we use a generic print function for all operands. + let PrintMethod = "printHexagonImmOperand"; +} + def n8Imm : Operand { // For now, we use a generic print function for all operands. let PrintMethod = "printHexagonImmOperand"; @@ -207,6 +212,11 @@ def m6Imm : Operand { let PrintMethod = "printHexagonImmOperand"; } +def nOneImm : Operand { + // For now, we use a generic print function for all operands. + let PrintMethod = "printHexagonNOneImmOperand"; +} + // // Immediate predicates // @@ -489,3 +499,10 @@ def n8ImmPred : PatLeaf<(i32 imm), [{ int64_t v = (int64_t)N->getSExtValue(); return (-255 <= v && v <= 0); }]>; + +def nOneImmPred : PatLeaf<(i32 imm), [{ + // nOneImmPred predicate - True if the immediate is -1. + int64_t v = (int64_t)N->getSExtValue(); + return (-1 == v); +}]>; + -- cgit v1.1