summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* http://llvm.org/bugs/show_bug.cgi?id=1237Nate Begeman2007-03-031-5/+10
| | | | llvm-svn: 34875
* Watch out for cases like this:Evan Cheng2007-03-031-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 Cheng2007-03-021-2/+6
| | | | llvm-svn: 34844
* Dead live-in detection bug.Evan Cheng2007-03-021-2/+2
| | | | llvm-svn: 34843
* - Keep track all def and uses of stack slot available in register.Evan Cheng2007-03-021-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 Cheng2007-03-021-0/+1
| | | | llvm-svn: 34839
* Emit eh filter info.Jim Laskey2007-03-011-18/+66
| | | | llvm-svn: 34805
* Collect eh filter info.Jim Laskey2007-03-011-12/+19
| | | | llvm-svn: 34804
* Lower eh filter intrinsic.Jim Laskey2007-03-012-1/+5
| | | | llvm-svn: 34802
* Delete register scavenger when done with it.Evan Cheng2007-03-011-0/+2
| | | | llvm-svn: 34786
* Add a version of FindUnusedReg that restrict search to a specific set of ↵Evan Cheng2007-03-011-0/+15
| | | | | | registers. llvm-svn: 34784
* A restore is promoted to copy (or deleted entirely), remove the kill from ↵Evan Cheng2007-03-011-3/+4
| | | | | | the last use of the targetted register. llvm-svn: 34773
* Interface clean up.Evan Cheng2007-03-011-1/+1
| | | | llvm-svn: 34772
* Interface clean up.Evan Cheng2007-03-011-13/+7
| | | | llvm-svn: 34770
* Oops.Evan Cheng2007-03-011-1/+0
| | | | llvm-svn: 34768
* Track all joined registers and eliminate unneeded kills after all joining ↵Evan Cheng2007-03-011-22/+42
| | | | | | are done. llvm-svn: 34767
* Chain is on second operand.Jim Laskey2007-02-281-4/+23
| | | | llvm-svn: 34759
* Handle mix of personalities.Jim Laskey2007-02-281-30/+37
| | | | llvm-svn: 34752
* Provide a more meaningful name.Jim Laskey2007-02-281-1/+1
| | | | llvm-svn: 34751
* MERGE_VALUES unnecessary.Jim Laskey2007-02-281-12/+4
| | | | llvm-svn: 34750
* Fix a typo, thanks Bill!Nate Begeman2007-02-281-1/+1
| | | | llvm-svn: 34741
* More Mach-O writer improvements.Nate Begeman2007-02-282-32/+61
| | | | llvm-svn: 34740
* add methods for analysis of call results and return nodes.Chris Lattner2007-02-281-12/+42
| | | | llvm-svn: 34738
* add methods to analyze calls and formals.Chris Lattner2007-02-281-0/+34
| | | | llvm-svn: 34736
* add a newline at end of fileChris Lattner2007-02-281-0/+1
| | | | llvm-svn: 34735
* Make requiresRegisterScavenging determination on a per MachineFunction basis.Evan Cheng2007-02-281-1/+1
| | | | llvm-svn: 34711
* MRegisterInfo disowns RegScavenger. It's immutable.Evan Cheng2007-02-281-2/+2
| | | | llvm-svn: 34706
* Some more code clean up.Evan Cheng2007-02-271-23/+29
| | | | llvm-svn: 34700
* Oops.Evan Cheng2007-02-271-1/+4
| | | | llvm-svn: 34698
* Let MRegisterInfo now owns RegScavenger.Evan Cheng2007-02-271-3/+3
| | | | llvm-svn: 34691
* RegScavenger interface change to make it more flexible.Evan Cheng2007-02-271-16/+18
| | | | llvm-svn: 34690
* Minor refactoring of CC Lowering interfacesChris Lattner2007-02-271-1/+4
| | | | llvm-svn: 34656
* move CC Lowering stuff to its own public interfaceChris Lattner2007-02-271-0/+34
| | | | llvm-svn: 34655
* forward() should not increment internal iterator. Its client may insert ↵Evan Cheng2007-02-272-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 Cheng2007-02-261-20/+46
| | | | | | the last use. llvm-svn: 34645
* Fold (sext (truncate x)) more aggressively, by avoiding creation of aChris Lattner2007-02-261-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 Lattner2007-02-261-0/+8
| | | | llvm-svn: 34620
* Fix for PR1224.Jim Laskey2007-02-251-35/+50
| | | | llvm-svn: 34610
* optimize duplicate ValueMap lookupsChris Lattner2007-02-251-9/+6
| | | | llvm-svn: 34599
* A couple of more places where a register liveness has been extended and its ↵Evan Cheng2007-02-251-5/+57
| | | | | | last kill should be updated accordingly. llvm-svn: 34597
* Add an assertion.Evan Cheng2007-02-251-2/+4
| | | | llvm-svn: 34596
* Fix a couple of bugs related IsDead back propagation during coalescing.Evan Cheng2007-02-251-5/+10
| | | | llvm-svn: 34595
* If the liveinterval of the source instruction has been extended, remove the ↵Evan Cheng2007-02-251-0/+6
| | | | | | IsKill marker. llvm-svn: 34594
* Only add liveinterval to livein set if it isn't assigned a stack slot.Evan Cheng2007-02-251-4/+4
| | | | llvm-svn: 34593
* fold trivial token factor nodes. This allows us to compileChris Lattner2007-02-251-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 variableChris Lattner2007-02-251-0/+1
| | | | llvm-svn: 34567
* Deal with cases when MMI is not requested.Jim Laskey2007-02-241-0/+14
| | | | llvm-svn: 34556
* Drop unused operand.Jim Laskey2007-02-241-2/+0
| | | | llvm-svn: 34555
* Fix CodeGen/Generic/2007-02-23-DAGCombine-Miscompile.ll and PR1219Chris Lattner2007-02-241-2/+2
| | | | llvm-svn: 34551
* Reuse extends the liveness of a register. Transfer the kill to the operand ↵Evan Cheng2007-02-231-1/+6
| | | | | | that reuse it. llvm-svn: 34536
OpenPOWER on IntegriCloud