Chris Lattner
8e195e02fe
Simplify code by eliminating need to hang onto constant pool references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@440 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:31:04 +00:00
Chris Lattner
643afb3b01
* Fixed mapped_iterator to actually work with functors
...
* Implement mapto function that works like map in a functional programming language
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@439 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:30:28 +00:00
Chris Lattner
e05281537f
Constant pools no longer exist
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@438 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:29:55 +00:00
Chris Lattner
9152a47906
Eliminate DoConstantPoolMerging. ConstantPools no longer exist
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@437 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:29:40 +00:00
Chris Lattner
539a4bf4b5
You no longer have to delete constants! They are located in a global
...
constant pool instead of in local ones.
Change bool handling to prevent modification of bool values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@436 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:29:18 +00:00
Chris Lattner
5f30d24175
Annotations are now passed around as const objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@435 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:28:25 +00:00
Chris Lattner
368216420a
Use a deque instead of a vector for greater efficiency writing bytecode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@434 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:27:49 +00:00
Chris Lattner
740611a034
Clean stuff up.
...
Types are not named, they are described
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@433 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:27:25 +00:00
Chris Lattner
4c4007b3df
Simplify SlotCalculator. SlotCalculator is now not a ModuleAnalyzer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@432 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:27:05 +00:00
Chris Lattner
d5bbe381b9
Simplify analyzer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@431 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:26:36 +00:00
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
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