summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Avoid variable shadowing.Evan Cheng2007-03-091-2/+2
| | | | llvm-svn: 35039
* implement support for floating point constants used as inline asm memory ↵Chris Lattner2007-03-081-2/+7
| | | | | | operands. llvm-svn: 35033
* make this fail even in non-assert builds.Chris Lattner2007-03-081-2/+4
| | | | llvm-svn: 35025
* Refactoring of formal parameter flags. Enable properly use ofAnton Korobeynikov2007-03-072-31/+31
| | | | | | zext/sext/aext stuff. llvm-svn: 35008
* Cleanup: make SetCounter an instance variableAnton Korobeynikov2007-03-071-28/+26
| | | | llvm-svn: 35007
* Avoid combining indexed load further.Evan Cheng2007-03-071-8/+14
| | | | llvm-svn: 35005
* Fix DWARF debugging information on x86/Linux and (hopefully)Anton Korobeynikov2007-03-071-17/+61
| | | | | | Mingw32/Cygwin targets. This fixes PR978 llvm-svn: 35000
* Minor bug fix.Evan Cheng2007-03-061-0/+2
| | | | llvm-svn: 34985
* Now LoopStrengthReduce is a LoopPass.Devang Patel2007-03-061-0/+1
| | | | llvm-svn: 34984
* 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 llvm-svn: 34983
* Small eye-candy: use asciz directive everywhere, where possible.Anton Korobeynikov2007-03-061-3/+10
| | | | llvm-svn: 34981
* 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. llvm-svn: 34965
* 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. llvm-svn: 34964
* Enumerate SDISel formal parameter attributes. Make use of newAnton Korobeynikov2007-03-061-22/+24
| | | | | | enumeration. llvm-svn: 34960
* Unbreak VC++ build.Jeff Cohen2007-03-051-1/+1
| | | | llvm-svn: 34917
* fold away addc nodes when we know there cannot be a carry-out.Chris Lattner2007-03-042-8/+28
| | | | llvm-svn: 34913
* generalizeChris Lattner2007-03-041-5/+9
| | | | llvm-svn: 34910
* 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 llvm-svn: 34909
* eliminate some ops if they have an undef RHSChris Lattner2007-03-041-0/+2
| | | | llvm-svn: 34908
* Remove unneeded header file.Reid Spencer2007-03-041-1/+0
| | | | llvm-svn: 34903
* Fix CodeGen/Generic/fpowi-promote.ll and PR1239Chris Lattner2007-03-031-0/+12
| | | | llvm-svn: 34893
* Add an expand action for ISD label which just deletes the label.Chris Lattner2007-03-031-0/+3
| | | | | | This "fixes" PR1238. llvm-svn: 34890
* Only propagate IsKill if the last use is a kill.Evan Cheng2007-03-031-8/+22
| | | | llvm-svn: 34878
* 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
OpenPOWER on IntegriCloud