[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrInfo.td
Chris Lattner
lattner at cs.uiuc.edu
Fri Jul 30 19:11:03 PDT 2004
Changes in directory llvm/lib/Target/X86:
X86InstrInfo.td updated: 1.80 -> 1.81
---
Log message:
Mark barrier instructions. Execution does not fall through uncond branches
or return intructions.
---
Diffs of the changes: (+4 -2)
Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.80 llvm/lib/Target/X86/X86InstrInfo.td:1.81
--- llvm/lib/Target/X86/X86InstrInfo.td:1.80 Thu Jun 10 23:50:14 2004
+++ llvm/lib/Target/X86/X86InstrInfo.td Fri Jul 30 21:10:53 2004
@@ -169,19 +169,21 @@
let isTerminator = 1 in
let Defs = [FP0, FP1, FP2, FP3, FP4, FP5, FP6] in
def FP_REG_KILL : I<"FP_REG_KILL", 0, Pseudo>;
+
//===----------------------------------------------------------------------===//
// Control Flow Instructions...
//
// Return instruction...
-let isTerminator = 1, isReturn = 1 in
+let isTerminator = 1, isReturn = 1, isBarrier = 1 in
def RET : I<"ret", 0xC3, RawFrm>, Pattern<(retvoid)>;
// All branches are RawFrm, Void, Branch, and Terminators
let isBranch = 1, isTerminator = 1 in
class IBr<string name, bits<8> opcode> : I<name, opcode, RawFrm>;
-def JMP : IBr<"jmp", 0xE9>, Pattern<(br basicblock)>;
+let isBarrier = 1 in
+ def JMP : IBr<"jmp", 0xE9>, Pattern<(br basicblock)>;
def JB : IBr<"jb" , 0x82>, TB;
def JAE : IBr<"jae", 0x83>, TB;
def JE : IBr<"je" , 0x84>, TB, Pattern<(isVoid (unspec1 basicblock))>;
More information about the llvm-commits
mailing list