aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* make this fail even in non-assert builds.Chris Lattner2007-03-081-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35025 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactoring of formal parameter flags. Enable properly use ofAnton Korobeynikov2007-03-072-31/+31
| | | | | | | zext/sext/aext stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35008 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup: make SetCounter an instance variableAnton Korobeynikov2007-03-071-28/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35007 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid combining indexed load further.Evan Cheng2007-03-071-8/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35005 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix DWARF debugging information on x86/Linux and (hopefully)Anton Korobeynikov2007-03-071-17/+61
| | | | | | | Mingw32/Cygwin targets. This fixes PR978 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35000 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor bug fix.Evan Cheng2007-03-061-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34985 91177308-0d34-0410-b5e6-96231b3b80d8
* Now LoopStrengthReduce is a LoopPass.Devang Patel2007-03-061-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34984 91177308-0d34-0410-b5e6-96231b3b80d8
* big endian 32-bit systems (e.g. ppc32) want to return the high reg first, notChris Lattner2007-03-061-0/+5
| | | | | | | | the lo-reg first. This is fallout from my ppc calling conv change yesterday, it fixes test/ExecutionEngine/2003-05-06-LivenessClobber.llx git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34983 91177308-0d34-0410-b5e6-96231b3b80d8
* Small eye-candy: use asciz directive everywhere, where possible.Anton Korobeynikov2007-03-061-3/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34981 91177308-0d34-0410-b5e6-96231b3b80d8
* If target decides to create an emergency spill slot, make sure it's closest ↵Evan Cheng2007-03-061-7/+56
| | | | | | to SP or frame pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34965 91177308-0d34-0410-b5e6-96231b3b80d8
* Register scavenger is now capable of scavenging. It spills a register whose ↵Evan Cheng2007-03-061-2/+90
| | | | | | use of furthest away to make it available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34964 91177308-0d34-0410-b5e6-96231b3b80d8
* Enumerate SDISel formal parameter attributes. Make use of newAnton Korobeynikov2007-03-061-22/+24
| | | | | | | enumeration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34960 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak VC++ build.Jeff Cohen2007-03-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917 91177308-0d34-0410-b5e6-96231b3b80d8
* fold away addc nodes when we know there cannot be a carry-out.Chris Lattner2007-03-042-8/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34913 91177308-0d34-0410-b5e6-96231b3b80d8
* generalizeChris Lattner2007-03-041-5/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34910 91177308-0d34-0410-b5e6-96231b3b80d8
* canonicalize constants to the RHS of addc/adde. If nothing uses the carry ↵Chris Lattner2007-03-041-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | out of addc, turn it into add. This allows us to compile: long long test(long long A, unsigned B) { return (A + ((long long)B << 32)) & 123; } into: _test: movl $123, %eax andl 4(%esp), %eax xorl %edx, %edx ret instead of: _test: xorl %edx, %edx movl %edx, %eax addl 4(%esp), %eax ;; add of zero andl $123, %eax ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34909 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate some ops if they have an undef RHSChris Lattner2007-03-041-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34908 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unneeded header file.Reid Spencer2007-03-041-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34903 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix CodeGen/Generic/fpowi-promote.ll and PR1239Chris Lattner2007-03-031-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34893 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an expand action for ISD label which just deletes the label.Chris Lattner2007-03-031-0/+3
| | | | | | | This "fixes" PR1238. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34890 91177308-0d34-0410-b5e6-96231b3b80d8
* Only propagate IsKill if the last use is a kill.Evan Cheng2007-03-031-8/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34878 91177308-0d34-0410-b5e6-96231b3b80d8
* http://llvm.org/bugs/show_bug.cgi?id=1237Nate Begeman2007-03-031-5/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34875 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34866 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark dead def as unused.Evan Cheng2007-03-021-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34844 91177308-0d34-0410-b5e6-96231b3b80d8
* Dead live-in detection bug.Evan Cheng2007-03-021-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34843 91177308-0d34-0410-b5e6-96231b3b80d8
* - 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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34841 91177308-0d34-0410-b5e6-96231b3b80d8
* Invalidate last use of a reused register if the use is a deleted noop copy.Evan Cheng2007-03-021-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34839 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit eh filter info.Jim Laskey2007-03-011-18/+66
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34805 91177308-0d34-0410-b5e6-96231b3b80d8
* Collect eh filter info.Jim Laskey2007-03-011-12/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34804 91177308-0d34-0410-b5e6-96231b3b80d8
* Lower eh filter intrinsic.Jim Laskey2007-03-012-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34802 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete register scavenger when done with it.Evan Cheng2007-03-011-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34786 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a version of FindUnusedReg that restrict search to a specific set of ↵Evan Cheng2007-03-011-0/+15
| | | | | | registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34784 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34773 91177308-0d34-0410-b5e6-96231b3b80d8
* Interface clean up.Evan Cheng2007-03-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34772 91177308-0d34-0410-b5e6-96231b3b80d8
* Interface clean up.Evan Cheng2007-03-011-13/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34770 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops.Evan Cheng2007-03-011-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34768 91177308-0d34-0410-b5e6-96231b3b80d8
* Track all joined registers and eliminate unneeded kills after all joining ↵Evan Cheng2007-03-011-22/+42
| | | | | | are done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34767 91177308-0d34-0410-b5e6-96231b3b80d8
* Chain is on second operand.Jim Laskey2007-02-281-4/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34759 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle mix of personalities.Jim Laskey2007-02-281-30/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34752 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide a more meaningful name.Jim Laskey2007-02-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34751 91177308-0d34-0410-b5e6-96231b3b80d8
* MERGE_VALUES unnecessary.Jim Laskey2007-02-281-12/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34750 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo, thanks Bill!Nate Begeman2007-02-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34741 91177308-0d34-0410-b5e6-96231b3b80d8
* More Mach-O writer improvements.Nate Begeman2007-02-282-32/+61
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34740 91177308-0d34-0410-b5e6-96231b3b80d8
* add methods for analysis of call results and return nodes.Chris Lattner2007-02-281-12/+42
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34738 91177308-0d34-0410-b5e6-96231b3b80d8
* add methods to analyze calls and formals.Chris Lattner2007-02-281-0/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34736 91177308-0d34-0410-b5e6-96231b3b80d8
* add a newline at end of fileChris Lattner2007-02-281-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34735 91177308-0d34-0410-b5e6-96231b3b80d8
* Make requiresRegisterScavenging determination on a per MachineFunction basis.Evan Cheng2007-02-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34711 91177308-0d34-0410-b5e6-96231b3b80d8
* MRegisterInfo disowns RegScavenger. It's immutable.Evan Cheng2007-02-281-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34706 91177308-0d34-0410-b5e6-96231b3b80d8
* Some more code clean up.Evan Cheng2007-02-271-23/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34700 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops.Evan Cheng2007-02-271-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34698 91177308-0d34-0410-b5e6-96231b3b80d8