Commit Graph

185 Commits

Author SHA1 Message Date
Chris Lattner 22e4ca8863 There is no reason for Value to be an AbstractTypeUser. This just makes things
significantly more complete.  Instead, just make DerivedType's AbstractTypeUser's,
and make Value contain a PATypeHolder.

llvm-svn: 8828
2003-10-02 19:44:40 +00:00
Chris Lattner a38adaa88f Fix bug: Linker/2003-08-28-TypeResolvesGlobal3.ll
Use new replaceAllUsesWith stuff in a way that works even though types have not yet been propagated

llvm-svn: 8210
2003-08-29 05:37:22 +00:00
Chris Lattner 9f15812e88 Refactor code to make it useful outside of Constants.cpp
llvm-svn: 8205
2003-08-29 05:09:37 +00:00
Chris Lattner 8bd8bc8399 Make assertion more descriptive
llvm-svn: 6889
2003-06-24 22:20:19 +00:00
Chris Lattner 3789369330 This speeds up processing LLVM a _lot_, 17% in the case of loading and destroying "vortex"
llvm-svn: 5553
2003-02-13 19:46:22 +00:00
Chris Lattner 2c6abeac43 - Make Value::replaceAllUsesWith work with constants correctly. This fixes
bug FuncResolve/2002-08-19-ResolveGlobalVars.ll and gzip looks better.

llvm-svn: 4103
2002-10-09 23:12:59 +00:00
Chris Lattner 6023f638a1 - Remove Value::use_remove
llvm-svn: 4090
2002-10-09 00:25:05 +00:00
Chris Lattner 3ea0c188b7 Fix NASTY N^2 behavior that was causing the gzip benchmark to take forever to
assemble.  Now we scan the use-list from the back when removing users instead
of from the front.

llvm-svn: 4086
2002-10-08 23:46:55 +00:00
Chris Lattner 184b298edc Enable "garbage detection" of LLVM objects. Now users should be obnoxious
warnings.  If they accidentally leak LLVM Value's.

llvm-svn: 3620
2002-09-08 18:59:35 +00:00
Chris Lattner a82ee2df46 *** empty log message ***
llvm-svn: 3065
2002-07-24 22:08:53 +00:00
Chris Lattner 33422fedc2 *** empty log message ***
llvm-svn: 2813
2002-06-30 16:25:25 +00:00
Anand Shukla 8c37789a33 changes for 64bit gcc
llvm-svn: 2801
2002-06-25 22:07:38 +00:00
Chris Lattner 30ddf7f57f The contents of the SymTabValue class have been incorporated into the
Module and Function classes directly.

llvm-svn: 2356
2002-04-28 04:52:28 +00:00
Chris Lattner 6fc8c2374a Fix pure virtual function called exception!
llvm-svn: 2229
2002-04-12 18:19:45 +00:00
Chris Lattner 6e6f5be53d Move include/llvm/ValueHolderImpl.h to lib/VMCore/ValueHolderImpl.h
llvm-svn: 2156
2002-04-08 00:15:29 +00:00
Chris Lattner 3d381bb4d9 Remove some gross code by using the Value::dump method to do debug dumps
llvm-svn: 2150
2002-04-07 22:33:13 +00:00
Chris Lattner 39dabb96c2 Make the release build work
llvm-svn: 2109
2002-04-04 19:26:26 +00:00
Chris Lattner 25c8f60b0a Add an assertion to catch a misuse of replaceAllUsesWith
llvm-svn: 1924
2002-03-21 05:38:15 +00:00
Chris Lattner 67e5c29ae4 Check in fix for bug: test/Regression/Assembler/ValueRefineAbsType.ll
llvm-svn: 1582
2002-01-25 03:45:27 +00:00
Chris Lattner 7f74a56e24 Changes to build successfully with GCC 3.02
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner 25450e32c0 Add debugging to make a more useful message if a value gets constructed with a null type
llvm-svn: 1443
2001-12-13 00:41:27 +00:00
Chris Lattner 3462ae3ad7 Rename ConstPoolVal -> Constant
Rename ConstPool*   -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h

llvm-svn: 1407
2001-12-03 22:26:30 +00:00
Chris Lattner d695305ea3 Make error report a little more useful
llvm-svn: 657
2001-09-28 00:06:52 +00:00
Chris Lattner 92c15742ad Okay, make the member function work.
llvm-svn: 643
2001-09-19 14:09:25 +00:00
Chris Lattner 8c3f09e42f Remove global debug output fns that have been superceded by a member func
llvm-svn: 642
2001-09-19 14:08:53 +00:00
Chris Lattner ac128cd4c6 Fix up code a bit, remove operator<< to Assembly/Writer.h
llvm-svn: 628
2001-09-18 17:03:59 +00:00
Vikram S. Adve df6bbeb59c Added debugging support.
llvm-svn: 605
2001-09-18 12:44:41 +00:00
Chris Lattner 8d44b99844 Chris seems fond of #include <vector>. Fix these. Also convert use list in
Value to a vector instead of a list.

Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling

llvm-svn: 572
2001-09-14 16:56:32 +00:00
Chris Lattner 97d79f144c Support abstract types
Remove constant pool support

llvm-svn: 466
2001-09-07 16:57:07 +00:00
Chris Lattner f2a738cfe2 * ValueHolder now takes 3 arguments
* Added a few methods to ConstantPool
* ConstPoolVal no longer derives from Value
* Method & Module multiply inherit from SymTabValue & Value now
* Added a GetElementPtrInst::isStructSelector() method

llvm-svn: 184
2001-07-14 06:13:19 +00:00
Chris Lattner a073acb22d Changed the fundemental architecture of Operands for Instructions. Now
Operands are maintained as a vector<Use> in the User class, and operator
iterators are provided as before.  Getting an operand no longer requires
a virtual function call.

WARNING: getOperand(x) where x >= getNumOperands() will now assert instead
of returning null!

llvm-svn: 149
2001-07-07 08:36:50 +00:00
Chris Lattner 2dd58aefa5 Add a check to avoid allowing V->replaceAllUsesWith(V)
llvm-svn: 104
2001-06-29 05:25:51 +00:00
Chris Lattner 4cee8d8ffb Miscellaneous cleanups:
* Convert post to pre-increment for for loops
  * Use generic programming more
  * Use new Value::cast* instructions
  * Use new Module, Method, & BasicBlock forwarding methods
  * Use new facilities in STLExtras.h
  * Use new Instruction::isPHINode() method

llvm-svn: 96
2001-06-27 23:41:11 +00:00
Chris Lattner 874ddadf72 Updates to support
* Changes in PHI node structure

llvm-svn: 25
2001-06-11 15:04:40 +00:00
Chris Lattner 2f7c963559 Initial revision
llvm-svn: 2
2001-06-06 20:29:01 +00:00