[PATCH] D41879: [X86] Added support for nocf_check attribute for indirect Branch Tracking

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 11 10:09:01 PST 2018


craig.topper added inline comments.


================
Comment at: lib/Target/X86/X86InstrSystem.td:564
+let Predicates = [HasIBT] in
+  def : Pat<(X86nocf_check_calljmp), (DS_PREFIX)>;
+
----------------
I'm not sure I like feel very safe emitting the DS_PREFIX as a separate instruction. The glue won't exist after the SelectionDAG is converted to MIR so I'm not sure we would be guaranteed to keep it together.

I think I'd rather see special flavors of CALL*r/JMP*r that have a DS_PREFIX bit set in the TSFlags for their opcode and then the code emitter would know to emit the prefix. Basically what we do with LOCK and REP today. That way the instruction is one machine IR instruction that can never be separated.


Repository:
  rL LLVM

https://reviews.llvm.org/D41879





More information about the llvm-commits mailing list