Commit Graph

220 Commits

Author SHA1 Message Date
Chris Lattner
b12dcd1c30 * Fix long standing problems that would affect inlining. How could this have worked?
* Update to new setName interface


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@430 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:26:13 +00:00
Chris Lattner
118630d924 Add assertion to check for
alloca [int]
for example


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@429 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:25:42 +00:00
Chris Lattner
9d3e9f93e5 * Values are AbstactTypeUsers to support abstract types
* SetName now takes extra parameter to support naming types and constants without handles


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@428 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:25:23 +00:00
Chris Lattner
d964e56a92 Remove extra whitespace at EOL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@427 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:24:35 +00:00
Chris Lattner
a797d28333 * Add support for Opaque & Abstract types.
* Remove silly enum values that are never going to be used
* What used to be a types "name" is now it's "description"
* Add a new iterator to type to allow users to iterate over subtypes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@426 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:23:59 +00:00
Chris Lattner
46b23d92e3 Support abstract types by keeping on the use list of the abstract type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@425 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:21:36 +00:00
Chris Lattner
810affe049 SymTabValues no longer hold constant pools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@424 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:21:04 +00:00
Chris Lattner
640040e1cf SymTabValue no longer includes ValueHolder for Module. Include it ourself
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@423 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:20:46 +00:00
Chris Lattner
f7bd639290 * Support new setName interface
* Make the iterator a little nicer


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@422 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:20:18 +00:00
Chris Lattner
be4c4001f4 Support new setName interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@421 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:19:55 +00:00
Chris Lattner
2cac6d2ef4 * Add new DerivedType base class that goes between Type and the derived types
* Implement abstract types
* Add new Opaque derived type


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@420 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:19:29 +00:00
Chris Lattner
3e22bed211 Implement support for globally unique constants. Constants no longer live
in a module or method local pool, they are global to the llvm system.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@419 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:18:19 +00:00
Chris Lattner
20b0010030 Add support for walking type graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@418 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:17:24 +00:00
Chris Lattner
2cb0722c00 Changing setName semantics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@417 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:16:57 +00:00
Chris Lattner
53aaefe18a Make annotations operations const with a mutable annotation list so that
we can annotate Types.  A better solution would be make types nonconst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@416 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:16:35 +00:00
Ruchira Sasanka
33b6e9f48b *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@411 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-31 20:30:42 +00:00
Vikram S. Adve
136c9f4062 Added function MachineInstr::operandIsDefined(i) and decl for
function PrintMachineInstructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@399 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:11:46 +00:00
Vikram S. Adve
24084be5f2 Extensive additions for supporting instruction scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@398 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:10:41 +00:00
Vikram S. Adve
bf24233691 Added class MachineSchedInfo and several supporting classes
as a machine description for instruction scheduling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@397 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:09:36 +00:00
Vikram S. Adve
0e1158f340 Implementation of instruction scheduling for LLVM.
Currently schedules one basic block at a time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@396 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:07:19 +00:00
Vikram S. Adve
37866b3437 Class that encapsulates priority heuristics for instruction scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@395 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:06:49 +00:00
Vikram S. Adve
78ef1392f3 Scheduling DAG for instruction scheduling. Currently for a single basic block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@394 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:06:02 +00:00
Vikram S. Adve
71fc67c4b1 Simplification transformations to normalize the code for later passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@389 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 21:40:27 +00:00
Vikram S. Adve
81cd1e50ec Use const int instead of #define.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@388 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 21:35:26 +00:00
Vikram S. Adve
9827c6e315 Add copy and assignment operators for POIterator, and
static constructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@387 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 21:34:56 +00:00
Chris Lattner
e7fb36030b Initial checkin of TargetData code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@384 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 16:00:15 +00:00
Chris Lattner
fed72d5973 Use the new TargetData class to factor out some of the shared code
between the static compilers and the interpreter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@379 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:50:12 +00:00
Chris Lattner
4647b1c3be Remove target specific method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@378 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:49:36 +00:00
Chris Lattner
231022954f Remove target specific code, move to TargetData.cpp file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@377 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:49:16 +00:00
Chris Lattner
a0facd063b Extend annotations to pass data pointers around to the functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:17:47 +00:00
Chris Lattner
8dc89a330c Add annotation support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:07:56 +00:00
Chris Lattner
cda67e5086 Add annotation support to value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:06:21 +00:00
Chris Lattner
bd8364aed7 * Add assertions
* Add a nodeVisited method to the DF interator


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:05:59 +00:00
Ruchira Sasanka
9166181257 LV info on machine instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-20 21:11:01 +00:00
Ruchira Sasanka
cc3a0dbb85 Corrected the compilation error by making the ValOperator class a friend of
MachineOperand class - Ruchira


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:54:48 +00:00
Vikram S. Adve
4f01c1ee99 Can't use ref to stack value!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-09 20:14:22 +00:00
Vikram S. Adve
98f2f8053b Needed old conditions as well as new in skipToNextVal()!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-09 19:18:33 +00:00
Vikram S. Adve
7c02601b58 Bug fix in ValOpIterator: not moving past operand with NULL Value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-08 00:15:42 +00:00
Ruchira Sasanka
0b03c6a492 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-07 21:01:23 +00:00
Ruchira Sasanka
773fc471bd Added isDef field to MachineOperand class - Ruchira
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@349 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-07 20:14:30 +00:00
Vikram S. Adve
6a0c6d82a9 Use extra operand for instructions that set a CC register that
was not explicit before.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 21:05:39 +00:00
Vikram S. Adve
3929cf6779 Allow numOperands of -1 for variable #operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:55:51 +00:00
Vikram S. Adve
1885da4f49 Allow machine instructions with variable numbers of arguments.
This is used only by Phi for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:49:28 +00:00
Vikram S. Adve
0a229ed79a Added dummy Phi instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@335 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:48:23 +00:00
Vikram S. Adve
f6445837e9 Added class MachineCodeForBasicBlock.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-30 18:49:07 +00:00
Vikram S. Adve
b63933975f Added vector of machine instructions for the basic block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-30 18:47:24 +00:00
Chris Lattner
0add2d33e4 Modify var names to make it apparant that the code is really generic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:43:45 +00:00
Vikram S. Adve
7d2a2518e8 Added function printIndent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:41:27 +00:00
Vikram S. Adve
bf2b7e8beb Added a pointer hash function object for use in pointer maps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:41:10 +00:00
Vikram S. Adve
8b6821732e Make a function const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:40:15 +00:00
Vikram S. Adve
670d0abe49 Added several SPARC instructions including conditional move and SETHI.
Added MachineInstrInfo class and subclass UltraSparcInstrInfo.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo).  Latency fields are to support scheduling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:26:42 +00:00
Vikram S. Adve
2e4d108495 Remove redundant and unused functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:20:33 +00:00
Vikram S. Adve
44a853cc53 Added MachineInstrInfo class and moved instruction-related members there.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo.  Latency fields are to support scheduling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:09:37 +00:00
Vikram S. Adve
6a175e01eb Eliminate separate enum for operand register type.
Use union for alternative data for different operand types.
Add iterator over Value* operands in a MachineInstr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:06:37 +00:00
Chris Lattner
a25809dda4 Add an arg to insertVal to allow us to prevent builtin types from being ignored
when they are inserted


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-26 16:28:18 +00:00
Chris Lattner
e5a57ee363 Add support for extern varargs methods & varargs method calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-25 22:47:55 +00:00
Ruchira Sasanka
683847fb75 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-24 17:14:13 +00:00
Chris Lattner
4bc3daaa3f Eliminated the Unique class in favor of NonCopyable and NonCopyableV
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 18:26:21 +00:00
Chris Lattner
57dbb3ad63 Moved inline/llvm/Tools/* to include/llvm/Support/*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 17:46:59 +00:00
Chris Lattner
50d89859e2 Fix coding style issues to actually attempt to be somewhat uniform
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 05:03:15 +00:00
Chris Lattner
d8fa8e2aa1 Nonpolymorphic class, doesn't need a virtual dtor!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 03:57:05 +00:00
Chris Lattner
75279ccc75 Clean up hash table usage
Remove opaque pointer used for C compatibility which isn't an issue


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 03:50:57 +00:00
Chris Lattner
6c5a32d545 Removal of the redundant CompileContext wrapper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 03:09:03 +00:00
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