Go to file
Chandler Carruth 2482fe0b52 [PM] Sink the reference vs. value decision for IR units out of the
templated interface.

So far, every single IR unit I can come up with has address-identity.
That is, when two units of IR are both active in LLVM, their addresses
will be distinct of the IR is distinct. This is clearly true for
Modules, Functions, BasicBlocks, and Instructions. It turns out that the
only practical way to make the CGSCC stuff work the way we want is to
make it true for SCCs as well. I expect this pattern to continue.

When first designing the pass manager code, I kept this dimension of
freedom in the type parameters, essentially allowing for a wrapper-type
whose address did not form identity. But that really no longer makes
sense and is making the code more complex or subtle for no gain. If we
ever have an actual use case for this, we can figure out what makes
sense then and there. It will be better because then we will have the
actual example in hand.

While the simplifications afforded in this patch are fairly small
(mostly sinking the '&' out of many type parameters onto a few
interfaces), it would have become much more pronounced with subsequent
changes. I have a sequence of changes that will completely remove the
code duplication that currently exists between all of the pass managers
and analysis managers. =] Should make things much cleaner and avoid bug
fixing N times for the N pass managers.

llvm-svn: 225723
2015-01-12 22:53:31 +00:00
clang Reimplement -fsanitize-recover family of flags. 2015-01-12 22:39:12 +00:00
clang-tools-extra Make LoopConvert work with containers that are used like arrays. 2015-01-12 13:17:56 +00:00
compiler-rt [dfsan] Export dfsan_get_label_info function with C linkage. 2015-01-12 20:40:30 +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 Use amdgcn triple for SI+ GPUs 2015-01-06 20:42:12 +00:00
libcxx Fix vexing parse in test. 2015-01-12 15:56:41 +00:00
libcxxabi Fix some formatting I messed up in r225187. 2015-01-05 19:31:59 +00:00
lld Remove CMake standalone build configuration 2015-01-12 21:41:10 +00:00
lldb Add support for character option types. 2015-01-12 20:44:02 +00:00
llgo [llgo] irgen: generate switch instructions 2015-01-08 07:49:28 +00:00
llvm [PM] Sink the reference vs. value decision for IR units out of the 2015-01-12 22:53:31 +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 Check assert before the instruction that uses the assumption checked. 2015-01-10 07:40:39 +00:00