[llvm] d549493 - [NFCI][X86] Mark a few lately-added system instructions as such for Scheduling purposes
Roman Lebedev via llvm-commits
llvm-commits at lists.llvm.org
Sat May 8 15:07:30 PDT 2021
Author: Roman Lebedev
Date: 2021-05-09T01:07:07+03:00
New Revision: d5494931f2acd6a5b3ca349ed54813226b0c9040
URL: https://github.com/llvm/llvm-project/commit/d5494931f2acd6a5b3ca349ed54813226b0c9040
DIFF: https://github.com/llvm/llvm-project/commit/d5494931f2acd6a5b3ca349ed54813226b0c9040.diff
LOG: [NFCI][X86] Mark a few lately-added system instructions as such for Scheduling purposes
Added:
Modified:
llvm/lib/Target/X86/X86InstrInfo.td
llvm/lib/Target/X86/X86InstrSystem.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86InstrInfo.td b/llvm/lib/Target/X86/X86InstrInfo.td
index 8b1dbb8a763b..ff9dd0f166fa 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.td
+++ b/llvm/lib/Target/X86/X86InstrInfo.td
@@ -2962,14 +2962,15 @@ let Uses = [EAX], SchedRW = [WriteSystem] in
//===----------------------------------------------------------------------===//
// SERIALIZE Instruction
//
-def SERIALIZE : I<0x01, MRM_E8, (outs), (ins), "serialize",
- [(int_x86_serialize)]>, PS,
- Requires<[HasSERIALIZE]>;
+let SchedRW = [WriteSystem] in
+ def SERIALIZE : I<0x01, MRM_E8, (outs), (ins), "serialize",
+ [(int_x86_serialize)]>, PS,
+ Requires<[HasSERIALIZE]>;
//===----------------------------------------------------------------------===//
// TSXLDTRK - TSX Suspend Load Address Tracking
//
-let Predicates = [HasTSXLDTRK] in {
+let Predicates = [HasTSXLDTRK], SchedRW = [WriteSystem] in {
def XSUSLDTRK : I<0x01, MRM_E8, (outs), (ins), "xsusldtrk",
[(int_x86_xsusldtrk)]>, XD;
def XRESLDTRK : I<0x01, MRM_E9, (outs), (ins), "xresldtrk",
@@ -2979,7 +2980,7 @@ let Predicates = [HasTSXLDTRK] in {
//===----------------------------------------------------------------------===//
// UINTR Instructions
//
-let Predicates = [HasUINTR, In64BitMode] in {
+let Predicates = [HasUINTR, In64BitMode], SchedRW = [WriteSystem] in {
def UIRET : I<0x01, MRM_EC, (outs), (ins), "uiret",
[]>, XS;
def CLUI : I<0x01, MRM_EE, (outs), (ins), "clui",
diff --git a/llvm/lib/Target/X86/X86InstrSystem.td b/llvm/lib/Target/X86/X86InstrSystem.td
index eb8740896e5d..32b00f52096b 100644
--- a/llvm/lib/Target/X86/X86InstrSystem.td
+++ b/llvm/lib/Target/X86/X86InstrSystem.td
@@ -47,15 +47,12 @@ let Uses = [EFLAGS] in
def INTO : I<0xce, RawFrm, (outs), (ins), "into", []>, Requires<[Not64BitMode]>;
def INT3 : I<0xcc, RawFrm, (outs), (ins), "int3", [(int_x86_int (i8 3))]>;
-} // SchedRW
def UBSAN_UD1 : PseudoI<(outs), (ins i32imm:$kind), [(ubsantrap (i32 timm:$kind))]>;
// The long form of "int $3" turns into int3 as a size optimization.
// FIXME: This doesn't work because InstAlias can't match immediate constants.
//def : InstAlias<"int\t$3", (INT3)>;
-let SchedRW = [WriteSystem] in {
-
def INT : Ii8<0xcd, RawFrm, (outs), (ins u8imm:$trap), "int\t$trap",
[(int_x86_int timm:$trap)]>;
More information about the llvm-commits
mailing list