Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | http://llvm.org/bugs/show_bug.cgi?id=1237 | Nate Begeman | 2007-03-03 | 1 | -5/+10 | |
| | | | | llvm-svn: 34875 | |||||
* | Watch out for cases like this: | Evan Cheng | 2007-03-03 | 1 | -4/+5 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | entry (0x8b056f0, LLVM BB @0x8b01b30, ID#0): Live Ins: %r0 %r1 %r2 %r3 %reg1032 = tMOVrr %r3<kill> %reg1033 = tMOVri8 1 %reg1034 = tMOVri8 0 tCMPi8 %reg1029<kill>, 0 tBcc mbb<entry,0x8b06a10>, 0 Successors according to CFG: 0x8b06980 0x8b06a10 entry (0x8b06980, LLVM BB @0x8b01b30, ID#12): Predecessors according to CFG: 0x8b056f0 %reg1036 = tMOVrr %reg1034<kill> Successors according to CFG: 0x8b06a10 entry (0x8b06a10, LLVM BB @0x8b01b30, ID#13): Predecessors according to CFG: 0x8b056f0 0x8b06980 %reg1024<dead> = tMOVrr %reg1030<kill> ... reg1030 and r1 have already been joined. When reg1024 and reg1030 are joined, r1 live range from function entry to the tMOVrr instruction are dead. Eliminate r1 from the livein set of the entry BB, not the BB where the copy is. llvm-svn: 34866 | |||||
* | Mark dead def as unused. | Evan Cheng | 2007-03-02 | 1 | -2/+6 | |
| | | | | llvm-svn: 34844 | |||||
* | Dead live-in detection bug. | Evan Cheng | 2007-03-02 | 1 | -2/+2 | |
| | | | | llvm-svn: 34843 | |||||
* | - Keep track all def and uses of stack slot available in register. | Evan Cheng | 2007-03-02 | 1 | -28/+51 | |
| | | | | | | - Available value use may be deleted (e.g. noop move). llvm-svn: 34841 | |||||
* | Invalidate last use of a reused register if the use is a deleted noop copy. | Evan Cheng | 2007-03-02 | 1 | -0/+1 | |
| | | | | llvm-svn: 34839 | |||||
* | Emit eh filter info. | Jim Laskey | 2007-03-01 | 1 | -18/+66 | |
| | | | | llvm-svn: 34805 | |||||
* | Collect eh filter info. | Jim Laskey | 2007-03-01 | 1 | -12/+19 | |
| | | | | llvm-svn: 34804 | |||||
* | Lower eh filter intrinsic. | Jim Laskey | 2007-03-01 | 2 | -1/+5 | |
| | | | | llvm-svn: 34802 | |||||
* | Delete register scavenger when done with it. | Evan Cheng | 2007-03-01 | 1 | -0/+2 | |
| | | | | llvm-svn: 34786 | |||||
* | Add a version of FindUnusedReg that restrict search to a specific set of ↵ | Evan Cheng | 2007-03-01 | 1 | -0/+15 | |
| | | | | | | registers. llvm-svn: 34784 | |||||
* | A restore is promoted to copy (or deleted entirely), remove the kill from ↵ | Evan Cheng | 2007-03-01 | 1 | -3/+4 | |
| | | | | | | the last use of the targetted register. llvm-svn: 34773 | |||||
* | Interface clean up. | Evan Cheng | 2007-03-01 | 1 | -1/+1 | |
| | | | | llvm-svn: 34772 | |||||
* | Interface clean up. | Evan Cheng | 2007-03-01 | 1 | -13/+7 | |
| | | | | llvm-svn: 34770 | |||||
* | Oops. | Evan Cheng | 2007-03-01 | 1 | -1/+0 | |
| | | | | llvm-svn: 34768 | |||||
* | Track all joined registers and eliminate unneeded kills after all joining ↵ | Evan Cheng | 2007-03-01 | 1 | -22/+42 | |
| | | | | | | are done. llvm-svn: 34767 | |||||
* | Chain is on second operand. | Jim Laskey | 2007-02-28 | 1 | -4/+23 | |
| | | | | llvm-svn: 34759 | |||||
* | Handle mix of personalities. | Jim Laskey | 2007-02-28 | 1 | -30/+37 | |
| | | | | llvm-svn: 34752 | |||||
* | Provide a more meaningful name. | Jim Laskey | 2007-02-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 34751 | |||||
* | MERGE_VALUES unnecessary. | Jim Laskey | 2007-02-28 | 1 | -12/+4 | |
| | | | | llvm-svn: 34750 | |||||
* | Fix a typo, thanks Bill! | Nate Begeman | 2007-02-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 34741 | |||||
* | More Mach-O writer improvements. | Nate Begeman | 2007-02-28 | 2 | -32/+61 | |
| | | | | llvm-svn: 34740 | |||||
* | add methods for analysis of call results and return nodes. | Chris Lattner | 2007-02-28 | 1 | -12/+42 | |
| | | | | llvm-svn: 34738 | |||||
* | add methods to analyze calls and formals. | Chris Lattner | 2007-02-28 | 1 | -0/+34 | |
| | | | | llvm-svn: 34736 | |||||
* | add a newline at end of file | Chris Lattner | 2007-02-28 | 1 | -0/+1 | |
| | | | | llvm-svn: 34735 | |||||
* | Make requiresRegisterScavenging determination on a per MachineFunction basis. | Evan Cheng | 2007-02-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 34711 | |||||
* | MRegisterInfo disowns RegScavenger. It's immutable. | Evan Cheng | 2007-02-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 34706 | |||||
* | Some more code clean up. | Evan Cheng | 2007-02-27 | 1 | -23/+29 | |
| | | | | llvm-svn: 34700 | |||||
* | Oops. | Evan Cheng | 2007-02-27 | 1 | -1/+4 | |
| | | | | llvm-svn: 34698 | |||||
* | Let MRegisterInfo now owns RegScavenger. | Evan Cheng | 2007-02-27 | 1 | -3/+3 | |
| | | | | llvm-svn: 34691 | |||||
* | RegScavenger interface change to make it more flexible. | Evan Cheng | 2007-02-27 | 1 | -16/+18 | |
| | | | | llvm-svn: 34690 | |||||
* | Minor refactoring of CC Lowering interfaces | Chris Lattner | 2007-02-27 | 1 | -1/+4 | |
| | | | | llvm-svn: 34656 | |||||
* | move CC Lowering stuff to its own public interface | Chris Lattner | 2007-02-27 | 1 | -0/+34 | |
| | | | | llvm-svn: 34655 | |||||
* | forward() should not increment internal iterator. Its client may insert ↵ | Evan Cheng | 2007-02-27 | 2 | -5/+26 | |
| | | | | | | instruction between now and next forward() call. llvm-svn: 34649 | |||||
* | Joining an interval with a dead copy instruction. Shorten the live range to ↵ | Evan Cheng | 2007-02-26 | 1 | -20/+46 | |
| | | | | | | the last use. llvm-svn: 34645 | |||||
* | Fold (sext (truncate x)) more aggressively, by avoiding creation of a | Chris Lattner | 2007-02-26 | 1 | -10/+34 | |
| | | | | | | | | | sextinreg if not needed. This is useful in two cases: before legalize, it avoids creating a sextinreg that will be trivially removed. After legalize if the target doesn't support sextinreg, the trunc/sext would not have been removed before. llvm-svn: 34621 | |||||
* | track signedness of formal argument, though we have a fixme here. | Chris Lattner | 2007-02-26 | 1 | -0/+8 | |
| | | | | llvm-svn: 34620 | |||||
* | Fix for PR1224. | Jim Laskey | 2007-02-25 | 1 | -35/+50 | |
| | | | | llvm-svn: 34610 | |||||
* | optimize duplicate ValueMap lookups | Chris Lattner | 2007-02-25 | 1 | -9/+6 | |
| | | | | llvm-svn: 34599 | |||||
* | A couple of more places where a register liveness has been extended and its ↵ | Evan Cheng | 2007-02-25 | 1 | -5/+57 | |
| | | | | | | last kill should be updated accordingly. llvm-svn: 34597 | |||||
* | Add an assertion. | Evan Cheng | 2007-02-25 | 1 | -2/+4 | |
| | | | | llvm-svn: 34596 | |||||
* | Fix a couple of bugs related IsDead back propagation during coalescing. | Evan Cheng | 2007-02-25 | 1 | -5/+10 | |
| | | | | llvm-svn: 34595 | |||||
* | If the liveinterval of the source instruction has been extended, remove the ↵ | Evan Cheng | 2007-02-25 | 1 | -0/+6 | |
| | | | | | | IsKill marker. llvm-svn: 34594 | |||||
* | Only add liveinterval to livein set if it isn't assigned a stack slot. | Evan Cheng | 2007-02-25 | 1 | -4/+4 | |
| | | | | llvm-svn: 34593 | |||||
* | fold trivial token factor nodes. This allows us to compile | Chris Lattner | 2007-02-25 | 1 | -0/+6 | |
| | | | | | | | | | | | | | | | | | | | | | | test/CodeGen/X86/fp-stack-ret.ll into: movl 4(%esp), %eax fldl (%eax) ret instead of: subl $12, %esp movl 16(%esp), %eax movsd (%eax), %xmm0 movsd %xmm0, (%esp) fldl (%esp) addl $12, %esp ret by eliminating a token factor that blocked a check. llvm-svn: 34584 | |||||
* | initialize a instance variable | Chris Lattner | 2007-02-25 | 1 | -0/+1 | |
| | | | | llvm-svn: 34567 | |||||
* | Deal with cases when MMI is not requested. | Jim Laskey | 2007-02-24 | 1 | -0/+14 | |
| | | | | llvm-svn: 34556 | |||||
* | Drop unused operand. | Jim Laskey | 2007-02-24 | 1 | -2/+0 | |
| | | | | llvm-svn: 34555 | |||||
* | Fix CodeGen/Generic/2007-02-23-DAGCombine-Miscompile.ll and PR1219 | Chris Lattner | 2007-02-24 | 1 | -2/+2 | |
| | | | | llvm-svn: 34551 | |||||
* | Reuse extends the liveness of a register. Transfer the kill to the operand ↵ | Evan Cheng | 2007-02-23 | 1 | -1/+6 | |
| | | | | | | that reuse it. llvm-svn: 34536 |