[PATCH] D49427: [x86/SLH] Major refactoring of SLH implementaiton. There are two big changes that are intertwined here:

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 17 08:15:39 PDT 2018


chandlerc created this revision.
chandlerc added reviewers: craig.topper, echristo.
Herald added subscribers: mgrang, hiraditya, mcrosier, sanjoy.

1. Extracting the tracing of predicate state through the CFG to its own function.
2. Creating a struct to manage the predicate state used throughout the pass.

Doing #1 necessitates and motivates the particular approach for #2 as
now the predicate management is spread across different functions
focused on different aspects of it. A number of simplifications then
fell out as a direct consequence.

I went with an Optional to make it more natural to construct the
MachineSSAUpdater object.

This is probably the single largest outstanding refactoring step I have.
Things get a bit more surgical from here. My current goal, beyond
generally making this maintainable long-term, is to implement several
improvements to how we do interprocedural tracking of predicate state.
But I don't want to do that until the predicate state management and
tracing is in reasonably clear state.


Repository:
  rL LLVM

https://reviews.llvm.org/D49427

Files:
  llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49427.155892.patch
Type: text/x-patch
Size: 24778 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180717/193959ec/attachment.bin>


More information about the llvm-commits mailing list