[PATCH] D41723: Introduce the "retpoline" x86 mitigation technique for variant #2 of the speculative execution vulnerabilities disclosed today, specifically identified by CVE-2017-5715, "Branch Target Injection", and is one of the two halves to Spectre..
Chandler Carruth via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 18 18:14:30 PST 2018
chandlerc updated this revision to Diff 130532.
chandlerc added a comment.
Add the `lfence` instruction to all of the speculation capture loops, both
those generated by LLVM and those generated by LLD for the PLT.
This should ensure that both Intel and AMD processors stop speculating these
loops rather than continuing to consume resources (and power) uselessly.
Repository:
rL LLVM
https://reviews.llvm.org/D41723
Files:
clang/include/clang/Driver/Options.td
clang/lib/Basic/Targets/X86.cpp
clang/lib/Basic/Targets/X86.h
clang/test/Driver/x86-target-features.c
lld/ELF/Arch/X86.cpp
lld/ELF/Arch/X86_64.cpp
lld/ELF/Config.h
lld/ELF/Driver.cpp
lld/test/ELF/i386-retpoline-nopic.s
lld/test/ELF/i386-retpoline-pic.s
lld/test/ELF/x86-64-retpoline-znow.s
lld/test/ELF/x86-64-retpoline.s
llvm/include/llvm/CodeGen/Passes.h
llvm/include/llvm/CodeGen/TargetLowering.h
llvm/include/llvm/CodeGen/TargetPassConfig.h
llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
llvm/include/llvm/InitializePasses.h
llvm/lib/CodeGen/CMakeLists.txt
llvm/lib/CodeGen/CodeGen.cpp
llvm/lib/CodeGen/IndirectBrExpandPass.cpp
llvm/lib/CodeGen/TargetPassConfig.cpp
llvm/lib/CodeGen/TargetSubtargetInfo.cpp
llvm/lib/Target/X86/CMakeLists.txt
llvm/lib/Target/X86/X86.h
llvm/lib/Target/X86/X86.td
llvm/lib/Target/X86/X86AsmPrinter.h
llvm/lib/Target/X86/X86FastISel.cpp
llvm/lib/Target/X86/X86FrameLowering.cpp
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h
llvm/lib/Target/X86/X86InstrCompiler.td
llvm/lib/Target/X86/X86InstrControl.td
llvm/lib/Target/X86/X86InstrInfo.td
llvm/lib/Target/X86/X86MCInstLower.cpp
llvm/lib/Target/X86/X86RetpolineThunks.cpp
llvm/lib/Target/X86/X86Subtarget.cpp
llvm/lib/Target/X86/X86Subtarget.h
llvm/lib/Target/X86/X86TargetMachine.cpp
llvm/test/CodeGen/X86/O0-pipeline.ll
llvm/test/CodeGen/X86/retpoline-external.ll
llvm/test/CodeGen/X86/retpoline.ll
llvm/test/Transforms/IndirectBrExpand/basic.ll
llvm/tools/opt/opt.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41723.130532.patch
Type: text/x-patch
Size: 97205 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180119/871337dd/attachment.bin>
More information about the llvm-commits
mailing list