summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/FrontendAction.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2018-07-19 11:13:58 +0000
committerChandler Carruth <chandlerc@gmail.com>2018-07-19 11:13:58 +0000
commit4b0028a3d16d83e24ae963fc417eea5cb6d99329 (patch)
treec43710ba2c28646ac5b554772330051d711294d7 /clang/lib/Frontend/FrontendAction.cpp
parentbfb900d36328469422683dd5e0bd0320532c13d3 (diff)
downloadbcm5719-llvm-4b0028a3d16d83e24ae963fc417eea5cb6d99329.tar.gz
bcm5719-llvm-4b0028a3d16d83e24ae963fc417eea5cb6d99329.zip
[x86/SLH] Major refactoring of SLH implementaiton. There are two big
changes that are intertwined here: 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. Differential Revision: https://reviews.llvm.org/D49427 llvm-svn: 337446
Diffstat (limited to 'clang/lib/Frontend/FrontendAction.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud