[ptr-traits] Sink several in-body method definitions to be out-of-line
authorChandler Carruth <chandlerc@gmail.com>
Tue, 29 Dec 2015 09:24:42 +0000 (09:24 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 29 Dec 2015 09:24:42 +0000 (09:24 +0000)
commit5bfe3bbc4729db3672eb33b34ea6770c36c8d372
treec08a190a1cd4ecec40427d895c67dfc341959355
parentf79435efbed8ec33e851c2154447c3f6c64e3296
[ptr-traits] Sink several in-body method definitions to be out-of-line
inline definitions after the mutually recursive pair of types have been
defined. The two types mutually recurse specifically through
abstractions that require pointer traits which makes this kind of mutual
recursion especially tricky to get right in terms of ordering.

This is part of a series of patches to allow LLVM to check for complete
pointee types when computing its pointer traits. This is absolutely
necessary to get correct (or reproducible) results for things like how
many low bits are guaranteed to be zero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256551 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/ScheduleDAG.h