Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | Support multiple ValueTypes per RegisterClass, needed for upcoming vector | Nate Begeman | 2005-12-01 | 1 | -1/+1 | |
| | | | | | | work. This change has no effect on generated code. llvm-svn: 24563 | |||||
* | Added an index field to GlobalAddressSDNode so it can represent X+12, etc. | Evan Cheng | 2005-11-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 24523 | |||||
* | Switch the allnodes list from a vector of pointers to an ilist of nodes.This ↵ | Chris Lattner | 2005-11-09 | 1 | -11/+8 | |
| | | | | | | | | eliminates the vector, allows constant time removal of a node froma graph, and makes iteration over the all nodes list stable when adding nodes to the graph. llvm-svn: 24263 | |||||
* | Explicitly initialize some instance vars | Chris Lattner | 2005-11-08 | 1 | -4/+5 | |
| | | | | llvm-svn: 24247 | |||||
* | Let's try ignoring resource utilization on the backward pass. | Jim Laskey | 2005-11-07 | 1 | -0/+2 | |
| | | | | llvm-svn: 24231 | |||||
* | Fix logic bug in finding retry slot in tally. | Jim Laskey | 2005-11-05 | 1 | -15/+33 | |
| | | | | llvm-svn: 24188 | |||||
* | Fix a warning | Jim Laskey | 2005-11-04 | 1 | -0/+1 | |
| | | | | llvm-svn: 24187 |