Commit Graph

11227 Commits

Author SHA1 Message Date
Vikram S. Adve
7145b98c93 Instruction selection via pattern matching on instruction trees using BURG.
llvm-svn: 231
2001-07-21 12:41:50 +00:00
Vikram S. Adve
f9db1450d8 *** empty log message ***
llvm-svn: 230
2001-07-21 12:41:01 +00:00
Vikram S. Adve
23abfdee2f Added CodeGen, LLC, and Support.
llvm-svn: 229
2001-07-21 12:40:37 +00:00
Vikram S. Adve
e2b9e658b5 General support utilities like a program options class and a StringMap
class for mapping strings to arbitrary things.

llvm-svn: 228
2001-07-21 12:40:18 +00:00
Vikram S. Adve
f4b3feecd8 CompileContext and options class for the llc compiler.
llvm-svn: 227
2001-07-21 12:39:30 +00:00
Vikram S. Adve
8d5ecffc9a Header files for the target architecture description and for instruction
selection, and instances of these for the SPARC.

llvm-svn: 226
2001-07-21 12:39:03 +00:00
Vikram S. Adve
f88fee6cfe Added support for getting the dependence of an executable on its libs,
using a variable to get the list of libraries on the link path.
BUG: If the library in the same directory as the executable is missing,
BUG: gnumake will build the library but then fail when linking the executable
BUG: saying the library was not found.  Need a better hack.

llvm-svn: 225
2001-07-21 12:38:14 +00:00
Vikram S. Adve
0025c5f58a Add isIntegral() method to SignedIntType and UnsignedIntType.
llvm-svn: 224
2001-07-21 12:32:48 +00:00
Vikram S. Adve
c91af7439a Provide simpler ways to extract the value of an integer constant.
llvm-svn: 223
2001-07-20 21:11:07 +00:00
Vikram S. Adve
10973f75ab Compute and cache information about the storage size and layout
of structures.  This information is machine-dependent.

llvm-svn: 222
2001-07-20 21:09:17 +00:00
Vikram S. Adve
0d8d2f87a3 Provide uniform access to the pointer operand and to the index
operands (if any) for different types of MemAccessInst's.

llvm-svn: 221
2001-07-20 21:07:06 +00:00
Vikram S. Adve
cec502cb48 Added a representation of the machine instructions generated
for a VM instruction.

llvm-svn: 220
2001-07-20 21:05:02 +00:00
Chris Lattner
6aec8e1991 Start of expression analysis support
llvm-svn: 219
2001-07-20 19:17:55 +00:00
Chris Lattner
af46a1c0af Header to raise and lower representation
llvm-svn: 218
2001-07-20 19:17:47 +00:00
Chris Lattner
997db49baf Add support to call LevelRaise
llvm-svn: 217
2001-07-20 19:16:47 +00:00
Chris Lattner
02097a9700 Update makefile for more accurate deps
Include support to print out Expression types

llvm-svn: 216
2001-07-20 19:16:29 +00:00
Chris Lattner
b6d8fb9977 Implement ensureTypeAvailable
Implement ConstPoolInt class

llvm-svn: 215
2001-07-20 19:16:02 +00:00
Chris Lattner
510fc61456 Add support for constant propogation of multiplies
llvm-svn: 214
2001-07-20 19:15:36 +00:00
Chris Lattner
a2122c28d0 Factor out WriteAsOperand.
llvm-svn: 213
2001-07-20 19:15:21 +00:00
Chris Lattner
8b78573709 Add a comment.
llvm-svn: 212
2001-07-20 19:15:08 +00:00
Chris Lattner
680da8ab0d Add multiply as a supported constant propogation operation
Include the LevelChange.h header in AllOpts.h

llvm-svn: 211
2001-07-20 19:14:41 +00:00
Chris Lattner
6e921febad New function: WriteAsOperand.
llvm-svn: 210
2001-07-20 19:14:01 +00:00
Chris Lattner
9a45a59ddd Add new base class ConstPoolInt, useful for dealing with integral constants
llvm-svn: 209
2001-07-20 19:13:28 +00:00
Chris Lattner
bc80631a8e Add new method, ensureTypeAvailable
llvm-svn: 208
2001-07-20 19:13:04 +00:00
Chris Lattner
f31adf9080 Change is*Type to be a casting convertion operator
Add a new isIntegral virtual function

