[PATCH] D59827: [slh] x86 impl of ARM instrinsic for SLH
Zola Bridges via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 26 10:52:24 PDT 2019
zbrid created this revision.
zbrid added reviewers: chandlerc, kristof.beyls, aaron.ballman, devinj.jeanpierre.
Herald added subscribers: llvm-commits, cfe-commits, jdoerfert, jfb, aheejin, hiraditya, javed.absar, dschuff.
Herald added projects: clang, LLVM.
This is similar to the work Kristof did for ARM here: https://reviews.llvm.org/D49072
For now, I have only implemented the version that lowers the intrinsic using an LFENCE. I'm workign on a version that can be lowered as an LFENCE or lowered using the control flow speculation available, so users have the option just as they do in the ARM patch.
This is intended to add to the discussion rather than be a definitive patch relating to the way we will handle spot mitigations as far as the final API/implementation in LLVM goes. Any comments about the API, the way implemented this, or anything else are welcome.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D59827
Files:
clang/include/clang/Basic/Builtins.def
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/include/clang/Sema/Sema.h
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/Frontend/InitPreprocessor.cpp
clang/lib/Sema/SemaChecking.cpp
clang/test/CodeGen/builtin-speculation-safe-value.c
clang/test/Preprocessor/init.c
llvm/include/llvm/CodeGen/ISDOpcodes.h
llvm/include/llvm/IR/Intrinsics.td
llvm/include/llvm/IR/IntrinsicsX86.td
llvm/include/llvm/Target/TargetSelectionDAG.td
llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h
llvm/lib/Target/X86/X86InstrInfo.td
llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
llvm/test/CodeGen/X86/speculative-load-hardening-intrinsic.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59827.192295.patch
Type: text/x-patch
Size: 23641 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190326/b098121a/attachment-0001.bin>
More information about the llvm-commits
mailing list