Chris Lattner
4054edc567
* Define some operators on PointerVal and PVS's
...
* Nodes can determine whether they are foldable with another node
* Rename NewDSNode to AllocDSNode
* The Function graph breaks up all of the node types into individual
vectors to alloc fast access when you are looking for a particular type
of node. Simplifies much code.
llvm-svn: 2009
2002-03-28 17:48:41 +00:00
Cameron Buschardt
6ca2f4e859
Rename constructor function
...
llvm-svn: 2006
2002-03-27 23:27:45 +00:00
Chris Lattner
4defbc34ff
* Add a nice utility method to DSNode
...
* Export interface to tell whether an alloc node represent a malloc or alloca
* Add the concept of a "critical" shadow node
llvm-svn: 2000
2002-03-27 19:41:45 +00:00
Chris Lattner
e01e339e93
Allow isa<DSNode>(..)
...
Simplification routines return true on change
llvm-svn: 1996
2002-03-27 00:52:57 +00:00
Chris Lattner
1026adab40
New header file for datastructure analysis
...
llvm-svn: 1993
2002-03-26 22:38:45 +00:00
Chris Lattner
fecabeab3c
Change uses of Method to Function
...
Change uses of methodArgument to FunctionArgument
llvm-svn: 1988
2002-03-26 17:49:55 +00:00
Chris Lattner
5295e0fdcc
Remove unneccesary forward declarations for classes
...
llvm-svn: 1987
2002-03-26 17:49:00 +00:00
Chris Lattner
a874026838
Transform uses of Method into uses of Function.
...
Rename MethodArgument to FunctionArgument
Fix some _really_ out of date comments
llvm-svn: 1986
2002-03-26 17:48:08 +00:00
Chris Lattner
9e84a283e3
Allow clients to use FunctionType as well as MethodType for now
...
llvm-svn: 1985
2002-03-26 17:46:41 +00:00
Vikram S. Adve
9722a4b6e9
Refix bug: Add back method MachineCodeForInstruction::dropAllReferences.
...
llvm-svn: 1980
2002-03-24 03:58:02 +00:00
Vikram S. Adve
0a68a60e95
Fix padding when allocating local variables on stack.
...
llvm-svn: 1979
2002-03-24 03:57:38 +00:00
Vikram S. Adve
aaad217cc1
Add methods to support type inquiry. Rename TmpInstruction values.
...
llvm-svn: 1978
2002-03-24 03:56:55 +00:00
Vikram S. Adve
463af87e8c
Change treeRoots data structure to make enumeration deterministic.
...
Also, add a flag to marked nodes that do not need code because they
have been folded into the user (parent in the BURG tree).
llvm-svn: 1963
2002-03-24 03:25:17 +00:00
Vikram S. Adve
1f5e8f93cc
Major overhaul to support arbitrary mixed array and structure indices.
...
Also moved to the Scalar/ directory and renamed to "MultiDim".
llvm-svn: 1961
2002-03-24 03:21:18 +00:00
Chris Lattner
c481e92886
Rename Method to Function
...
llvm-svn: 1957
2002-03-23 22:51:58 +00:00
Chris Lattner
6298cccfb9
Remove extranous forward decl
...
llvm-svn: 1956
2002-03-23 22:48:21 +00:00
Chris Lattner
418a519513
Remove unneccesary forward definitions
...
llvm-svn: 1955
2002-03-23 22:48:07 +00:00
Chris Lattner
9bb81deeb2
Add transition header file
...
llvm-svn: 1954
2002-03-23 22:47:43 +00:00
Chris Lattner
6cfb9cf484
Update documentation, rename Method to Function, move typedef to Value.h for now.
...
llvm-svn: 1953
2002-03-23 22:47:28 +00:00
Chris Lattner
e57136e0bf
Change Method to Function
...
llvm-svn: 1952
2002-03-23 22:46:51 +00:00
Chris Lattner
1ff9888023
Add transition typedef to Function
...
llvm-svn: 1951
2002-03-23 21:59:53 +00:00
Vikram S. Adve
d0e5520726
New pass to convert Convert multi-dimensional
...
array references into 1-D references.
llvm-svn: 1950
2002-03-23 20:46:18 +00:00
Vikram S. Adve
cae64b9e24
Moved to Scalar/ directory.
...
llvm-svn: 1949
2002-03-23 20:44:37 +00:00
Chris Lattner
e8057176ec
* Make AllocationInst ctor protected
...
* Move AllocationInst ctor to iMemory.cpp
* AllocationInst's always have one operand, even if it is a uint 1
llvm-svn: 1938
2002-03-21 22:37:01 +00:00
Chris Lattner
7b3dc0948b
Remove a misguided API extension
...
llvm-svn: 1926
2002-03-21 05:46:43 +00:00
Chris Lattner
e3bca2be3b
Allow implementation of all HANDLE_*_INST macros at once by defining HANDLE_INST
...
llvm-svn: 1919
2002-03-19 05:51:18 +00:00
Vikram S. Adve
2587f1aca7
New pass to convert Convert multi-dimensional
...
array references into 1-D references.
llvm-svn: 1918
2002-03-19 02:10:34 +00:00
Vikram S. Adve
aae5fcc0ca
Big bug fix: killed uses were being inserted instead of erased!
...
Also added a set of debug options.
llvm-svn: 1917
2002-03-19 00:59:08 +00:00
Chris Lattner
456d7bea78
Initial checkin of InstVisitor class
...
llvm-svn: 1916
2002-03-18 19:07:42 +00:00
Chris Lattner
4af1704877
Add isa,cast,dyncast support for AllocationInst.
...
llvm-svn: 1915
2002-03-18 05:00:51 +00:00
Vikram S. Adve
6ea96e596c
Added function computeOffsetforLocalVar to check how big the
...
offset-from-FP will be before allocating space for a local variable.
llvm-svn: 1900
2002-03-18 03:23:29 +00:00
Vikram S. Adve
abd6592e16
Use vector for machine instructions in GetInstructionsByRule.
...
llvm-svn: 1899
2002-03-18 03:20:46 +00:00
Vikram S. Adve
6e25a66e75
Added machine-independent value for INVALID_MACHINE_OPCODE.
...
Just cosmetic changes otherwise.
llvm-svn: 1898
2002-03-18 03:19:38 +00:00
Vikram S. Adve
4d3248ddc4
Add function getRegClassIDOfType.
...
getRegClassIDOfValue is now just a wrapper around this.
llvm-svn: 1897
2002-03-18 03:18:28 +00:00
Vikram S. Adve
778410c47a
Bug fix in setting CC register.
...
Also use distinct names for the three types of SetMachineOperand
to avoid painful overloading problems and errors.
llvm-svn: 1894
2002-03-18 03:10:17 +00:00
Chris Lattner
4f4609a284
Convert the top line of the header from .cpp style to .h style.
...
llvm-svn: 1884
2002-03-17 21:16:22 +00:00
Chris Lattner
889b1e5b00
Fix bug: test/Regression/Other/2002-03-11-ConstPropCrash.ll
...
llvm-svn: 1858
2002-03-11 22:11:07 +00:00
Chris Lattner
b44f81b987
* Add new method localLookup
...
* SymbolTable::remove(Value *N) checks to see if we are internally
inconsistent before looking for a type plane (caused a crash)
* insertEntry now does a local lookup instead of a global lookup, which was
causing an infinite loop in the renamer logic.
* Added assertions to make sure stuff stays happy
* Now the linker correctly links the SPECINT2000 mcf benchmark
llvm-svn: 1840
2002-03-08 20:26:17 +00:00
Chris Lattner
e7204f3c24
Fix typo in comment
...
llvm-svn: 1834
2002-03-08 18:38:08 +00:00
Chris Lattner
0f0ed63279
Clean up call graph, add comments, and fix test/Regression/Other/2002-01-31-CallGraph.ll
...
llvm-svn: 1828
2002-03-06 20:19:35 +00:00
Chris Lattner
5cea52a4d5
Move callgraph printing out of writer.h into callgraph.h
...
llvm-svn: 1824
2002-03-06 17:59:45 +00:00
Chris Lattner
4830f16b6e
Pull Callgraph out of the cfg namespace
...
llvm-svn: 1821
2002-03-06 17:39:28 +00:00
Chris Lattner
962e012ad5
Take CallGraph out of the CFG namespace. It has nothing to do with CFGs
...
llvm-svn: 1820
2002-03-06 17:16:43 +00:00
Chris Lattner
e2383e8592
Change over to use new style pass mechanism, now passes only expose small
...
creation functions in their public header file, unless they can help it.
llvm-svn: 1816
2002-02-26 21:46:54 +00:00
Chris Lattner
3ca03295c4
Expose verifier for method and module, and accept constant structures
...
llvm-svn: 1814
2002-02-26 21:38:48 +00:00
Chris Lattner
1b9b843452
Move ProfilePaths class into ProfilePaths library, only expose a creation function
...
llvm-svn: 1812
2002-02-26 20:04:59 +00:00
Anand Shukla
47588b8119
Initial check in of header file for profile-paths pass
...
llvm-svn: 1801
2002-02-26 18:43:03 +00:00
Chris Lattner
b10862d793
Make it compile with GCC 3.0.4
...
llvm-svn: 1786
2002-02-24 23:01:21 +00:00
Chris Lattner
5ece03aed8
Genericize the ReversePostOrderIterator.
...
llvm-svn: 1785
2002-02-24 21:48:59 +00:00
Chris Lattner
9942a79fcd
Modernize verifier interface
...
llvm-svn: 1780
2002-02-20 17:54:35 +00:00