[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
Mon Jan 22 01:30:16 PST 2018


chandlerc marked 3 inline comments as done.
chandlerc added a comment.

Thanks Matthias and Eric!

After a discussion on IRC, the general conclusion I came to is that let's try this as-is with a clean machine module pass. If we get reports of issues, it should be pretty straight forward to hack it up to use machine function passes instead, but it seems quite a bit cleaner as-is, and everyone seems very hopeful that this will not be an issue in practice. (And none of the testing we've done so far indicate any issues with memory consumption.)

Seems like this has pretty good consensus now (Matthias, Rafael, several others). I'm planning to land this first thing tomorrow morning (west coast US time) and then will start working on backports to release branches.

Thanks again everyone, especially those who helped author large parts of this. Will of course keep an eye out for follow-ups or other issues.



================
Comment at: llvm/include/llvm/CodeGen/TargetPassConfig.h:414
+  /// that emit MI directly and bypass all other machine passes.
+  virtual void addEmitPass() {}
+
----------------
MatzeB wrote:
> I find the name `addEmitPass()` misleading as it isn't adding the assembly emission passes. The best bad name I can think of right now is `addPreEmit2()`, in the spirit of the existing `addPreSched2()` callback...
I suspect the right thing to do is to change the name of `addPreEmitPass` to something more representative of reality and document that correctly. Then we can use the obvious name of `addPreEmitPass`.

But I'd prefer to do the name shuffling of *existing* APIs in a follow-up patch. I've used `addPreEmitPass2` here even though I really dislike that name, and left a FIXME.


Repository:
  rL LLVM

https://reviews.llvm.org/D41723





More information about the llvm-commits mailing list