aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* added support for implict operands in machine instructionRuchira Sasanka2001-10-124-58/+152
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@728 91177308-0d34-0410-b5e6-96231b3b80d8
* --added support for implicit operands in machine instructionsRuchira Sasanka2001-10-124-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@727 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete *.s on clean.Vikram S. Adve2001-10-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@726 91177308-0d34-0410-b5e6-96231b3b80d8
* Record implicitRefs for each machine instruction instead ofVikram S. Adve2001-10-112-72/+115
| | | | | | | each VM instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@725 91177308-0d34-0410-b5e6-96231b3b80d8
* Add graph edges due to implicit refs in each machine instruction.Vikram S. Adve2001-10-112-54/+104
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@724 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a rule for building TAGS.Vikram S. Adve2001-10-102-2/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@723 91177308-0d34-0410-b5e6-96231b3b80d8
* Repeat some libs due to circular dependences between Sparc and otherVikram S. Adve2001-10-101-1/+1
| | | | | | | code gen libraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@722 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't insert useful instructions in delay slot of a RETURN.Vikram S. Adve2001-10-104-54/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@721 91177308-0d34-0410-b5e6-96231b3b80d8
* Insert code to load constants used as Call or Return arguments.Vikram S. Adve2001-10-101-39/+94
| | | | | | | 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
* Machine-independent code generation routines used in instructionVikram S. Adve2001-10-103-0/+816
| | | | | | | 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
* Moved code generation support routines to InstrSelectionSupport.{h,cpp}.Vikram S. Adve2001-10-102-77/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@718 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved code generation support routines to InstrSelectionSupport.cpp.Vikram S. Adve2001-10-103-303/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@717 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved first function to "simpleadd.ll".Vikram S. Adve2001-10-101-24/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@716 91177308-0d34-0410-b5e6-96231b3b80d8
* testmemory and sumarray now work with instruction selection.Vikram S. Adve2001-10-101-3/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@715 91177308-0d34-0410-b5e6-96231b3b80d8
* --removed %g regs being allocated - fix laterRuchira Sasanka2001-10-091-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@714 91177308-0d34-0410-b5e6-96231b3b80d8
* Add hack to get rid of malloc & free instructions for code generationChris Lattner2001-10-041-4/+123
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@713 91177308-0d34-0410-b5e6-96231b3b80d8
* Add commentChris Lattner2001-10-031-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@712 91177308-0d34-0410-b5e6-96231b3b80d8
* Support multiple global's definitionsChris Lattner2001-10-031-23/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@711 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor parentness out of Module & GlobalVariable into GlobalValueChris Lattner2001-10-038-19/+46
| | | | | | | Implement SymbolTable debug/dump utility git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@710 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename getNullPointer to getNullChris Lattner2001-10-031-1/+13
| | | | | | | Allow sharing of null pointer constants git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@709 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename getNullPointer to getNullChris Lattner2001-10-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@708 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow duplicate constant values as long as they are compatible.Chris Lattner2001-10-031-36/+62
| | | | | | | 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
* Share ConstPoolPointer elements correctlyChris Lattner2001-10-032-5/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@706 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix broken testcaseChris Lattner2001-10-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@705 91177308-0d34-0410-b5e6-96231b3b80d8
* Add check to make sure that we dont reference MEthodType's directlyChris Lattner2001-10-031-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@704 91177308-0d34-0410-b5e6-96231b3b80d8
* * Both Method & GlobalVariable now subclass GlobalValueChris Lattner2001-10-0321-71/+145
| | | | | | | | | * 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
* Adjust test cases to match the fact that methods are now explicit pointer ↵Chris Lattner2001-10-037-11/+11
| | | | | | values, not explicit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@702 91177308-0d34-0410-b5e6-96231b3b80d8
* First try at a horrible global value reference wrapperChris Lattner2001-10-033-19/+79
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@701 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up parser, fix a bug that prevented this from working:Chris Lattner2001-10-031-66/+52
| | | | | | | | | | | | %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
* * Add support for null as a constantChris Lattner2001-10-032-28/+59
| | | | | | | | | * 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
* Modify testcases for new LLVM const syntaxChris Lattner2001-10-035-21/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@698 91177308-0d34-0410-b5e6-96231b3b80d8
* Commit more code over to new cast styleChris Lattner2001-10-0242-233/+349
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert more code to use new style castsChris Lattner2001-10-0129-134/+150
| | | | | | | Eliminate old style casts from value.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more support for new style castsChris Lattner2001-10-0123-94/+145
| | | | | | | Convert more code to use them git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@695 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for new style castsChris Lattner2001-10-0124-66/+119
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for newer cleaner isa, cast, dyn_castChris Lattner2001-10-014-3/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@693 91177308-0d34-0410-b5e6-96231b3b80d8
* Update commentsChris Lattner2001-10-011-3/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@692 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull predecessor and successor iterators out of the CFG*.h files, and plop ↵Chris Lattner2001-10-0116-368/+176
| | | | | | | | | | 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
* Pull predecessor and successor iterators out of the CFG*.h files, and plop ↵Chris Lattner2001-10-012-30/+21
| | | | | | | | | | | | 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. Also pull Interval stuff into the Interval class out of the global namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@690 91177308-0d34-0410-b5e6-96231b3b80d8
* Comment out a paragraph that refers to a file that no longer existsChris Lattner2001-10-011-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@689 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix emission of return instructionsChris Lattner2001-10-011-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@688 91177308-0d34-0410-b5e6-96231b3b80d8
* Add path to as so it doesn't find llvm as if that path is set.Chris Lattner2001-10-011-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@687 91177308-0d34-0410-b5e6-96231b3b80d8
* Exclude a couple of tests that the regalloc stuff doesn't handle yetChris Lattner2001-10-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@686 91177308-0d34-0410-b5e6-96231b3b80d8
* Add different "cast constant value" for several possible types.Vikram S. Adve2001-10-011-10/+19
| | | | | | | Note these are actually generated by Phis with constant operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@685 91177308-0d34-0410-b5e6-96231b3b80d8
* Add vector `implicitUses' to class MachineCodeForVMInstr to hold valuesVikram S. Adve2001-10-011-12/+19
| | | | | | | | that are used by the VM instruction but not explicit operands of the m/c instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@684 91177308-0d34-0410-b5e6-96231b3b80d8
* Several fixes:Vikram S. Adve2001-10-011-1222/+1301
| | | | | | | | | | | | | (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
* removing phy regaloc - incorrect fileRuchira Sasanka2001-09-302-974/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@682 91177308-0d34-0410-b5e6-96231b3b80d8
* Change latency of setuw and setsw to 2 cycles.Vikram S. Adve2001-09-301-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@681 91177308-0d34-0410-b5e6-96231b3b80d8
* Change ! ( ...== ...) to !=.Vikram S. Adve2001-09-302-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@680 91177308-0d34-0410-b5e6-96231b3b80d8
* Improved dump for disp type operand.Vikram S. Adve2001-09-301-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@679 91177308-0d34-0410-b5e6-96231b3b80d8