[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