[PATCH] D55929: Initial AArch64 SLH implementation.

Zola Bridges via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 16 07:55:31 PST 2019


zbrid added a comment.

Sounds good. I have a bit of time and can start working on updating the design doc to make it more target independent outside of the implementation section.



================
Comment at: llvm/trunk/lib/Target/AArch64/AArch64SpeculationHardening.cpp:411
+    // Only harden loaded values or addresses used in loads.
+    if (!MI.mayLoad())
+      continue;
----------------
kristof.beyls wrote:
> zbrid wrote:
> > Right now, this masks after every load in a program. Is one of the future optimizations you mention in the comment in this file to mask only after loads that are depended upon by later non-data invariant operations?
> Rereading the FIXMEs I've written in this function: no, that is not recorded as a potential future optimization.
> Out of interest, is this optimization described in the design document at https://llvm.org/docs/SpeculativeLoadHardening.html somewhere?
> I haven't thought about that optimization in detail yet and it seems a bit unclear to me why it is always safe to perform such an optimization.
I was trying to describe this section and the following section which is a bit different than what I said. Sorry about that.

https://llvm.org/docs/SpeculativeLoadHardening.html#loads-folded-into-data-invariant-operations-can-be-hardened-after-the-operation

I'm not sure if the assumptions for those implementation detail sections hold for ARM. 


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55929/new/

https://reviews.llvm.org/D55929





More information about the llvm-commits mailing list