Go to file
Philip Reames 2b45395876 Move ownership of GCStrategy objects to LLVMContext
Note: This change ended up being slightly more controversial than expected.  Chandler has tentatively okayed this for the moment, but I may be revisiting this in the near future after we settle some high level questions.

Rather than have the GCStrategy object owned by the GCModuleInfo - which is an immutable analysis pass used mainly by gc.root - have it be owned by the LLVMContext. This simplifies the ownership logic (i.e. can you have two instances of the same strategy at once?), but more importantly, allows us to access the GCStrategy in the middle end optimizer. To this end, I add an accessor through Function which becomes the canonical way to get at a GCStrategy instance.

In the near future, this will allows me to move some of the checks from http://reviews.llvm.org/D6808 into the Verifier itself, and to introduce optimization legality predicates for some of the recent additions to InstCombine. (These will follow as separate changes.)

Differential Revision: http://reviews.llvm.org/D6811

llvm-svn: 226311
2015-01-16 20:07:33 +00:00
clang Spell 0 in an enum-appropriate way. No behavior change. 2015-01-16 19:35:01 +00:00
clang-tools-extra clang-tidy: 'size' call that could be replaced with 'empty' on STL containers 2015-01-15 15:46:58 +00:00
compiler-rt [sanitizer] Additional error checking. 2015-01-16 15:25:16 +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 Remove triple detection from cmake. 2015-01-16 02:27:17 +00:00
libcxxabi Fix abort_message.cpp for the NDK. 2015-01-16 20:00:49 +00:00
lld Split a function for readability. 2015-01-16 17:53:55 +00:00
lldb Compile fix for WIN32 2015-01-16 19:07:30 +00:00
llgo Introduce llgoi, a REPL for Go 2015-01-15 04:13:29 +00:00
llvm Move ownership of GCStrategy objects to LLVMContext 2015-01-16 20:07:33 +00:00
openmp few fixes for ittnotify iterface (used by Intel(R) VTune Amplifier) 2015-01-16 15:58:03 +00:00
polly [PM] Track an LLVM API change by switching this code to directly create 2015-01-15 10:43:18 +00:00