Chris Lattner
bdfd328515
Clean up MethodLiveVarInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1703 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 20:49:04 +00:00
Chris Lattner
5ff562e2c0
The interface to instruction scheduling is now just a call to get the pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1702 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 20:03:43 +00:00
Chris Lattner
4d7fc119b8
* RegisterAllocation _uses_ LiveVar analysis, instead of creating it's own copy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1701 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 20:02:38 +00:00
Chris Lattner
9adb7ad457
* The itf exposed by InstrScheduling is now a single function to create the right pass
...
* InstructionScheduling is now a real pass
* InstrSched _uses_ LiveVar analysis, instead of creating it's own copy many times
through a loop. In this was LiveVarAnalysis is actually even SHARED by Register
allocation.
* SchedPriorities is now passed the live var information in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1700 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 20:02:16 +00:00
Chris Lattner
4fd2dbbf1d
Turn live variable analysis into a real MethodPass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1699 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 20:00:08 +00:00
Chris Lattner
14ab1ce020
Switch register allocator over to using LoopInfo directly instead of indirectly through LoopDepthCalculator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1696 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 17:48:00 +00:00
Chris Lattner
4911c357e1
Make LoopDeptCalculator be an internal artifact of how RegAlloc is implemented,
...
do not expose it. Additionally, have it be auto generated by the pass framework
for us.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1695 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 17:39:42 +00:00
Chris Lattner
3e0f8288e7
Make #include "llvm/Analysis/LoopDepth.h" be an internal artifact of how register allocation is implemented.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1693 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 17:38:48 +00:00
Chris Lattner
d1b60fbe78
* ValueSet interface converted from add/remove to insert/erase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1690 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 16:37:09 +00:00
Chris Lattner
30adeb6d07
* Add #includes removed from headers
...
* ValueSet interface converted from add/remove to insert/erase
* Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1689 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 16:36:59 +00:00
Chris Lattner
f35f2fbbc2
Remove dependence on BBLiveVar from InstrScheduling
...
Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1688 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 16:35:45 +00:00
Chris Lattner
1164632c7e
* Add #includes that were yanked out of header files
...
* Convert over to valueset interface that uses insert & erase insead of add and remove
* the -> operator really isn't that hard to use!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1687 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 16:35:12 +00:00
Chris Lattner
65b1ad9042
Cut down include pollution and number of frivolous consts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1683 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 16:31:03 +00:00
Chris Lattner
2f9b28e59a
Convert RegisterAllocator interface to opaque pass type, so that users do not
...
need to know _anything_ about RegAlloc to use it. Well in the end maybe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1681 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 15:54:09 +00:00
Chris Lattner
59ba109d9d
EmitAssembly doesn't need an UltraSparc, it can do with any TargetMachine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1680 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 15:53:23 +00:00
Chris Lattner
699683c585
* Minor cleanups
...
* Reduce number of #includes
* Remove blatently misleading qualifiers (how do you have an inlined pure virtual function?)
* Remove unnecesary & ignored qualifiers (const int argument vs int argument)
* SparcInternals.h now no longer #includes RegClass.h or SparcRegClassInfo.h
* Pull inlined functions out of .h file if they are virtual and interfere with dependencies
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1677 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 05:59:25 +00:00
Chris Lattner
0a8ed9401d
Add #includes neccesary since they were removed from .h files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1675 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 05:56:09 +00:00
Chris Lattner
b99bd2b145
Move instrIsFeasible from InstrScheduling.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1674 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 05:55:42 +00:00
Chris Lattner
2182c785c2
* Minor cleanups
...
* Reduce number of #includes, sometimes drastically (LiveRangeInfo.h lost _7_)
* Move instrIsFeasible() from InstrScheduling.h to SchedPriorities.h
* Delete blank lines at end of files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1672 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 05:52:08 +00:00
Chris Lattner
9e881eb60d
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1671 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 05:48:24 +00:00
Chris Lattner
b99169f183
SparcRegInfo does NOT need anything about instruction scheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1670 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 02:44:38 +00:00
Chris Lattner
77f66c131d
* Move command line parsing debug stuff to InstrScheduling internal header file
...
SchedPriorities.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1669 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 02:44:20 +00:00
Chris Lattner
6b04e71fc9
Pull all of the scheduling related stuff out of Sparc.cpp into it's own file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1668 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 00:39:14 +00:00
Chris Lattner
6dd98a6c31
Split RegisterAllocation stuff OUT of Sparc.cpp into a well defined pass
...
that has a very minimal interface (like it should have).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1667 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 00:33:08 +00:00
Chris Lattner
7327d7ee8b
Move a ton of tables out of SparcInternals.h and move them to Sparc.cpp.
...
Eventually they will probably get moved again, but at least now they aren't
having to be compiled by 7 different .cpp files...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1666 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 00:04:35 +00:00
Chris Lattner
4387e3128b
Convert sparc backend over to use pass based compilation structure.
...
Try to decouple stuff as much as possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1664 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 23:42:19 +00:00
Chris Lattner
0feb358654
Convert sparc backend over to use pass based compilation structure.
...
Convert some stages into passes in preparation for more splitting up.
Try to decouple stuff as much as possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1663 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 23:41:51 +00:00
Chris Lattner
c19b8b10e5
Convert assembly emission over to a two pass approach.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1662 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 23:41:08 +00:00
Chris Lattner
f2868ce228
Code pulled out of MAchineInstr.(h|cpp)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1660 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:54:50 +00:00
Chris Lattner
ed5171e5e7
Add a file level comment
...
Remove #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1657 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:52:04 +00:00
Chris Lattner
6edfcc578d
Implement new method by method assembly output & memory releasing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1656 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:51:17 +00:00
Chris Lattner
9c461083e1
* Switch to new TmpInstruction model
...
* Switch to new MachineCodeForInstruction model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1655 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:50:56 +00:00
Chris Lattner
cb0a1202af
* Switch to new TmpInstruction model
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1654 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:49:49 +00:00
Chris Lattner
cf4525bd20
* Swithc to new MachineCodeForInstruction model
...
* Implement memory freeing for instruction temporaries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1653 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:49:15 +00:00
Chris Lattner
c019a17137
* prune #includes
...
* Implement permethod output of machine code to assembly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1652 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:48:06 +00:00
Chris Lattner
dd1e40b4ce
Lots of code cleanups, no functional changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1650 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:46:34 +00:00
Chris Lattner
fb3b1ec982
* Switch over to cleaner TmpInstruction model
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1648 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:39:06 +00:00
Chris Lattner
06cb1b7382
* Straighten out #includes
...
* Switch to MAchineCodeForInstruction model instead of MachineCodeForVMInstr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1647 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:33:46 +00:00
Chris Lattner
a8bbb6bced
* Swich to annotation model for MachineCodeForInstruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1646 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:31:41 +00:00
Chris Lattner
de6dbabaee
Remove extraneous #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1645 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:30:08 +00:00
Chris Lattner
0861b0c3e6
* Straighten out #includes
...
* Switch from MachineCodeForVMInstr to MachineCodeForInstruction model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1644 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:29:45 +00:00
Chris Lattner
3462cae44f
* Get machine instrs from Instructin's by using MachineCodeForInstruction::get
...
* Convert a few (*X). to X->
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1643 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:28:30 +00:00
Chris Lattner
56cf02d5a0
Lots of nonfunctional code cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1642 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:25:25 +00:00
Chris Lattner
29f4c06b7f
Add a class forward decl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1637 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:13:04 +00:00
Chris Lattner
92a12d5c6b
LoopDepth calculation is now in CFG namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1601 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:41:13 +00:00
Chris Lattner
a16c3efb9f
Make it build with 2.95.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1554 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-23 05:47:57 +00:00
Chris Lattner
d4b051135c
Remove dead variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1514 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 22:44:57 +00:00
Chris Lattner
dbe5304f77
Oops lost a parenthesis somehow :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1504 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 01:33:12 +00:00
Chris Lattner
697954c15d
Changes to build successfully with GCC 3.02
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Ruchira Sasanka
ce773da223
Fixed a bug in spill cost estimation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1500 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-08 16:29:23 +00:00
Ruchira Sasanka
6a3db8c117
PhyRegAlloc.cpp: Added temp area resetting before every call
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1499 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 21:09:06 +00:00
Ruchira Sasanka
bf915524a1
Added more comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1498 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 21:03:42 +00:00
Ruchira Sasanka
690f367f6b
removed SizeOfStackOperand constant from the SparcRegInfo class - no longer used
...
by code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1497 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 20:33:44 +00:00
Ruchira Sasanka
2563a98f3d
Added more comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1496 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 20:28:49 +00:00
Ruchira Sasanka
d00982a81c
Added comments and correct logic for finding register sizes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1494 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 19:20:28 +00:00
Ruchira Sasanka
4f3eb22e1f
Added destructors and comments.
...
Added correct spill candidate selection logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1493 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 19:19:18 +00:00
Ruchira Sasanka
42bd177eae
Added comments, destructors where necessary.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1491 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-07 19:16:26 +00:00
Vikram S. Adve
fa24897f9f
Eliminate all uses of memInst->getIndicesBROKEN().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1485 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-15 00:36:32 +00:00
Vikram S. Adve
cee9d1c3fa
Remove int hack to allow unsigned numbers greater than 2^63 - 1...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1483 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-15 00:33:36 +00:00
Chris Lattner
5618cb60c2
Allow pointer indexing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1462 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:31:26 +00:00
Chris Lattner
90865150e4
Remove unsized array support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1461 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:30:51 +00:00
Ruchira Sasanka
545cc35b82
added a section on how to modify live variable code to use LLVM instructions
...
instead of machine instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1451 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-13 21:25:46 +00:00
Ruchira Sasanka
789cebb908
Added more comments. Added code to destructor in MethodLiveVarInfo to delete
...
LiveVarSet caches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1435 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-08 21:05:27 +00:00
Ruchira Sasanka
b720a8bc1d
Added comments are more documentation info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1434 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-08 21:04:22 +00:00
Chris Lattner
7a17675206
Renamed inst_const_iterator -> const_inst_iterator
...
Renamed op_const_iterator -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1408 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-04 00:03:30 +00:00
Chris Lattner
e9bb2df410
Rename ConstPoolVal -> Constant
...
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-03 22:26:30 +00:00
Chris Lattner
7061dc50b2
Split the PHINode class out from the iOther.h file into the iPHINode.h file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1405 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-03 18:02:31 +00:00
Chris Lattner
cee8f9ae67
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00
Chris Lattner
4ed17bad69
Stuff after a #endif is not valid CPP input and breaks some compilers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1375 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:56:52 +00:00
Chris Lattner
69a86e4e23
The old getIndices has been deprecated, because it no longer works. It now
...
is named getIndicesBROKEN() and shall be removed when the codebase is updated
to not call it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1338 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 16:56:19 +00:00
Ruchira Sasanka
3113375f90
commented out popAllTempValues since it leads to a bug - see code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1327 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 22:03:04 +00:00
Ruchira Sasanka
f90870f622
Commented some popTempArg.. since it leads to a bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1326 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 22:02:06 +00:00
Ruchira Sasanka
07c7086bd2
Added naming to inserted phi copy values - for easy debugging
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1325 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 20:46:40 +00:00
Ruchira Sasanka
295264dcb4
changed since names of some methods in PhyRegAlloc changed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1324 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 20:25:07 +00:00
Ruchira Sasanka
ba9d5dba25
Fixed a bug in setReLRegsUsedByMI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1323 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 20:23:19 +00:00
Ruchira Sasanka
825dd55429
Changed some names of methods, added const etc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1322 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 20:22:37 +00:00
Vikram S. Adve
345bcc8be1
Fix use of AllocateLocalVar for alloca instruction!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1319 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 15:22:39 +00:00
Ruchira Sasanka
f6dfca1395
fixed setUsedRegAtMI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1317 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 15:00:53 +00:00
Vikram S. Adve
b9959d8058
Fix int->float conversion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1314 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 14:59:56 +00:00
Ruchira Sasanka
20ac79e329
Changed phi elimination code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1311 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 00:27:14 +00:00
Vikram S. Adve
ecd5813639
Don't assume constant operand can only be in position 1!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1308 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 18:49:45 +00:00
Vikram S. Adve
4c5fe2d3ed
Add function returning which operand holds immediate constant
...
for a given opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1307 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 18:48:36 +00:00
Vikram S. Adve
9e29f78029
Idiotic error in last fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1306 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 17:55:02 +00:00
Vikram S. Adve
c811745156
Don't need to load a NULL pointer constant from memory!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1305 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 17:24:49 +00:00
Vikram S. Adve
c9c6aa0445
Change latency of SETX to improve schedule -- just a hack.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1304 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 15:54:44 +00:00
Ruchira Sasanka
cbddf49665
Added support method for setting interference for pseudo instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1303 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 15:37:13 +00:00
Ruchira Sasanka
d63aaaaabe
Added M_PSEUDO_FLAG for SETX .. instr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1301 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 15:35:13 +00:00
Ruchira Sasanka
22ccb1b905
Added interference for args in pseudo instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1300 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 15:33:58 +00:00
Chris Lattner
65ea171409
Remove much cruft from the MemAccessInst instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1298 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-14 11:27:58 +00:00
Ruchira Sasanka
84dce16fb1
commented out lines printing code after scheduling
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1295 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-13 23:12:53 +00:00
Ruchira Sasanka
f221a2e0a8
Fixed a bug concering LR spilling. Earlier, added spilled code was not inserted
...
into the instruction stream correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1294 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-13 23:09:30 +00:00
Ruchira Sasanka
5f98aca57c
Changed checking for invalid register number - earlier it was uisng a contant
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1293 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-13 23:08:19 +00:00
Vikram S. Adve
e85f2332db
Do the same for allocating spills to get their alignment right too.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1285 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-12 23:40:22 +00:00
Vikram S. Adve
00521d79bf
When allocating space on stack for writing a register,
...
use the size of the register, not the size of the Value type,
to get the right alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1284 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-12 23:26:35 +00:00
Ruchira Sasanka
9d47866497
Fixed a bug with pervious ColorCallArg
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1278 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-12 20:54:19 +00:00
Ruchira Sasanka
91014f6b0c
Canged ColorCallArg so that when a call arg is directly pushed on to stack
...
for argument passing, that instruction is directly added to the InstructionsBefore
set of the called machine instruction - i.e., it is not reordered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1277 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-12 20:31:47 +00:00
Ruchira Sasanka
7130938f94
For phi elimination, now we are generating only one instruction
...
using cpValue2Value instead of
passing vector to createCopyInstructionByType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1272 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-12 19:42:27 +00:00
Vikram S. Adve
3438b21ebd
Disable use of the Phi machine instruction which is no longer needed
...
for register allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1270 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-12 18:54:11 +00:00
Vikram S. Adve
200a435966
Eliminate most uses of the machine instruction vector for each LLVM instr,
...
since some m. instr. may be generated by LLVM instrs. in other blocks.
Handle non-SSA (anti and output) edges and true edges uniformly by
working with machine instructions alone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1269 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-12 18:53:43 +00:00
Ruchira Sasanka
67a463ac04
Added phi elimination code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1265 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-12 14:45:33 +00:00