Commit Graph

107 Commits

Author SHA1 Message Date
Chris Lattner
8f367bd3c0 Large scale changes to implement new command line argument facility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 02:35:57 +00:00
Chris Lattner
3fcf6ec1e9 Add flag for emacs so it realizes it's C++ code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 05:15:16 +00:00
Chris Lattner
aceb9132b7 Privatize LLCOptions. It had no business being visible to the entire
program.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 04:40:02 +00:00
Chris Lattner
c21d4fcb20 Move private header into private directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 03:59:25 +00:00
Chris Lattner
953e0d7076 Convert from using C style char*'s to strings.
Look ma, no strdups


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 03:57:31 +00:00
Chris Lattner
29f921ca75 Remove String file some more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 00:46:48 +00:00
Chris Lattner
7ac1040ece Destroy the StringUtils.h file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 00:18:10 +00:00
Chris Lattner
68498cefe6 Eliminate lots of unnecessary #includes and forward decls
there are probably more to kill


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 23:24:48 +00:00
Chris Lattner
57738965f8 Exterminate nasty Cisms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:42:09 +00:00
Chris Lattner
7e583cfafe Renamed include/llvm/Codegen to include/llvm/CodeGen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 20:58:30 +00:00
Chris Lattner
87bdcaf2b8 More minor reorganizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 20:08:52 +00:00
Chris Lattner
cfad5df977 Remove getTempValuesForMachineCode from the Instruction interface
to remove dependency on <vector>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 20:04:10 +00:00
Chris Lattner
7e314d2042 Add support for casting operators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:10:33 +00:00
Chris Lattner
19f31f28d8 More functionality, renamed API
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:07:19 +00:00
Chris Lattner
f98e88f745 Moved isIntegral to the Type system
Renamed equals(char) to equalsInt(char).  Made it a const memfunc


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:02:43 +00:00
Vikram S. Adve
14bc392291 General support utilities like a program options class and a StringMap
class for mapping strings to arbitrary things.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:40:18 +00:00
Vikram S. Adve
9ad9f09ef2 CompileContext and options class for the llc compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:39:30 +00:00
Vikram S. Adve
23ee550765 Header files for the target architecture description and for instruction
selection, and instances of these for the SPARC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:39:03 +00:00
Vikram S. Adve
230365abf7 Provide simpler ways to extract the value of an integer constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 21:11:07 +00:00
Vikram S. Adve
d01d99b2a0 Compute and cache information about the storage size and layout
of structures.  This information is machine-dependent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 21:09:17 +00:00
Vikram S. Adve
6575a1d134 Provide uniform access to the pointer operand and to the index
operands (if any) for different types of MemAccessInst's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 21:07:06 +00:00
Vikram S. Adve
3344615555 Added a representation of the machine instructions generated
for a VM instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 21:05:02 +00:00
Chris Lattner
369bbeb62c Start of expression analysis support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:17:55 +00:00
Chris Lattner
ba7cf16dbb Header to raise and lower representation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:17:47 +00:00
Chris Lattner
a137f87051 Add multiply as a supported constant propogation operation
Include the LevelChange.h header in AllOpts.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:14:41 +00:00
Chris Lattner
e3ad3575b0 New function: WriteAsOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:14:01 +00:00
Chris Lattner
2ce0cbbbe1 Add new base class ConstPoolInt, useful for dealing with integral constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:13:28 +00:00
Chris Lattner
646ffa4919 Add new method, ensureTypeAvailable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:13:04 +00:00
Chris Lattner
edde66d9e0 Change is*Type to be a casting convertion operator
Add a new isIntegral virtual function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:12:34 +00:00
Chris Lattner
781532e45b Add an function to BinaryOperator to swap the two operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:09:33 +00:00
Chris Lattner
94572e0c93 Add short forms of the get*Type methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:09:11 +00:00
Chris Lattner
083735d582 Fixed typo in comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-16 16:17:18 +00:00
Chris Lattner
52f2750ddb Rename 'isMethodExternal' to 'isExternal'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 06:35:24 +00:00
Chris Lattner
2e35bedc82 Add a function to convert a double to a string
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:16:38 +00:00
Chris Lattner
d2fdd91c66 Add support to write and read a fixed amount of raw data
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:16:22 +00:00
Chris Lattner
644dc172f5 * The parent of a constant pool is a SymTabValue, not a value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:08:51 +00:00
Chris Lattner
dc4c3f2f5f Made the following changes:
* ValueHolder became a 3 argument template.  This allows for BasicBlock to
  use the value holder arg as a typesafe parent pointer.
* SymTabValue no longer inherits from Value
* Method does not inherit from only SymTabValue.  Now it inherits from both
  STV & Value.
* Module does not inherit from only SymTabValue.  Now it inherits from both
  STV & Value.
* Updated the SymTabValue.h file to reference SymTabValue instead of STDef
  in several places
* Added isArraySelector & isStructSelector to GetElementPtr instruction


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:07:58 +00:00
Chris Lattner
ec0c497877 Made it not inline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-12 23:35:11 +00:00
Chris Lattner
b144fb872c Add DebugValue global function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-12 23:33:53 +00:00
Chris Lattner
282072869e hasSideEffects should be marked virtual
stores and free's have sideeffects


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 19:38:26 +00:00
Chris Lattner
fb3f24fd57 Fix stupid typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 16:54:29 +00:00
Chris Lattner
ab5ac6bb38 Implementation of Store & GetElementPtr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 23:22:50 +00:00
Chris Lattner
027dcc5b22 Implemented shl, shl, & load instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 21:10:27 +00:00
Chris Lattner
71496b3b50 Moved Cast from being a Unary instruction to being an "Other" instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 19:03:27 +00:00
Chris Lattner
cbab0f7edd Add a new "addOperand" method to User.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 18:38:18 +00:00
Chris Lattner
0908309e3c Neg instruction removed. Cast instruction implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 04:57:15 +00:00
Chris Lattner
9f3d27654a Convert BinaryOperand and UnaryOperator to only take instruction types of
the appropriate enum


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 20:17:23 +00:00
Chris Lattner
a41f50dea8 Broad superficial changes:
* Renamed getOpcode to getOpcodeName
* Changed getOpcodeName to return a const char * instead of string
* Added a getOpcode method to replace getInstType
* Changed code to use getOpcode instead of getInstType


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 19:24:15 +00:00
Chris Lattner
30f24a402c Devirtualize User::dropAllReferences
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 19:00:36 +00:00
Chris Lattner
f229ed5248 Remove dtor's that simply call dropAllReferences
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 18:42:52 +00:00