llvm-svn: 207
2001-07-20 19:12:34 +00:00
Chris Lattner
2c4346a9bd Add an function to BinaryOperator to swap the two operands
llvm-svn: 206
2001-07-20 19:09:33 +00:00
Chris Lattner
bf1ff2b205 Add short forms of the get*Type methods.
llvm-svn: 205
2001-07-20 19:09:11 +00:00
Chris Lattner
48f4974b39 Fix nasty typo
llvm-svn: 204
2001-07-20 04:39:07 +00:00
Chris Lattner
7069a38446 Fix clean target
llvm-svn: 203
2001-07-18 23:43:53 +00:00
Chris Lattner
56541a781a Compile source files in alphabetical order
llvm-svn: 202
2001-07-18 23:43:37 +00:00
Chris Lattner
c88875a46d Fixed typo in comment
llvm-svn: 201
2001-07-16 16:17:18 +00:00
Chris Lattner
11f4097f50 Support external methods
llvm-svn: 200
2001-07-15 21:43:45 +00:00
Chris Lattner
3e7e97bee3 New test case for prototype support
llvm-svn: 199
2001-07-15 21:43:17 +00:00
Vikram S. Adve
deddb40e91 Reordered link line for correct static linking.
llvm-svn: 198
2001-07-15 21:13:29 +00:00
Vikram S. Adve
d988d2fcd1 Changed default to building library archives instead of shared objects.
Added support for compiling *.c files.

llvm-svn: 197
2001-07-15 13:16:47 +00:00
Chris Lattner
5c33905f73 Implement forward/external declarations for methods.
llvm-svn: 196
2001-07-15 06:35:59 +00:00
Chris Lattner
bb3f9b179a Implement forward/external declarations for methods. Also, emit an error if a method
is defined more than once, instead of crashing.

llvm-svn: 195
2001-07-15 06:35:53 +00:00
Chris Lattner
d5633e6177 Rename 'isMethodExternal' to 'isExternal'
llvm-svn: 194
2001-07-15 06:35:24 +00:00
Chris Lattner
ec521ed1f5 Add notes on instruction selection pass
llvm-svn: 193
2001-07-15 00:23:59 +00:00
Chris Lattner
897bdcb525 New testcase from GCC doing array operations
llvm-svn: 192
2001-07-15 00:18:50 +00:00
Chris Lattner
444b28658f Add support for assembly printing fp constants
llvm-svn: 191
2001-07-15 00:18:39 +00:00
Chris Lattner
964af23ab4 Add support to the bytecode writer to recognize floating point constants
llvm-svn: 190
2001-07-15 00:17:23 +00:00
Chris Lattner
856ac86318 Add support to the bytecode reader to recognize floating point constants
llvm-svn: 189
2001-07-15 00:17:18 +00:00
Chris Lattner
c245dabe0a Add support to the parser to recognize floating point constants
llvm-svn: 188
2001-07-15 00:17:01 +00:00
Chris Lattner
1d2d13fbd5 Add a function to convert a double to a string
llvm-svn: 187
2001-07-15 00:16:38 +00:00
Chris Lattner
82e8e54a80 Add support to write and read a fixed amount of raw data
llvm-svn: 186
2001-07-15 00:16:22 +00:00
Chris Lattner
0ee911dbbc Add a note
llvm-svn: 185
2001-07-15 00:16:02 +00:00
Chris Lattner
d3e41d4d2f * 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
a969eb234b Add knowledge about the struct form of the GetElementPtr instruction
llvm-svn: 183
2001-07-14 06:11:51 +00:00
Chris Lattner
10ff90d678 Remove dependency on the structure of ValueHolder.
llvm-svn: 182
2001-07-14 06:11:26 +00:00