Commit Graph

567 Commits

Author SHA1 Message Date
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
Chris Lattner
1b6e1fca14 Fixed the "output constant pool even if he have no constants" issue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@415 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:13:58 +00:00
Chris Lattner
643ecd4387 whoo hoo I did something! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@414 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:10:35 +00:00
Chris Lattner
98af669fb9 Make fib be more real
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@413 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-01 01:47:52 +00:00
Ruchira Sasanka
f2a6477aee *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@412 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-31 20:59:58 +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
0e4fda3c1a Added directory LiveVar/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@410 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:29:31 +00:00
Vikram S. Adve
c34b88fd13 Makefile for tools/tests/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@409 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:28:25 +00:00
Vikram S. Adve
0eca9ed813 Driver to test IsPowerOf2. Could be extended for other library routines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@408 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:28:10 +00:00
Vikram S. Adve
5b7d0bf988 Add testcodegen target, and restrict which tests are run for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@407 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:26:44 +00:00
Vikram S. Adve
840f53ae8e Added nonterminals for arithmetic operations where one operand is constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@406 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:25:46 +00:00
Vikram S. Adve
e595ba7631 Changed link line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@405 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:23:35 +00:00
Vikram S. Adve
14335835f1 Add calls to NormalizeMethod() and to ScheduleInstructionsWithSSA().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@404 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:23:14 +00:00
Vikram S. Adve
59e3b8220a Makefile for InstrSched/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@403 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:17:22 +00:00
Vikram S. Adve
3b4d062eb3 Remove source list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@402 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:16:59 +00:00
Vikram S. Adve
4c182bf16f Added directory InstrSched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@401 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:16:13 +00:00
Vikram S. Adve
d4228a5066 Major changes too hard to document :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:12:57 +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
89df1ae2c3 Moved debug options declaration to header file, and moved
a function to MachineInstr.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@393 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:04:38 +00:00
Vikram S. Adve
5b79591450 Moved function PrintMachineInstructions here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@392 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:02:39 +00:00
Vikram S. Adve
8b5f6cc0a4 analyze() now checks to see that we don't analyze the same method twice.
Needs a mechnanism to override this check (e.g., after a transformation).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@391 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 22:36:35 +00:00
Vikram S. Adve
402ace79fc *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@390 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 22:35:21 +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
Vikram S. Adve
d9151962df Added InstrSched library to link line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@386 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 21:33:33 +00:00
Chris Lattner
9ff64a8c63 I suck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@385 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 18:54:45 +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
e37dbf843d Remove target specific stuff from Type classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@383 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:52:13 +00:00
Chris Lattner
b5d2f1db8c Remove target specific method from MemAccessInst class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@382 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:51:43 +00:00
Chris Lattner
e3860e5be5 Convert to use the new factored out TargetData class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@381 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:51:16 +00:00
Chris Lattner
3a13c7e56f Factor code out to the TargetData class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@380 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:50:41 +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
da8f004cdb Support passing a data pointer to annotation factory methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@376 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:19:10 +00:00
Chris Lattner
be88fd03e6 Demolish explicit source list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:18:35 +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
491bff495f Add another TODO: sigh
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:17:20 +00:00
Chris Lattner
86660981e1 Lots of new functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:16:50 +00:00
Chris Lattner
d6075728d2 Remove explicit source list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-25 20:40:32 +00:00