Go to file
Chandler Carruth 628503e4d4 [PM] Add a utility to the new pass manager for generating a pass which
is a no-op other than requiring some analysis results be available.

This can be used in real pass pipelines to force the usually lazy
analysis running to eagerly compute something at a specific point, and
it can be used to test the pass manager infrastructure (my primary use
at the moment).

I've also added bit of pipeline parsing magic to support generating
these directly from the opt command so that you can directly use these
when debugging your analysis. The syntax is:

  require<analysis-name>

This can be used at any level of the pass manager. For example:

  cgscc(function(require<my-analysis>,no-op-function))

This would produce a no-op function pass requiring my-analysis, followed
by a fully no-op function pass, both of these in a function pass manager
which is nested inside of a bottom-up CGSCC pass manager which is in the
top-level (implicit) module pass manager.

I have zero attachment to the particular syntax I'm using here. Consider
it a straw man for use while I'm testing and fleshing things out.
Suggestions for better syntax welcome, and I'll update everything based
on any consensus that develops.

I've used this new functionality to more directly test the analysis
printing rather than relying on the cgscc pass manager running an
analysis for me. This is still minimally tested because I need to have
analyses to run first! ;] That patch is next, but wanted to keep this
one separate for easier review and discussion.

llvm-svn: 225236
2015-01-06 02:10:51 +00:00
clang Allow -fsanitize-coverage=N with ubsan, clang part 2015-01-06 01:02:48 +00:00
clang-tools-extra Fixed a typo in a comment. NFC. 2014-12-19 15:37:02 +00:00
compiler-rt [ubsan] partially enable -fsanitize-coverage=N with ubsan. It will work as usual in most cases but will not dump coverage on error with -fno-sanitize-recover (that'll be a separate fix) 2015-01-06 01:31:23 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc r600: get_work_dim: Update metadata syntax for LLVM 3.6 2014-12-31 15:27:59 +00:00
libcxx [cmake/multilib] Teach libc++'s CMake build to support multilib libdir 2014-12-29 12:15:47 +00:00
libcxxabi Fix some formatting I messed up in r225187. 2015-01-05 19:31:59 +00:00
lld PECOFF: adjust the entry point on ARM NT 2015-01-04 20:26:45 +00:00
lldb More fixes to ensure if we are asked to launch a x86_64h process on darwin, that darwin-debug knows what to do and how to handle it. 2015-01-06 00:25:18 +00:00
llgo [llgo] Elide alloca for unused received values in select 2014-12-31 03:46:49 +00:00
llvm [PM] Add a utility to the new pass manager for generating a pass which 2015-01-06 02:10:51 +00:00
openmp I apologise in advance for the size of this check-in. At Intel we do 2014-10-07 16:25:50 +00:00
polly Drop all constant scheduling dimensions 2015-01-01 23:01:11 +00:00