| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Cute bug fix: when moving links from N to this, some links could have | Vikram S. Adve | 2002-12-05 | 1 | -14/+23 |
| | | | | | | | | been missed if node *this got merged away due to recursive merging! Also, links were not moved correctly if a node is collapsed. llvm-svn: 4933 | ||||
| * | Target/X86/Printer.cpp: Add sizePtr function, and use it instead of | Brian Gaeke | 2002-12-05 | 3 | -111/+143 |
| | | | | | | | | | | | | | | | | | | | " <SIZE> PTR " string when emitting assembly. Target/X86/X86InstrInfo.def: Tidy up a bit: Squashed everything down to 118 chars wide, wrapping lines so that comment is at the same point on each line. Rename "NoImpRegs" as "NoIR". (most instructions have NoImpRegs twice on a line, so this saves 10 columns). Also, annotate various instructions with flags for size of memory operand. (MemArg16, MemArg32, MemArg64, etc.) Target/X86/X86InstrInfo.h: Define flags for size of memory operand. (MemArg16, MemArg32, MemArg64, etc.) llvm-svn: 4932 | ||||
| * | Added code generation for function prologues and epilogues. | Misha Brukman | 2002-12-04 | 1 | -17/+32 |
| | | | | | llvm-svn: 4930 | ||||
| * | Implemented functions for emitting prologues and epilogues; | Misha Brukman | 2002-12-04 | 2 | -1/+62 |
| | | | | | | | removed EBP from the list of callee-saved registers (it isn't one). llvm-svn: 4929 | ||||
| * | Added push and pop instructions. | Misha Brukman | 2002-12-04 | 1 | -1/+2 |
| | | | | | llvm-svn: 4928 | ||||
| * | Fix handling of function calls that return void | Chris Lattner | 2002-12-04 | 1 | -9/+11 |
| | | | | | llvm-svn: 4925 | ||||
| * | Implement initial support for return values from call instructions | Chris Lattner | 2002-12-04 | 1 | -0/+14 |
| | | | | | llvm-svn: 4924 | ||||
| * | Fun arithmetic with iterators aimed at fixing a bug: inserting instructions | Misha Brukman | 2002-12-04 | 1 | -2/+4 |
| | | | | | | | | after the *current* instruction while keeping the iterator in the same 'logical' place. llvm-svn: 4923 | ||||
| * | Adjust the stack pointer after a function call, proportional to the number of | Misha Brukman | 2002-12-04 | 1 | -0/+9 |
| | | | | | | | arguments pushed onto the stack. llvm-svn: 4922 | ||||
| * | Added instructions to add/subtract imm32 to/from a reg32. | Misha Brukman | 2002-12-04 | 1 | -0/+2 |
| | | | | | llvm-svn: 4921 | ||||
| * | Fix bogus assertion failures | Chris Lattner | 2002-12-04 | 3 | -3/+3 |
| | | | | | llvm-svn: 4919 | ||||
| * | Avoid bad assertion | Chris Lattner | 2002-12-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 4918 | ||||
| * | Remove think-o assertion | Chris Lattner | 2002-12-04 | 1 | -2/+0 |
| | | | | | llvm-svn: 4917 | ||||
| * | Avoid crashing on Arguments, just silently miscompile | Chris Lattner | 2002-12-04 | 1 | -0/+2 |
| | | | | | llvm-svn: 4916 | ||||
| * | storeReg2RegOffset() and loadRegOffset2Reg() now take the iterator by value | Misha Brukman | 2002-12-04 | 2 | -4/+4 |
| | | | | | | | instead of by reference, since they return the modified iterator. llvm-svn: 4914 | ||||
| * | Moved buildReg2RegClassMap() into from X86RegisterInfo to MRegisterInfo, since | Misha Brukman | 2002-12-04 | 2 | -15/+0 |
| | | | | | | | it is target-independent. llvm-svn: 4911 | ||||
| * | Add a "Lazy Function Resolution in Jello" section | Chris Lattner | 2002-12-04 | 1 | -14/+40 |
| | | | | | | | Remove some todo's llvm-svn: 4910 | ||||
| * | Fix a bug I introduced in a previous change | Chris Lattner | 2002-12-04 | 1 | -2/+4 |
| | | | | | llvm-svn: 4909 | ||||
| * | Add support for referencing global variables/functions | Chris Lattner | 2002-12-04 | 4 | -5/+31 |
| | | | | | llvm-svn: 4907 | ||||
| * | Print out direct global references | Chris Lattner | 2002-12-04 | 1 | -1/+4 |
| | | | | | llvm-svn: 4906 | ||||
| * | This should fix the bug seen with some registers not being allocated | Misha Brukman | 2002-12-03 | 1 | -6/+45 |
| | | | | | | | | | | | | correctly: skipping instructions by incorrectly incrementing the pointer. Also adds support for building a reg-to-regclass map, and splits the function for saving register to stack into two, one suitable for virtual registers (which also assigns it a physical register) and one for simply storing back physical registers. llvm-svn: 4898 | ||||
| * | Added support for callee- and caller-save registers. | Misha Brukman | 2002-12-03 | 2 | -0/+30 |
| | | | | | llvm-svn: 4897 | ||||
| * | Fix broken ret opcode, grr... | Chris Lattner | 2002-12-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 4895 | ||||
| * | Checkin debug implementation of MCE | Chris Lattner | 2002-12-03 | 1 | -0/+41 |
| | | | | | llvm-svn: 4893 | ||||
| * | Fix instsel for calls | Chris Lattner | 2002-12-03 | 1 | -3/+2 |
| | | | | | llvm-svn: 4891 | ||||
| * | Simplify code | Chris Lattner | 2002-12-03 | 1 | -118/+13 |
| | | | | | llvm-svn: 4886 | ||||
| * | Fix big bug introduced with symbol table changes | Chris Lattner | 2002-12-03 | 1 | -2/+2 |
| | | | | | llvm-svn: 4885 | ||||
| * | Fix the build | Chris Lattner | 2002-12-03 | 1 | -2/+2 |
| | | | | | llvm-svn: 4884 | ||||
| * | brg | Brian Gaeke | 2002-12-03 | 1 | -3/+14 |
| | | | | | | | Add support for cast ... to bool in visitCastInst (it's a start, anyways...) llvm-svn: 4883 | ||||
| * | Split the machine code emitter completely out of the printer | Chris Lattner | 2002-12-03 | 3 | -203/+381 |
| | | | | | llvm-svn: 4882 | ||||
| * | * Move information about Implicit Defs/Uses into X86InstrInfo.def. | Chris Lattner | 2002-12-03 | 5 | -207/+131 |
| | | | | | | | | * Expose information about implicit defs/uses of register through the MachineInstrInfo.h file. llvm-svn: 4877 | ||||
| * | Initialize implicit uses/defs fields for sparc backend to empty list | Chris Lattner | 2002-12-03 | 1 | -1/+3 |
| | | | | | llvm-svn: 4876 | ||||
| * | brg | Brian Gaeke | 2002-12-03 | 3 | -1/+108 |
| | | | | | | | | X86Implicit.cpp, X86Implicit.h: New files. InstSelectSimple.cpp: Add some clarifications in visitCallInst comments. llvm-svn: 4874 | ||||
| * | More support for machine code emission: raw instructions | Chris Lattner | 2002-12-02 | 2 | -12/+30 |
| | | | | | llvm-svn: 4872 | ||||
| * | Expose explicit type | Chris Lattner | 2002-12-02 | 1 | -1/+1 |
| | | | | | llvm-svn: 4871 | ||||
| * | Start implementing MachineCodeEmitter | Chris Lattner | 2002-12-02 | 2 | -6/+72 |
| | | | | | llvm-svn: 4870 | ||||
| * | Eliminate OtherFrm | Chris Lattner | 2002-12-02 | 1 | -10/+6 |
| | | | | | llvm-svn: 4868 | ||||
| * | Remove comment | Chris Lattner | 2002-12-02 | 1 | -7/+0 |
| | | | | | | | Remove handling of OtherFrm llvm-svn: 4867 | ||||
| * | Initial support for machine code emission | Chris Lattner | 2002-12-02 | 3 | -0/+81 |
| | | | | | llvm-svn: 4866 | ||||
| * | Ignore generated files Lexer.cpp and llvmAsmParser.* | Misha Brukman | 2002-12-02 | 1 | -0/+2 |
| | | | | | llvm-svn: 4861 | ||||
| * | * Abstracted out stack space allocation into its own function | Misha Brukman | 2002-12-02 | 1 | -34/+36 |
| | | | | | | | * Added saving of register values to the stack llvm-svn: 4858 | ||||
| * | Fix order of operands on a store from reg to [reg+offset]. | Misha Brukman | 2002-12-02 | 1 | -2/+2 |
| | | | | | llvm-svn: 4857 | ||||
| * | Add rawfrm flags | Chris Lattner | 2002-12-01 | 2 | -7/+26 |
| | | | | | llvm-svn: 4841 | ||||
| * | Don't add implicit regs | Chris Lattner | 2002-12-01 | 1 | -1/+1 |
| | | | | | llvm-svn: 4840 | ||||
| * | brg | Brian Gaeke | 2002-11-30 | 1 | -49/+74 |
| | | | | | | | | | InstSelectSimple.cpp: Refactor out conversion of byte, short -> int from visitReturnInst() to new method, promote32(). Use it in both visitReturnInst() and visitCallInst(). llvm-svn: 4839 | ||||
| * | brg | Brian Gaeke | 2002-11-29 | 2 | -4/+27 |
| | | | | | | | | | | InstSelectSimple.cpp: First draft of visitCallInst method, handling int/float args. X86InstrInfo.def: Add entries for CALL with 32-bit pc relative arg, and PUSH with 32-bit reg arg. llvm-svn: 4838 | ||||
| * | Fix logical error in TD pass: we should clear Mod/Ref bits of each caller | Vikram S. Adve | 2002-11-27 | 3 | -8/+17 |
| | | | | | | | | before inlining their graphs into a function. To support this, added flags to CloneFlags to strip/keep Mod/Ref bits. llvm-svn: 4836 | ||||
| * | (1) Bug fix that was causing nodes with dangling references to be freed. | Vikram S. Adve | 2002-11-27 | 1 | -77/+201 |
| | | | | | | | | | | | We run removeDeadNodes() on the TD graph up front before using it. (2) Major enhancement to printing of results: now we list the actual objects that are mod/ref instead of just printing the bit vectors. Also an important bug fix in TDDataStructures pass (no change here): clear Mod/Ref bits of callers before inlining into a function. llvm-svn: 4833 | ||||
| * | brg | Brian Gaeke | 2002-11-26 | 1 | -3/+33 |
| | | | | | | | | InstSelectSimple.cpp: Add some comments that say what I'm going to do for calls and casts. llvm-svn: 4832 | ||||
| * | Keep global nodes in each DS Graph (by forcing them to be marked live). | Vikram S. Adve | 2002-11-25 | 1 | -3/+3 |
| | | | | | llvm-svn: 4831 | ||||

