[PATCH] D40223: [X86] Control-Flow Enforcement Technology - Shadow Stack support (LLVM side)

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 21 20:38:50 PST 2017


craig.topper added inline comments.


================
Comment at: lib/Support/Host.cpp:1264
   Features["avx512vbmi"] = HasLeaf7 && ((ECX >> 1) & 1) && HasAVX512Save;
+  Features["shstk"] = HasLeaf7 && ((ECX >> 7) & 1);
   Features["avx512vpopcntdq"] = HasLeaf7 && ((ECX >> 14) & 1) && HasAVX512Save;
----------------
This section needs to be rebased. Just make sure you put the bits in order when you do.


================
Comment at: lib/Target/X86/X86InstrInfo.td:875
+def HasSHSTK     : Predicate<"Subtarget->hasSHSTK()">,
+                             AssemblerPredicate<"FeatureSHSTK", "CET SHSTK ISA">;
+def HasIBT       : Predicate<"Subtarget->hasIBT()">,
----------------
I don't think there's any need for the AssemblerPredicates. We don't do fine grained feature enabling for the assembler.


================
Comment at: lib/Target/X86/X86InstrSystem.td:496
+    let Defs = [SSP] in {
+      def INCSSPD : I<0xAE, MRM5r, (outs), (ins GR32 : $src), "incsspd\t$src",
+                       [(int_x86_incsspd GR32 : $src)]>, XS;
----------------
Don't put spaces around the color between GR32 and $src. Same with all the places below this.


Repository:
  rL LLVM

https://reviews.llvm.org/D40223





More information about the llvm-commits mailing list