c50156360a
Fixed bug in searchPath function for finding nodes between two recurrences.
...
Changed dependence analyzer to only use dep distances of 2 or less.
This is experimental.
Changed MSchedGraph to be able to represent more then one BB (first steps).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21641 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-30 23:07:59 +00:00
9f83822565
Updated dependence analyzer. Fixed numerous bugs. Same stage scheduling, etc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21444 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 06:32:48 +00:00
b5f662fa03
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21425 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 23:30:14 +00:00
ce91ec9ae6
Fix a namespace issue, reported by Vladimir Merzliakov!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21115 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-06 19:45:39 +00:00
ac6e2dbf52
Updated to use dep analyzer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21097 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-05 16:36:44 +00:00
e6fea166c3
Fix another PATypeHolder error, contributed by Bill Wendling!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20983 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-01 15:41:30 +00:00
5e9f352346
Compare dependence analysis with llvm instructions versus machine instrutions. the problem with using machine instructions and alias analysis is that aa does not handle tmp instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20931 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-29 20:35:10 +00:00
5ec3a63f6d
Dependence analyzer that just determines dependences within a loop for loads and stores using alias analysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20930 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-29 20:33:42 +00:00
26bc78ed10
Fix compilation errors, patch contributed by the fabulous Bill Wendling!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20808 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-24 05:13:53 +00:00
9532ab9839
Added alias analysis.
...
Fixed many many bugs.
This now works on almost all Singlesource , and most of MultiSource.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20780 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-23 01:47:20 +00:00
01b4abd348
Fixed bug in findAllcircuits. Fixed branch addition to schedule. Added debug information.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20280 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 02:01:42 +00:00
db1680b2be
Fixed node deletion bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20207 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-16 04:00:59 +00:00
db40cf1b58
Added new circuit finding alogrithm.
...
Fixed bug in graph so that phi ite diff edges are added.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20108 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-10 17:02:58 +00:00
0111474bde
Minor changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19660 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-18 04:15:41 +00:00
f3fa55f979
When writing kernel, save the branches til the end. They are still put in the "right place" in the schedule, but sometimes when folding to make a kernel instructions are added between branches. This is wrong. To avoid this, we handle branches special.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18450 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-03 05:25:22 +00:00
ad7654f7c4
Reworked branch adding in prologue. Added check for infinite loops which are not modulo scheduled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18419 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 07:22:15 +00:00
58fe2f0734
Reworked branching so we don't handle BAs specially. It just updates the branchTO regardless of what type of branch it is.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18322 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 04:39:47 +00:00
28e5eabf65
Fixed bug where instructions in the kernel were not ordered right to preserve dependencies in a cycle.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18314 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28 23:36:15 +00:00
a6ec8f5548
Forced branches to be first to be scheduled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18195 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 01:49:10 +00:00
e1df212fb3
Fixed a bug where I was trying to ModuloSchedule a loop with no instructions but a terminator.
...
Fixed a bug in the schedule generation that was always using the start cycle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18123 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 20:41:24 +00:00
ced8222405
Added my own defMap. Only saving values that are not loop invariant. Fixed a couple of assertions that were triggered due to registers not being allocated. These both had to do with PHINodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17907 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 21:31:37 +00:00
80f085500f
Added gross hacks such as creating my own def-use map, and picking on Instruction that I can add all my TmpInstructions to its MCFI.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17441 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 21:04:56 +00:00
260652a7af
Fixed bug with infinite epilogues.
...
Fixed issue with generating the partial order. It now adds the nodes not in recurrences in sets for each connected component.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 00:39:07 +00:00
6cb21d443e
Change Library Names Not To Conflict With Others When Installed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17286 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27 23:18:45 +00:00
cac731ecbe
We won't use automake
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 03:35:04 +00:00
86d341b204
Initial automake generated Makefile template
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 23:55:41 +00:00
ec660ae754
Make the library name SparcV9 specific
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17089 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-17 15:01:12 +00:00
a645750722
Checking in code that works on my simple test case. However, there is still a bug with branches that I need to fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16979 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 06:04:28 +00:00
7da1e6e27c
Adjust header file inclusion due to move
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16904 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 23:34:50 +00:00
0a18934a23
Adjust comment header and paths to refect move
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16903 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 23:34:36 +00:00
420025b04f
Added debug information. Fixed several bugs in the reconstruct loop function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16895 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 22:44:35 +00:00
9f41a5fe85
Initial version of automake Makefile.am file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16885 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 20:43:57 +00:00
c72c617a4e
Add includes and use std:: for standard library calls to make code
...
compile on windows. This patch was contributed by Paolo Invernizzi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16539 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 14:42:44 +00:00
551ccae044
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
418379e229
Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15906 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 20:04:24 +00:00
85015a0891
Move MachineCodeForInstruction.h and MachineFunctionInfo.h into lib/Target/SparcV9
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15830 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 21:55:02 +00:00
b814e2d1c0
Get rid of a warning when compiling optimized. Uninitialized variable has
...
been initialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15565 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-07 15:19:31 +00:00
57195d1321
Include SparcV9TmpInstr.h to pick up the def. of TmpInstruction,
...
instead of InstrSelection.h, which is dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15476 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:34:57 +00:00
46c2b3a5ec
Squelch warnings in release mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15460 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 03:51:55 +00:00
6a90f8202b
Add #include <cstdlib> and abort() to silence a warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15413 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-02 14:02:21 +00:00
82fd8d8cdd
* ceil() requires #include <cmath> for compilation
...
* Alphabetize #includes
* Fix some lines to fit within 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15412 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-02 13:59:10 +00:00
0a88d2d8b9
Updated ModuloScheduling. It makes it all the wya through register allocation on the new code!!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-30 23:36:10 +00:00
7848e68c16
These files don't need to include <iostream> since they include "Support/Debug.h".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15089 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21 20:50:33 +00:00
20890832ea
updates to ModuloSched
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13881 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 20:14:12 +00:00
ebac64534c
Adding scheduling class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 06:27:36 +00:00
4cffb588f5
Updating my cvs versions. THis is still in progress and much will be changed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13782 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 06:27:18 +00:00
73e3e2e10f
Updating my versions of ModuloScheduling in cvs. Still not complete.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13424 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08 16:12:10 +00:00
9b3cbdbedb
Adding new Modulo Scheduling graph files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12031 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 02:50:57 +00:00
d14b83733e
Removing old graph files with new graph files that I wrote. Updated ModuloScheduling pass, but still in progress.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12030 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 02:50:01 +00:00
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00