[PATCH] D49071: Enable lowering of llvm.speculation_safe_value to DSB/ISB pair.

Kristof Beyls via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 9 04:42:42 PDT 2018


kristof.beyls created this revision.
Herald added a reviewer: javed.absar.
Herald added a subscriber: llvm-commits.

This is part of implementing a technique to mitigate against Spectre v1,
similar in spirit to what has been proposed by Chandler for X86_64 at
http://lists.llvm.org/pipermail/llvm-dev/2018-March/122085.html.

This patch enables not tracking miss-speculation status, but instead
using a more heavy weight DSB + ISB barrier to implement the semantics
of the llvm.speculation_safe_value intrinsic. This may be beneficial
e.g. when only an infrequently executed part of the code needs to be
protected using manually inserted intrinsics.


Repository:
  rL LLVM

https://reviews.llvm.org/D49071

Files:
  lib/Target/AArch64/AArch64InstrInfo.cpp
  lib/Target/AArch64/AArch64SpeculationHardening.cpp
  test/CodeGen/AArch64/speculation-hardening.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49071.154573.patch
Type: text/x-patch
Size: 5568 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180709/ac238b1e/attachment.bin>


More information about the llvm-commits mailing list