summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
diff options
context:
space:
mode:
authorEric Liu <ioeric@google.com>2017-10-26 10:38:14 +0000
committerEric Liu <ioeric@google.com>2017-10-26 10:38:14 +0000
commit826b7832140bda013140d6bcb370331f64f85823 (patch)
treec82623ad9623d7915bfd7af816b78af3c149b0eb /llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
parentb560a9a1b83523e16c16dfe430aa5f46fd958de5 (diff)
downloadbcm5719-llvm-826b7832140bda013140d6bcb370331f64f85823.tar.gz
bcm5719-llvm-826b7832140bda013140d6bcb370331f64f85823.zip
[Tooling] A new framework for executing clang frontend actions.
Summary: This defines a `clang::tooling::ToolExecutor` interface that can be extended to support different execution plans including standalone execution on a given set of TUs or parallel execution on all TUs in a codebase. In order to enable multiprocessing execution, tool actions are expected to output result into a `ToolResults` interface provided by executors. The `ToolResults` interface abstracts how results are stored e.g. in-memory for standalone executions or on-disk for large-scale execution. New executors can be registered as `ToolExecutorPlugin`s via the `ToolExecutorPluginRegistry`. CLI tools can use `createExecutorFromCommandLineArgs` to create a specific registered executor according to the command-line arguments. This patch also implements `StandaloneToolExecutor` which has the same behavior as the current `ClangTool` interface, i.e. execute frontend actions on a given set of TUs. At this point, it's simply a wrapper around `ClangTool` at this point. This is still experimental but expected to replace the existing `ClangTool` interface so that specific tools would not need to worry about execution. Reviewers: klimek, arphaman, hokein, sammccall Reviewed By: klimek Subscribers: cfe-commits, djasper, mgorny, omtcyfz Differential Revision: https://reviews.llvm.org/D34272 llvm-svn: 316653
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud