| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Ensure that dump calls that are associated with asserts are removed from | Jim Laskey | 2006-07-11 | 1 | -1/+1 | |
| | | | | | | | non-debug build. llvm-svn: 29105 | |||||
| * | Instructions with variable operands (variable_ops) can have a number required | Evan Cheng | 2006-06-15 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | operands. e.g. def CALL32r : I<0xFF, MRM2r, (ops GR32:$dst, variable_ops), "call {*}$dst", [(X86call GR32:$dst)]>; TableGen should emit operand informations for the "required" operands. Added a target instruction info flag M_VARIABLE_OPS to indicate the target instruction may have more operands in addition to the minimum required operands. llvm-svn: 28791 | |||||
| * | commuteInstruction() does not always create a new MI! | Evan Cheng | 2006-05-31 | 1 | -2/+4 | |
| | | | | | llvm-svn: 28592 | |||||
| * | Eliminate a memory leak. | Evan Cheng | 2006-05-31 | 1 | -0/+1 | |
| | | | | | llvm-svn: 28585 | |||||
| * | lib/Target/Target.td | Evan Cheng | 2006-05-18 | 1 | -12/+13 | |
| | | | | | llvm-svn: 28386 | |||||
| * | Move function-live-in-handling code from the sdisel code to the scheduler. | Chris Lattner | 2006-05-16 | 1 | -0/+14 | |
| | | | | | | | | | | This code should be emitted after legalize, so it can't be in sdisel. Note that the EmitFunctionEntryCode hook should be updated to operate on the DAG. The X86 backend is the only one currently using this hook. llvm-svn: 28315 | |||||
| * | Fixing 2006-05-01-SchedCausingSpills.ll; some clean up | Evan Cheng | 2006-05-13 | 1 | -6/+6 | |
| | | | | | llvm-svn: 28279 | |||||
| * | Refactor a bunch of includes so that TargetMachine.h doesn't have to include | Owen Anderson | 2006-05-12 | 1 | -0/+1 | |
| | | | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. llvm-svn: 28238 | |||||
| * | Duh. That could take a long time. | Evan Cheng | 2006-05-12 | 1 | -11/+15 | |
| | | | | | llvm-svn: 28235 | |||||
| * | Add capability to scheduler to commute nodes for profit. | Evan Cheng | 2006-05-12 | 1 | -7/+15 | |
| | | | | | | | | If a two-address code whose first operand has uses below, it should be commuted when possible. llvm-svn: 28230 | |||||
| * | Refactor scheduler code. Move register-reduction list scheduler to a | Evan Cheng | 2006-05-11 | 1 | -0/+251 | |
| | | | | | | | | separate file. Added an initial implementation of top-down register pressure reduction list scheduler. llvm-svn: 28226 | |||||
| * | Remove and simplify some more machineinstr/machineoperand stuff. | Chris Lattner | 2006-05-04 | 1 | -1/+1 | |
| | | | | | llvm-svn: 28105 | |||||
| * | Rename MO_VirtualRegister -> MO_Register. Clean up immediate handling. | Chris Lattner | 2006-05-04 | 1 | -3/+3 | |
| | | | | | llvm-svn: 28104 | |||||
| * | Remove a bunch more SparcV9 specific stuff | Chris Lattner | 2006-05-04 | 1 | -5/+5 | |
| | | | | | llvm-svn: 28093 | |||||
| * | Refactor TargetMachine, pushing handling of TargetData into the ↵ | Owen Anderson | 2006-05-03 | 1 | -2/+2 | |
| | | | | | | | | | target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074 | |||||
| * | JumpTable support! What this represents is working asm and jit support for | Nate Begeman | 2006-04-22 | 1 | -0/+3 | |
| | | | | | | | | | x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. llvm-svn: 27947 | |||||
| * | fix spello | Chris Lattner | 2006-03-24 | 1 | -1/+1 | |
| | | | | | llvm-svn: 27053 | |||||
| * | TargetData doesn't know the alignment of vectors :( | Chris Lattner | 2006-03-20 | 1 | -1/+8 | |
| | | | | | llvm-svn: 26884 | |||||
| * | Move some simple-sched-specific instance vars to the simple scheduler. | Chris Lattner | 2006-03-10 | 1 | -3/+0 | |
| | | | | | llvm-svn: 26690 | |||||
| * | prune #includes | Chris Lattner | 2006-03-10 | 1 | -5/+0 | |
| | | | | | llvm-svn: 26689 | |||||
| * | move some simple scheduler methods into the simple scheduler | Chris Lattner | 2006-03-10 | 1 | -235/+0 | |
| | | | | | llvm-svn: 26688 | |||||
| * | Make EmitNode take a SDNode instead of a NodeInfo* | Chris Lattner | 2006-03-10 | 1 | -4/+3 | |
| | | | | | llvm-svn: 26687 | |||||
| * | Move the VRBase field from NodeInfo to being a separate, explicit, map. | Chris Lattner | 2006-03-10 | 1 | -11/+24 | |
| | | | | | llvm-svn: 26686 | |||||
| * | Push PrepareNodeInfo/IdentifyGroups down the inheritance hierarchy | Chris Lattner | 2006-03-10 | 1 | -4/+0 | |
| | | | | | llvm-svn: 26682 | |||||
| * | Change the interface for getting a target HazardRecognizer to be more clean. | Chris Lattner | 2006-03-08 | 1 | -1/+1 | |
| | | | | | llvm-svn: 26608 | |||||
| * | When a hazard recognizer needs noops to be inserted, do so. This represents | Chris Lattner | 2006-03-05 | 1 | -0/+4 | |
| | | | | | | | noops as null pointers in the instruction sequence. llvm-svn: 26564 | |||||
| * | Added an offset field to ConstantPoolSDNode. | Evan Cheng | 2006-02-25 | 1 | -1/+2 | |
| | | | | | llvm-svn: 26371 | |||||
| * | Pass all the flags to the asm printer, not just the # operands. | Chris Lattner | 2006-02-24 | 1 | -1/+1 | |
| | | | | | llvm-svn: 26362 | |||||
| * | rename NumOps -> NumVals to avoid shadowing a NumOps var in an outer scope. | Chris Lattner | 2006-02-24 | 1 | -5/+11 | |
| | | | | | | | Add support for addressing modes. llvm-svn: 26361 | |||||
| * | Refactor operand adding out to a new AddOperand method | Chris Lattner | 2006-02-24 | 1 | -66/+81 | |
| | | | | | llvm-svn: 26358 | |||||
| * | Record all of the expanded registers in the DAG and machine instr, fixing | Chris Lattner | 2006-02-23 | 1 | -11/+20 | |
| | | | | | | | several bugs in inline asm expanded operands. llvm-svn: 26332 | |||||
| * | Make MachineConstantPool entries alignments explicit | Chris Lattner | 2006-02-09 | 1 | -2/+12 | |
| | | | | | llvm-svn: 26071 | |||||
| * | Fix VC++ warning. | Jeff Cohen | 2006-02-04 | 1 | -1/+0 | |
| | | | | | llvm-svn: 25975 | |||||
| * | Get rid of some memory leaks identified by Valgrind | Evan Cheng | 2006-02-04 | 1 | -2/+8 | |
| | | | | | llvm-svn: 25960 | |||||
| * | Add initial support for immediates. This allows us to compile this: | Chris Lattner | 2006-02-04 | 1 | -5/+15 | |
| | | | | | | | | | | | | | | | | | | | int %rlwnm(int %A, int %B) { %C = call int asm "rlwnm $0, $1, $2, $3, $4", "=r,r,r,n,n"(int %A, int %B, int 4, int 17) ret int %C } into: _rlwnm: or r2, r3, r3 or r3, r4, r4 rlwnm r2, r2, r3, 4, 17 ;; note the immediates :) or r3, r2, r2 blr llvm-svn: 25955 | |||||
| * | Allow the specification of explicit alignments for constant pool entries. | Evan Cheng | 2006-01-31 | 1 | -1/+2 | |
| | | | | | llvm-svn: 25855 | |||||
| * | Handle physreg input/outputs. We now compile this: | Chris Lattner | 2006-01-31 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | int %test_cpuid(int %op) { %B = alloca int %C = alloca int %D = alloca int %A = call int asm "cpuid", "=eax,==ebx,==ecx,==edx,eax"(int* %B, int* %C, int* %D, int %op) %Bv = load int* %B %Cv = load int* %C %Dv = load int* %D %x = add int %A, %Bv %y = add int %x, %Cv %z = add int %y, %Dv ret int %z } to this: _test_cpuid: sub %ESP, 16 mov DWORD PTR [%ESP], %EBX mov %EAX, DWORD PTR [%ESP + 20] cpuid mov DWORD PTR [%ESP + 8], %ECX mov DWORD PTR [%ESP + 12], %EBX mov DWORD PTR [%ESP + 4], %EDX mov %ECX, DWORD PTR [%ESP + 12] add %EAX, %ECX mov %ECX, DWORD PTR [%ESP + 8] add %EAX, %ECX mov %ECX, DWORD PTR [%ESP + 4] add %EAX, %ECX mov %EBX, DWORD PTR [%ESP] add %ESP, 16 ret ... note the proper register allocation. :) it is unclear to me why the loads aren't folded into the adds. llvm-svn: 25827 | |||||
| * | Teach the scheduler to emit the appropriate INLINEASM MachineInstr for an | Chris Lattner | 2006-01-26 | 1 | -0/+29 | |
| | | | | | | | ISD::INLINEASM node. llvm-svn: 25668 | |||||
| * | No need to keep track of top and bottom nodes in a group since the vector is | Evan Cheng | 2006-01-25 | 1 | -5/+0 | |
| | | | | | | | already in order. Thanks Jim for pointing it out. llvm-svn: 25608 | |||||
| * | Keep track of bottom / top element of a set of flagged nodes. | Evan Cheng | 2006-01-25 | 1 | -1/+6 | |
| | | | | | llvm-svn: 25600 | |||||
| * | Factor out more instruction scheduler code to the base class. | Evan Cheng | 2006-01-23 | 1 | -6/+234 | |
| | | | | | llvm-svn: 25532 | |||||
| * | Do some code refactoring on Jim's scheduler in preparation of the new list | Evan Cheng | 2006-01-21 | 1 | -1127/+24 | |
| | | | | | | | scheduler. llvm-svn: 25493 | |||||
| * | purity++ | Duraid Madina | 2005-12-29 | 1 | -0/+1 | |
| | | | | | llvm-svn: 25041 | |||||
| * | Disengage DEBUG_LOC from non-PPC targets. | Jim Laskey | 2005-12-21 | 1 | -1/+1 | |
| | | | | | llvm-svn: 24919 | |||||
| * | Amend comment. | Jim Laskey | 2005-12-19 | 1 | -1/+2 | |
| | | | | | llvm-svn: 24861 | |||||
| * | Create a strong dependency for loads following stores. This will leave a | Jim Laskey | 2005-12-19 | 1 | -2/+6 | |
| | | | | | | | latency period between the two. llvm-svn: 24860 | |||||
| * | Keep VC++ happy. | Jeff Cohen | 2005-12-18 | 1 | -0/+1 | |
| | | | | | llvm-svn: 24835 | |||||
| * | Fix a bug Sabre was having where the DAG root was a group. The group dominator | Jim Laskey | 2005-12-18 | 1 | -1/+6 | |
| | | | | | | | needed to be added to the ordering list, not the first member of the group. llvm-svn: 24816 | |||||
| * | Groups were not emitted if the dominator node and the node in the ordering list | Jim Laskey | 2005-12-18 | 1 | -10/+6 | |
| | | | | | | | were not the same node. Ultimately the test was bogus. llvm-svn: 24815 | |||||
| * | Simplify code | Chris Lattner | 2005-12-18 | 1 | -7/+2 | |
| | | | | | llvm-svn: 24806 | |||||

