Chris Lattner
80c685ff15
* Fix privacy issues on RegToRefVecMap
...
* Fix initialization order problems...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@762 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:51:01 +00:00
Chris Lattner
1b98c5c6c3
* Use new style casts more
...
* Add real support for global variable addresses initializing constants
* Fix encoding/decoding of VarArgs calls
* Support the Invoke instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@761 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:48:38 +00:00
Chris Lattner
05950c34a4
* Add real support for global variable addresses initializing constants
...
* Add minor optimization to BytecodeParser::refineAbstractType
* MethodType::get now take an explicit isVarArg parameter
* Fix encoding/decoding of VarArgs calls
* Support the Invoke instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@760 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:47:01 +00:00
Chris Lattner
e02fa8551d
* Support writing GlobalVariables with info comments by them
...
* Print out prototypes correctly in cases that we weren't before
* Use new style casts more
* Support printing new invoke instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@759 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:42:36 +00:00
Chris Lattner
2079fde081
* Add support for forward references of global variable addresses
...
* Add support for numeric global variable addresses
* Clean up getVal function by refactoring it into several smaller functions
* MethodTypes are now specified with an explicit isVarArg parameter
* Break ValueRef into ConstValueRef & SymbolicValueRef components
* Add support for the new Invoke instruction
* Fix a few broken calls to Type::getName instead of Type::getDescription
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@758 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:41:08 +00:00
Chris Lattner
8c9c586768
Add operator< to ValID's so that they can be put in map's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@757 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:37:47 +00:00
Chris Lattner
b4d22f9952
Remove exception specification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@756 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:37:27 +00:00
Chris Lattner
5efbbc28f6
Support the new Invoke instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@755 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:37:14 +00:00
Chris Lattner
f1fef65157
Support pointers to globals happily
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@754 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:35:09 +00:00
Chris Lattner
8f486ddc76
Fix code to make GCC 2.96 happy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@753 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:34:47 +00:00
Chris Lattner
9f9e2befd0
* Add support for Invoke instructions
...
* Add support for indirect calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@752 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:33:19 +00:00
Chris Lattner
0b693fb125
not is a keyword in Ansi C++. Avoid it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@748 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:30:39 +00:00
Ruchira Sasanka
d33238bb7b
--corrected coalescing test: coalsed only if two are of the same reg class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@729 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:48:18 +00:00
Ruchira Sasanka
c1daae895d
added support for implict operands in machine instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@728 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:47:23 +00:00
Ruchira Sasanka
598641b4ca
--added support for implicit operands in machine instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@727 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:46:27 +00:00
Vikram S. Adve
a995e6086d
Record implicitRefs for each machine instruction instead of
...
each VM instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@725 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-11 04:23:19 +00:00
Vikram S. Adve
8d0ffa553f
Add graph edges due to implicit refs in each machine instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@724 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-11 04:22:45 +00:00
Vikram S. Adve
6db77c55ff
Don't insert useful instructions in delay slot of a RETURN.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@721 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:58:11 +00:00
Vikram S. Adve
8557b226f3
Insert code to load constants used as Call or Return arguments.
...
Also, note return value of a Call as an "implicitUse".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@720 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:56:33 +00:00
Vikram S. Adve
a1d14f3555
Machine-independent code generation routines used in instruction
...
selection. These used to live in several different places before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@719 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:50:43 +00:00
Vikram S. Adve
9aba1d3307
Moved code generation support routines to InstrSelectionSupport.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@717 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:49:07 +00:00
Ruchira Sasanka
0e986d7d28
--removed %g regs being allocated - fix later
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@714 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-09 23:36:13 +00:00
Chris Lattner
43efcbf561
Add comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@712 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 19:35:57 +00:00
Chris Lattner
8921983734
Support multiple global's definitions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@711 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 19:35:04 +00:00
Chris Lattner
4387370c1c
Factor parentness out of Module & GlobalVariable into GlobalValue
...
Implement SymbolTable debug/dump utility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@710 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 19:28:15 +00:00
Chris Lattner
6a57baa295
Rename getNullPointer to getNull
...
Allow sharing of null pointer constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@709 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 15:39:36 +00:00
Chris Lattner
d535c2d163
Rename getNullPointer to getNull
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@708 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 15:39:24 +00:00
Chris Lattner
b747451c9c
Allow duplicate constant values as long as they are compatible.
...
Clean up stuff a little bit with inMethod/ModuleContext functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@707 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 15:39:04 +00:00
Chris Lattner
b973dd75ba
Add check to make sure that we dont reference MEthodType's directly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@704 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 14:59:05 +00:00
Chris Lattner
ef9c23f281
* Both Method & GlobalVariable now subclass GlobalValue
...
* ConstPoolPointerReference now represents a pointer to a GlobalValue
* Methods name references are now explicit pointers to methods
* Rename Value::GlobalVal to Value::GlobalVariableVal to avoid confusion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@703 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 14:53:21 +00:00
Chris Lattner
f4ba6c710c
First try at a horrible global value reference wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@701 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 06:12:09 +00:00
Chris Lattner
d05adbcdce
Clean up parser, fix a bug that prevented this from working:
...
%ListNode3 = global %list { %list* null, int 4 }
because %list is name and the parser expected a literal {..} type there.
In addition, simplified rules that the fix (Allow any Types there, not just a StructType)
made obsolete. Simplified type propogation a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@700 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 03:19:33 +00:00
Chris Lattner
df7306f1b9
* Add support for null as a constant
...
* Allow multiple definitions of a type with the same name as long as they are the same type
* Eagerly resolve types to allow #2 to work instead of after the whole const pool has been processed
* Change grammar to require a const before a local constant definition
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@699 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 01:49:25 +00:00
Chris Lattner
b00c582b6d
Commit more code over to new cast style
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-02 03:41:24 +00:00
Chris Lattner
1d87bcf490
Convert more code to use new style casts
...
Eliminate old style casts from value.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 20:11:19 +00:00
Chris Lattner
cfe26c930a
Add more support for new style casts
...
Convert more code to use them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@695 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 18:26:53 +00:00
Chris Lattner
9636a91649
Add support for new style casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 16:18:37 +00:00
Chris Lattner
f0604b84c7
Pull predecessor and successor iterators out of the CFG*.h files, and plop them into
...
the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@691 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 13:19:53 +00:00
Chris Lattner
39f501ca41
Fix emission of return instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@688 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 02:32:34 +00:00
Vikram S. Adve
4cecdd206e
Several fixes:
...
(1) Avoid hard-coding some register numbers.
(2) Fix some incorrect branch opcodes.
(3) Don't try to move int register to float register!
(4) If an operand being forwarded is a constant and it doesn't fit
into the immed field of the copy machine instruction, then
generate a load-constant instead of a copy.
(5) Use (unsigned long) 0 for copying a pointer via "add 0, ptr -> ptr2".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@683 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 00:12:53 +00:00
Ruchira Sasanka
71939033de
removing phy regaloc - incorrect file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@682 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:52:14 +00:00
Vikram S. Adve
6e64ef4008
Change latency of setuw and setsw to 2 cycles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@681 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:46:57 +00:00
Vikram S. Adve
64c2cedd66
Change ! ( ...== ...) to !=.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@680 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:45:08 +00:00
Vikram S. Adve
e949da5bb1
Improved dump for disp type operand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@679 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:44:19 +00:00
Vikram S. Adve
c5b4632c27
Bug fixes:
...
(1) Ensure that delay slot instructions are not moved out of place (this
was happening for some CALL instructions). Basically, we need to
move all delay slot instructions out of the graph and handle them
along with the delayed control transfer instruction.
(2) Mark scheduled instructions correctly when instructions are scheduled
in more than one cycle in a single step (due to delay slots).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@678 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:43:34 +00:00
Vikram S. Adve
4a87b38ba9
Minor changes for bug fixes in SchedGraph.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@677 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:37:26 +00:00
Vikram S. Adve
5316f8fa2f
Two bug fixes:
...
(1) Add edges for Values that are written by multiple m/c instructions
(2) Add edges for LLVM operands that are not machine operands (e.g., Call args)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@676 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:36:58 +00:00
Ruchira Sasanka
aca997cbd7
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@675 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:28:04 +00:00
Ruchira Sasanka
ab304c42c2
added suggesting color support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@673 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:19:57 +00:00
Ruchira Sasanka
91442282d8
added support for suggesting colors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@671 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:16:47 +00:00
Ruchira Sasanka
a5ab9648a8
--added suggesting colors; call/ret arg handling
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@670 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:11:59 +00:00
Chris Lattner
1a1cb111fe
Implement constant pointers, and null specifically in the parser, bytecode writer, and
...
bytecode reader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@668 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 22:46:54 +00:00
Chris Lattner
4cfb153316
Implement a constant pointer value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@667 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 20:14:07 +00:00
Chris Lattner
41c2e5c434
File #include file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@665 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 22:56:43 +00:00
Chris Lattner
3ff4387113
Pull iterators out of CFG.h and CFGdecls and put them in Support directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@664 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 22:56:31 +00:00
Chris Lattner
c56d779501
* Properly escape function names
...
* Ignore %xcc argument on conditional branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@663 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 15:07:24 +00:00
Chris Lattner
5070c6a512
Check in bug fix for vadve
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@662 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 15:06:55 +00:00
Chris Lattner
41fbf305ee
Initial support for construction of a call graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@660 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:08:15 +00:00
Chris Lattner
5efec28901
Make error report a little more useful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@657 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:06:52 +00:00
Chris Lattner
8a396e57ab
ADCE is broken but at least we know why
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@656 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:06:42 +00:00
Ruchira Sasanka
a5564c61e8
-- fixed a ret val bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@652 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 22:40:51 +00:00
Ruchira Sasanka
24fad613ba
-- removed debugging messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@651 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 22:39:58 +00:00
Ruchira Sasanka
23d95af632
-fixed return value bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@650 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 22:31:21 +00:00
Chris Lattner
045e7c8434
Change debug info from #define to command line option
...
Clean up extra debug info that wasn't guarded
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@647 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:26:23 +00:00
Chris Lattner
6edcad89e7
Change debug info from #define to command line option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@646 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:26:10 +00:00
Chris Lattner
4c3aaa4adb
* REMOVE extraneous debug info if DEBUG_RA is not set
...
* Spell PhyRegAlloc right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@645 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:09:04 +00:00
Chris Lattner
9a3d63bcbe
Seperate instruction definitions into new SparcInstr.def file
...
Move contents of SparcMachineInstrDesc[] out of SparcInternals.h
into Sparc.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@644 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 15:56:23 +00:00
Chris Lattner
c04bf0724a
Okay, make the member function work.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@643 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 14:09:25 +00:00
Chris Lattner
45f598806b
Remove global debug output fns that have been superceded by a member func
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@642 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 14:08:53 +00:00
Chris Lattner
8c770be801
Add EmitAssembly to mf
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@637 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 13:48:18 +00:00
Chris Lattner
e88f78cce3
First cut at assembly output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@636 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 13:47:27 +00:00
Chris Lattner
32f600a8bf
Add emitAssemblyMethod to TargetMachine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@635 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 13:47:12 +00:00
Ruchira Sasanka
80acc6cf43
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@634 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:57:47 +00:00
Ruchira Sasanka
89fb46b00b
-- ruchira
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@632 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:52:44 +00:00
Ruchira Sasanka
e727f8553d
-- updated printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@631 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:43:57 +00:00
Chris Lattner
7e5450312d
Remove a copy of a bunch of code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@630 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 18:15:40 +00:00
Chris Lattner
bcbb6b3fac
Fix up code a bit, remove operator<< to Assembly/Writer.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@628 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:03:59 +00:00
Chris Lattner
767b78fb39
Remove extraneous #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@627 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:03:48 +00:00
Chris Lattner
921b5e1471
Don't check for null on delete
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@624 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:02:42 +00:00
Vikram S. Adve
e6cbbfeead
Renamed files to match the primary classes they provide.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@620 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:10:05 +00:00
Vikram S. Adve
f1adecc7c7
Renamed a header file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@619 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:04:53 +00:00
Vikram S. Adve
339084b908
Make class TargetMachine the common interface to all target-dependent
...
information, including instr, sched, and reg information.
This allows us to allocate them all in one place and use them much
more uniformly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@618 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:04:24 +00:00
Vikram S. Adve
243dd45820
Allow pointer constants as well as integer and booleans.
...
Skip over list nodes in ForwardOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@617 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:03:13 +00:00
Vikram S. Adve
0fb498017a
Make class TargetMachine the common interface to all target-dependent
...
information, including instr, sched, and reg information.
Rename files to match the primary classes they provide.
Commented out call to register allocation until more tests run correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@616 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:01:29 +00:00
Vikram S. Adve
0799fc479a
Renamed files to match the main classes they provide.
...
Some other minor changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@615 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:58:33 +00:00
Vikram S. Adve
137f7202c7
Cast unsigned to int! It was causing a nice little bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@614 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:57:39 +00:00
Vikram S. Adve
6e44718192
Minor changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@613 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:56:28 +00:00
Vikram S. Adve
4c31fb5fbb
Don't add instructions to subtree for Phi or Call.
...
Free tree nodes when done.
Avoid obscuring code with for_each and bind_obj :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@612 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:54:27 +00:00
Vikram S. Adve
fe30f1f664
Format file header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@611 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:52:03 +00:00
Vikram S. Adve
f0ba28045f
Add new entry/exit edges when removing delay slot nodes from the graph.
...
Renamed some header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@610 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:51:38 +00:00
Vikram S. Adve
8b6d245693
Moved erase edge functions to class SchedGraph.
...
Add new dummy edges when deleting existing edges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@609 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:50:40 +00:00
Vikram S. Adve
851d44c522
Renamed some header files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@608 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:49:39 +00:00
Vikram S. Adve
f0b6d7960c
Moved erase-edge functions from SchedGraphNode to SchedGraph.
...
Renamed some header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@607 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:49:26 +00:00
Vikram S. Adve
5efa3ccbd1
Moved DebugValue to Value.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@606 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:48:16 +00:00
Vikram S. Adve
bb6a8c0849
Added debugging support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@605 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:44:41 +00:00
Vikram S. Adve
4bc86976bb
Minor fixes: renamed target machine files; fold sched info into TargetMachine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@603 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:41:43 +00:00
Chris Lattner
7f5ef148b0
Remove the unsized array constraint
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@599 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:38:32 +00:00
Chris Lattner
d70684f758
Add support for global constants, and for initializers for constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@598 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:01:05 +00:00
Chris Lattner
1781acab34
Add support for global constants, and for initializers for constants
...
Clean up parser somewhat by factoring out freeing of ID's into setname function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@597 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:00:54 +00:00
Ruchira Sasanka
6b0a8b5b1a
modified machine code printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@595 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 21:11:11 +00:00
Ruchira Sasanka
866f1385b4
modified printing of debug messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@593 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:11:31 +00:00
Ruchira Sasanka
6053b9337b
--added methods for printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@592 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:08:41 +00:00
Ruchira Sasanka
ed8f674b9a
added setRegForValue to MachineOperand class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@591 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:07:45 +00:00
Ruchira Sasanka
0931a01f57
fixed printing messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@590 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:06:58 +00:00
Ruchira Sasanka
4d0d632927
-- debug messages dissabled
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@589 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 16:54:40 +00:00
Ruchira Sasanka
1bf6d645cd
--reg alloc code added
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@587 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:33:26 +00:00
Ruchira Sasanka
1f3b29fc72
-reg alloc code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@586 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:31:44 +00:00
Ruchira Sasanka
e38bd53361
added register allocation code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@585 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:30:44 +00:00
Chris Lattner
e4d71a1e18
Fix a bug with not removing method level types after compilation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@582 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 22:03:42 +00:00
Ruchira Sasanka
1506aef6d4
added RegAlloc Directory to DIRS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@581 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 21:28:17 +00:00
Ruchira Sasanka
8e6047920d
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@580 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 21:18:34 +00:00
Ruchira Sasanka
94d86e9677
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@579 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:31:39 +00:00
Chris Lattner
7163447b9d
Add support for loading and storing pointers...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@575 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:00:02 +00:00
Chris Lattner
ffe335ace1
Fix a bug that caused a crash if a setcc had zero uses.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@574 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 18:29:28 +00:00
Chris Lattner
c0c77083ba
Add a forward decl, oops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@573 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 17:55:51 +00:00
Chris Lattner
46cbff625e
Chris seems fond of #include <vector>. Fix these. Also convert use list in
...
Value to a vector instead of a list.
Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@572 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:56:32 +00:00
Chris Lattner
78a81a24e1
Add a comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@571 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:08:12 +00:00
Chris Lattner
c7634618ca
Break scheduling infrastructure out of TargetMachine.cpp into SchedInfo.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@569 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 15:43:58 +00:00
Chris Lattner
e5bc8b0653
Split Target/Machine.h into three files:
...
* Machine.h
* InstInfo.h
* SchedInfo.h
TODO: Split out reg info stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@567 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 06:08:03 +00:00
Chris Lattner
b26bcc5087
Make a new llvm/Target #include directory.
...
Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 05:34:53 +00:00
Chris Lattner
f6e0e28135
Checkin changes to:
...
1. Clean up the TargetMachine structure. No more wierd pointers that have to
be cast around and taken care of by the target.
2. Instruction Scheduling now takes the schedinfo as an argument. The same
should be done with the instinfo, it just isn't now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@565 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 04:32:55 +00:00
Chris Lattner
c6495eeef6
Move files to new sparc directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@563 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:56:45 +00:00
Chris Lattner
f6374bfd69
Move the sparc target to a new lib/Target directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@562 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:55:11 +00:00
Chris Lattner
20b1ea0c98
Move files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@561 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:47:57 +00:00
Chris Lattner
1fddfd18ab
Move the contents of the CodeGen/TargetMachine/Sparc directory to Target/Sparc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@560 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:46:34 +00:00
Chris Lattner
0e6530ee1b
This checkin represents some cleanup of the backend, implementing the following things:
...
1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory. The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@559 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:37:52 +00:00
Chris Lattner
0811f76860
This checkin represents some cleanup of the backend, implementing the following things:
...
1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory. The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.
NOTE! The BBLiveVar.cpp file dependant on the Sparc backend, and is therefore not generic/portale to other backends. This needs to be fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@558 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:37:22 +00:00
Chris Lattner
d8dc93d0ac
Updates to use local header files.
...
Note that this reverted changes that Ruchira commited that broke the build and
are unmaintainable without other checkins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@557 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:33:32 +00:00
Chris Lattner
5f6baf78ea
More cleanups, preparing to revamp InstrForest to, among other things,
...
not leak all its allocated memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@553 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-12 16:34:03 +00:00
Chris Lattner
4ddb4c82d7
* Clean up InstrForest
...
* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)
begin
seteq int *%x, %y
ret void
end
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@552 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-12 01:28:49 +00:00
Chris Lattner
d268ad6e2e
Eliminate 'BasicNode' from InstrForest.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@551 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:52:11 +00:00
Chris Lattner
c2a2396e17
Eliminate MainTreeNode function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@550 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:22:43 +00:00
Chris Lattner
974e73a086
Remove irrelevant gross K&R Cisms
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@549 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:13:38 +00:00
Chris Lattner
69f8ce051e
Handle subtract in expression classifier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@548 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 04:27:34 +00:00
Chris Lattner
e93cdce4c9
Use the correct style casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@546 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:12:04 +00:00
Chris Lattner
ca24d381e7
Use correct style casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@545 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:11:44 +00:00
Chris Lattner
243f1f7315
Use correct style casts
...
Types are not all constant now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@544 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:11:28 +00:00
Chris Lattner
c4e09ec453
Use type checking predicates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@543 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:10:26 +00:00
Chris Lattner
79a4aeb61c
Use correct casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@542 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:10:02 +00:00
Chris Lattner
1a4f8ae3c8
Use predicate for Value type test
...
Use builtin casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@541 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:09:50 +00:00
Chris Lattner
919758563d
Use predicate for Value type test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@540 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:09:28 +00:00
Chris Lattner
b64e774ce5
ModuleTyID doesn't exist anyymore
...
Use correct cast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@539 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:09:08 +00:00
Chris Lattner
1767edd983
getMethodType is now just getType
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@538 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:08:52 +00:00
Chris Lattner
b0e4523624
Add support for printing globals
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@537 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:08:19 +00:00
Chris Lattner
b2d22f6dce
Update to use correct type cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@536 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:08:08 +00:00
Chris Lattner
fad0d4f1d4
Add support for global variables
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@535 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:07:57 +00:00
Chris Lattner
b221a76386
Fix a bug I introduced (assertion failed: Unknown operand type), and convert to predicate style for type checks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@531 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 19:43:38 +00:00
Chris Lattner
70cc3397f8
Implement global variable support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@530 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 07:58:01 +00:00
Chris Lattner
7720c8e1a7
Add support for external methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@529 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 04:50:17 +00:00
Chris Lattner
365a76e46e
Genericize support for calling functions a bit
...
Add external method support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@528 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 04:49:44 +00:00