summaryrefslogtreecommitdiff
path: root/lib/Target/MSP430/MSP430InstrInfo.td
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-05-03 13:12:58 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-05-03 13:12:58 +0000
commit824d8ddae89c83ea3c5dce9c8636133976648ce3 (patch)
treefbfaefcb0ff8b91c3de23c4cf9bb2bce6d317c91 /lib/Target/MSP430/MSP430InstrInfo.td
parent0af5af823b5e9391bf2f94e15447c5aa0168c4c8 (diff)
downloadllvm-824d8ddae89c83ea3c5dce9c8636133976648ce3.tar.gz
llvm-824d8ddae89c83ea3c5dce9c8636133976648ce3.tar.bz2
llvm-824d8ddae89c83ea3c5dce9c8636133976648ce3.tar.xz
Add direct branch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70746 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/MSP430/MSP430InstrInfo.td')
-rw-r--r--lib/Target/MSP430/MSP430InstrInfo.td18
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/Target/MSP430/MSP430InstrInfo.td b/lib/Target/MSP430/MSP430InstrInfo.td
index 2652328912..2615869dd9 100644
--- a/lib/Target/MSP430/MSP430InstrInfo.td
+++ b/lib/Target/MSP430/MSP430InstrInfo.td
@@ -126,12 +126,20 @@ let isReturn = 1, isTerminator = 1 in {
def RET : Pseudo<(outs), (ins), "ret", [(MSP430retflag)]>;
}
+let isBranch = 1, isTerminator = 1 in {
+
+// Direct branch
+let isBarrier = 1 in
+ def JMP : Pseudo<(outs), (ins brtarget:$dst),
+ "jmp\t$dst",
+ [(br bb:$dst)]>;
+
// Conditional branches
-let isBranch = 1, isTerminator = 1, Uses = [SRW] in {
-def JCC : Pseudo<(outs), (ins brtarget:$dst, cc:$cc),
- "j$cc $dst",
- [(MSP430brcond bb:$dst, imm:$cc, SRW)]>;
-} // Uses = [SRW]
+let Uses = [SRW] in
+ def JCC : Pseudo<(outs), (ins brtarget:$dst, cc:$cc),
+ "j$cc $dst",
+ [(MSP430brcond bb:$dst, imm:$cc, SRW)]>;
+} // isBranch, isTerminator
//===----------------------------------------------------------------------===//
// Call Instructions...