Reapply "[IR] Move optional data in llvm::Function into a hungoff uselist"
authorVedant Kumar <vsk@apple.com>
Sat, 19 Dec 2015 08:29:51 +0000 (08:29 +0000)
committerVedant Kumar <vsk@apple.com>
Sat, 19 Dec 2015 08:29:51 +0000 (08:29 +0000)
commitd481752e682b401214af403d18aa5ad658de572a
tree9149b3e3cb168020db2991de65edadef847180ca
parent2ee5c4db1b8ba54798c42e9a0ff40695d9e83b17
Reapply "[IR] Move optional data in llvm::Function into a hungoff uselist"

Make personality functions, prefix data, and prologue data hungoff
operands of Function.

This is based on the email thread "[RFC] Clean up the way we store
optional Function data" on llvm-dev.

Thanks to sanjoyd, majnemer, rnk, loladiro, and dexonsmith for feedback!

Includes a fix to scrub value subclass data in dropAllReferences.

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

llvm-svn: 256093
llvm/include/llvm/IR/Function.h
llvm/include/llvm/IR/User.h
llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
llvm/lib/IR/AsmWriter.cpp
llvm/lib/IR/Function.cpp
llvm/lib/IR/LLVMContextImpl.h
llvm/lib/IR/TypeFinder.cpp
llvm/lib/Transforms/IPO/GlobalDCE.cpp