llvm/test/Linker
Dan Gohman e3394d4a49 When a constant's type is refined, update the constant in place
instead of cloning and RAUWing it.

 - Make AbstractTypeUser a friend of Value so that it can offer
   its subclasses a way to update a Value's type in place. This
   is better than a universally visible setType method on Value,
   and it's sufficient for the immediate need.

 - Eliminate the constant "convert" functions. This eliminates a
   lot of logic duplication, and fixes a complicated bug where a
   constant can't actually be cloned during the type refinement
   process because some of the types that its folder needs are
   half-destroyed, being in the middle of refinement themselves.

 - Move the getValType functions from being static overloaded
   functions in Constants.cpp to be members of class template
   specializations in ConstantsContext.h. This means that the
   code ends up getting instantiated twice, however it also
   makes it possible to eliminate all "convert" functions, so
   it's not a big net code size increase. And if desired, the
   duplicate instantiations could be eliminated with some
   reorganization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81861 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-15 15:58:07 +00:00
..
2002-07-17-GlobalFail.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2002-07-17-LinkTest2.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2002-08-20-ConstantExpr.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2003-01-30-LinkerRename.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2003-01-30-LinkerTypeRename.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2003-04-21-Linkage.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-04-23-LinkOnceLost.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2003-04-26-NullPtrLinkProblem.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-05-15-TypeProblem.ll Rename %S metavar to %M (clang uses %S for the basename of the test file). 2009-09-05 12:38:35 +00:00
2003-05-31-LinkerRename.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2003-06-02-TypeResolveProblem2.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2003-06-02-TypeResolveProblem.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2003-08-20-OpaqueTypeResolve.ll Rename %S metavar to %M (clang uses %S for the basename of the test file). 2009-09-05 12:38:35 +00:00
2003-08-23-GlobalVarLinking.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2003-08-23-RecursiveOpaqueTypeResolve.ll Rename %S metavar to %M (clang uses %S for the basename of the test file). 2009-09-05 12:38:35 +00:00
2003-08-24-InheritPtrSize.ll
2003-08-28-TypeResolvesGlobal2.ll Rename %S metavar to %M (clang uses %S for the basename of the test file). 2009-09-05 12:38:35 +00:00
2003-08-28-TypeResolvesGlobal3.ll Rename %S metavar to %M (clang uses %S for the basename of the test file). 2009-09-05 12:38:35 +00:00
2003-08-28-TypeResolvesGlobal.ll Rename %S metavar to %M (clang uses %S for the basename of the test file). 2009-09-05 12:38:35 +00:00
2003-10-21-ConflictingTypesTolerance.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2003-10-27-LinkOncePromote.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2003-11-18-TypeResolution.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2004-02-17-WeakStrongLinkage.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2004-05-07-TypeResolution1.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2004-05-07-TypeResolution2.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2004-12-03-DisagreeingType.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2005-02-12-ConstantGlobals-2.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2005-02-12-ConstantGlobals.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2005-12-06-AppendingZeroLengthArrays.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2006-01-19-ConstantPacked.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2006-06-15-GlobalVarAlignment.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2008-03-05-AliasReference2.ll Testcase for PR2054 2008-03-05 15:43:58 +00:00
2008-03-05-AliasReference.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2008-03-07-DroppedSection_a.ll This passes now 2008-03-10 22:34:11 +00:00
2008-03-07-DroppedSection_b.ll much simpler test case 2008-03-08 02:05:22 +00:00
2008-06-13-LinkOnceRedefinition.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2008-06-26-AddressSpace.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
2008-07-06-AliasFnDecl2.ll Testcase for PR2146 2008-07-05 23:03:46 +00:00
2008-07-06-AliasFnDecl.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2008-07-06-AliasWeakDest2.ll Add global variable to test for consistency 2008-10-15 20:22:44 +00:00
2008-07-06-AliasWeakDest.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2009-09-03-mdnode2.ll There is not any need to copy metadata while merging modules. 2009-09-03 20:35:57 +00:00
2009-09-03-mdnode.ll There is not any need to copy metadata while merging modules. 2009-09-03 20:35:57 +00:00
AppendingLinkage2.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
AppendingLinkage.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
basiclink.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
ConstantGlobals1.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
ConstantGlobals2.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
ConstantGlobals3.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
link-archive.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
link-global-to-func.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
link-messages.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
linkmdnode2.ll Link metadata. 2009-08-11 06:46:31 +00:00
linkmdnode.ll Link metadata. 2009-08-11 06:46:31 +00:00
linknamedmdnode2.ll Link NamedMDNodes. 2009-08-11 18:01:24 +00:00
linknamedmdnode.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
LinkOnce.ll Use llvm-link -S instead of using llvm-dis. 2009-09-15 15:38:31 +00:00
partial-type-refinement-link.ll When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
partial-type-refinement.ll When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
redefinition.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
testlink1.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
testlink2.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
weakextern.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00