summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Osborne <richard@xmos.com>2010-02-23 18:13:38 +0000
committerRichard Osborne <richard@xmos.com>2010-02-23 18:13:38 +0000
commitf81db146b4669cfb7ebabd3528c7e8b4dd96b7dd (patch)
tree2e77beb69ab4823c24aa98ec5078bc2af0530b11
parent3ac46ccdff9a277d9a7ad8b3c2305f3cb5640441 (diff)
downloadbcm5719-llvm-f81db146b4669cfb7ebabd3528c7e8b4dd96b7dd.tar.gz
bcm5719-llvm-f81db146b4669cfb7ebabd3528c7e8b4dd96b7dd.zip
Mark unconditional branches as barriers. Found using -verify-machineinstrs
llvm-svn: 96960
-rw-r--r--llvm/lib/Target/XCore/XCoreInstrInfo.td6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/XCore/XCoreInstrInfo.td b/llvm/lib/Target/XCore/XCoreInstrInfo.td
index d702d183c3d..07d3c812ff3 100644
--- a/llvm/lib/Target/XCore/XCoreInstrInfo.td
+++ b/llvm/lib/Target/XCore/XCoreInstrInfo.td
@@ -642,7 +642,7 @@ defm RETSP : FU6_LU6<"retsp", XCoreRetsp>;
// TODO extdp, kentsp, krestsp, blat, setsr
// clrsr, getsr, kalli
-let isBranch = 1, isTerminator = 1 in {
+let isBranch = 1, isTerminator = 1, isBarrier = 1 in {
def BRBU_u6 : _FU6<
(outs),
(ins brtarget:$target),
@@ -703,7 +703,7 @@ def LDAP_lu10_ba : _FLU10<(outs),
"ldap r11, $addr",
[(set R11, (pcrelwrapper tblockaddress:$addr))]>;
-let isCall=1,
+let isCall=1, isBarrier = 1,
// All calls clobber the link register and the non-callee-saved registers:
Defs = [R0, R1, R2, R3, R11, LR] in {
def BL_u10 : _FU10<
@@ -776,7 +776,7 @@ def CLZ_l2r : _FL2R<(outs GRRegs:$dst), (ins GRRegs:$src),
// TODO edu, eeu, waitet, waitef, freer, tstart, msync, mjoin, syncr, clrtp
// setdp, setcp, setv, setev, kcall
// dgetreg
-let isBranch=1, isIndirectBranch=1, isTerminator=1 in
+let isBranch=1, isIndirectBranch=1, isTerminator=1, isBarrier = 1 in
def BAU_1r : _F1R<(outs), (ins GRRegs:$addr),
"bau $addr",
[(brind GRRegs:$addr)]>;
OpenPOWER on IntegriCloud