aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Hexagon/HexagonInstrInfo.h
diff options
context:
space:
mode:
authorJyotsna Verma <jverma@codeaurora.org>2013-03-01 17:37:13 +0000
committerJyotsna Verma <jverma@codeaurora.org>2013-03-01 17:37:13 +0000
commitef94c6c85eed42d16fde51ee4415d27bb281a2ca (patch)
tree22a49c445983c67f187242e481d6f02b4afe4093 /lib/Target/Hexagon/HexagonInstrInfo.h
parentae1dbb39f7f769ac83ec2ec6a6c243c26c2aba02 (diff)
downloadexternal_llvm-ef94c6c85eed42d16fde51ee4415d27bb281a2ca.zip
external_llvm-ef94c6c85eed42d16fde51ee4415d27bb281a2ca.tar.gz
external_llvm-ef94c6c85eed42d16fde51ee4415d27bb281a2ca.tar.bz2
Hexagon: Add constant extender support framework.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176358 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Hexagon/HexagonInstrInfo.h')
-rw-r--r--lib/Target/Hexagon/HexagonInstrInfo.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/Target/Hexagon/HexagonInstrInfo.h b/lib/Target/Hexagon/HexagonInstrInfo.h
index 4e36dfb..21e6111 100644
--- a/lib/Target/Hexagon/HexagonInstrInfo.h
+++ b/lib/Target/Hexagon/HexagonInstrInfo.h
@@ -180,6 +180,17 @@ public:
unsigned getImmExtForm(const MachineInstr* MI) const;
unsigned getNormalBranchForm(const MachineInstr* MI) const;
+
+ void immediateExtend(MachineInstr *MI) const;
+ bool isConstExtended(MachineInstr *MI) const;
+ unsigned getAddrMode(const MachineInstr* MI) const;
+ bool isOperandExtended(const MachineInstr *MI,
+ unsigned short OperandNum) const;
+ unsigned short getCExtOpNum(const MachineInstr *MI) const;
+ int getMinValue(const MachineInstr *MI) const;
+ int getMaxValue(const MachineInstr *MI) const;
+ bool NonExtEquivalentExists (const MachineInstr *MI) const;
+ short getNonExtOpcode(const MachineInstr *MI) const;
private:
int getMatchingCondBranchOpcode(int Opc, bool sense) const;