summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Add bswap, rotl, and rotr nodesNate Begeman2006-01-113-2/+65
| | | | | | | | | Add dag combiner code to recognize rotl, rotr Add ppc code to match rotl Targets should add rotl/rotr patterns if they have them llvm-svn: 25222
* silence a warningChris Lattner2006-01-101-1/+2
| | | | llvm-svn: 25184
* Added selection DAG support for the extractelement operation.Robert Bocchino2006-01-101-0/+1
| | | | llvm-svn: 25179
* Minor cleanup, no functionality change for current targetsChris Lattner2006-01-101-1/+2
| | | | llvm-svn: 25173
* Fix an exponential function in libcall insertion to not be exponential. :)Chris Lattner2006-01-091-6/+10
| | | | llvm-svn: 25165
* * Allow custom lowering of ADD_PARTS, SUB_PARTS, SHL_PARTS, SRA_PARTS,Evan Cheng2006-01-091-11/+46
| | | | | | | and SRL_PARTS. * Fix a bug that caused *_PARTS to be custom lowered twice. llvm-svn: 25157
* New getNode() variants.Evan Cheng2006-01-091-14/+0
| | | | llvm-svn: 25156
* Unbreak the build :(Chris Lattner2006-01-061-2/+2
| | | | llvm-svn: 25124
* Revert the previous check-in. Leave shl x, 1 along for target to deal with.Evan Cheng2006-01-061-3/+0
| | | | llvm-svn: 25121
* fold (shl x, 1) -> (add x, x)Evan Cheng2006-01-061-0/+3
| | | | llvm-svn: 25120
* Support for custom lowering of ISD::RET.Evan Cheng2006-01-061-0/+16
| | | | llvm-svn: 25116
* Added initial support for DEBUG_LABEL allowing debug specific labels to beJim Laskey2006-01-053-31/+57
| | | | | | inserted in the code. llvm-svn: 25104
* Applied some recommend changes from sabre. The dominate one beginning "let theJim Laskey2006-01-045-94/+156
| | | | | | | pass manager do it's thing." Fixes crash when compiling -g files and suppresses dwarf statements if no debug info is present. llvm-svn: 25100
* Add unique id to debug location for debug label use (work in progress.)Jim Laskey2006-01-043-15/+24
| | | | llvm-svn: 25096
* Add check for debug presence.Jim Laskey2006-01-041-0/+4
| | | | llvm-svn: 25095
* Tie dwarf generation to darwin assembler.Jim Laskey2006-01-042-0/+96
| | | | llvm-svn: 25093
* Moving MachineDebugInfo to module level location.Jim Laskey2006-01-041-1/+1
| | | | llvm-svn: 25090
* Change how MachineDebugInfo is fetched.Jim Laskey2006-01-041-1/+1
| | | | llvm-svn: 25089
* Extending MachineDebugInfo.Jim Laskey2006-01-041-0/+90
| | | | llvm-svn: 25086
* Add support for targets (like Alpha) that have terminator instructions whichChris Lattner2006-01-041-5/+41
| | | | | | | | | use virtual registers. We now allow the first instruction in a block of terminators to use virtual registers, and update phi elimination to correctly update livevar when eliminating phi's. This fixes a problem on a testcase Andrew sent me. llvm-svn: 25083
* Add an assertion, update DefInst even though no one uses it (dangling pointersChris Lattner2006-01-042-0/+5
| | | | | | don't help anyone) llvm-svn: 25081
* Add a LiveVariables::VarInfo::dump methodChris Lattner2006-01-041-0/+20
| | | | llvm-svn: 25080
* Change a variable from being an iterator to a raw MachineInstr*, to makeChris Lattner2006-01-031-12/+12
| | | | | | GDB use tolerable llvm-svn: 25064
* Make sure to pass the offset into the new node, so that we don't silentlyNate Begeman2005-12-301-1/+1
| | | | | | drop it on the floor. llvm-svn: 25044
* purity++Duraid Madina2005-12-291-0/+1
| | | | llvm-svn: 25041
* add these so I can be less naughtyDuraid Madina2005-12-282-0/+2
| | | | llvm-svn: 25034
* HB is *the* code janitor.Duraid Madina2005-12-281-0/+1
| | | | llvm-svn: 25031
* mixed-STL programs are big and nasty :(Duraid Madina2005-12-281-0/+1
| | | | llvm-svn: 25030
* allow custom lowering to return null for legal resultsAndrew Lenharth2005-12-251-17/+15
| | | | llvm-svn: 25007
* Support Custom lowering of a few more operations.Andrew Lenharth2005-12-241-5/+31
| | | | | | Alpha needs to custom lower *DIV and *REM llvm-svn: 25006
* Remove redundant debug locations.Jim Laskey2005-12-231-0/+34
| | | | llvm-svn: 24995
* unbreak the build :-/Chris Lattner2005-12-231-3/+3
| | | | llvm-svn: 24992
* Allow custom lowering of LOAD, EXTLOAD, ZEXTLOAD, STORE, and TRUNCSTORE. NotEvan Cheng2005-12-231-15/+84
| | | | | | currently used. llvm-svn: 24988
* Simplify store(bitconv(x)) to store(x). This allows us to compile this:Chris Lattner2005-12-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | void bar(double Y, double *X) { *X = Y; } to this: bar: save -96, %o6, %o6 st %i1, [%i2+4] st %i0, [%i2] restore %g0, %g0, %g0 retl nop instead of this: bar: save -104, %o6, %o6 st %i1, [%i6+-4] st %i0, [%i6+-8] ldd [%i6+-8], %f0 std %f0, [%i2] restore %g0, %g0, %g0 retl nop on sparcv8. llvm-svn: 24983
* fold (conv (load x)) -> (load (conv*)x).Chris Lattner2005-12-231-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to compile this: void foo(double); void bar(double *X) { foo(*X); } To this: bar: save -96, %o6, %o6 ld [%i0+4], %o1 ld [%i0], %o0 call foo nop restore %g0, %g0, %g0 retl nop instead of this: bar: save -104, %o6, %o6 ldd [%i0], %f0 std %f0, [%i6+-8] ld [%i6+-4], %o1 ld [%i6+-8], %o0 call foo nop restore %g0, %g0, %g0 retl nop on SparcV8. llvm-svn: 24982
* Fold bitconv(bitconv(x)) -> x. We now compile this:Chris Lattner2005-12-232-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | void foo(double); void bar(double X) { foo(X); } to this: bar: save -96, %o6, %o6 or %g0, %i0, %o0 or %g0, %i1, %o1 call foo nop restore %g0, %g0, %g0 retl nop instead of this: bar: save -112, %o6, %o6 st %i1, [%i6+-4] st %i0, [%i6+-8] ldd [%i6+-8], %f0 std %f0, [%i6+-16] ld [%i6+-12], %o1 ld [%i6+-16], %o0 call foo nop restore %g0, %g0, %g0 retl nop on V8. llvm-svn: 24981
* constant fold bits_convert in getNode and in the dag combiner for fp<->intChris Lattner2005-12-232-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | conversions. This allows V8 to compiles this: void %test() { call float %test2( float 1.000000e+00, float 2.000000e+00, double 3.000000e+00, double* null ) ret void } into: test: save -96, %o6, %o6 sethi 0, %o3 sethi 1049088, %o2 sethi 1048576, %o1 sethi 1040384, %o0 or %g0, %o3, %o4 call test2 nop restore %g0, %g0, %g0 retl nop instead of: test: save -112, %o6, %o6 sethi 0, %o4 sethi 1049088, %l0 st %o4, [%i6+-12] st %l0, [%i6+-16] ld [%i6+-12], %o3 ld [%i6+-16], %o2 sethi 1048576, %o1 sethi 1040384, %o0 call test2 nop restore %g0, %g0, %g0 retl nop llvm-svn: 24980
* Fix a pastoChris Lattner2005-12-231-2/+3
| | | | llvm-svn: 24973
* fix a thinko in the bit_convert handling codeChris Lattner2005-12-231-2/+1
| | | | llvm-svn: 24972
* add very simple support for the BIT_CONVERT nodeChris Lattner2005-12-232-2/+57
| | | | llvm-svn: 24970
* remove dead codeChris Lattner2005-12-222-7/+0
| | | | llvm-svn: 24965
* The 81st column doesn't like code in it.Chris Lattner2005-12-221-3/+4
| | | | llvm-svn: 24943
* Add an eol at the end to shut gcc sup.Reid Spencer2005-12-221-1/+1
| | | | llvm-svn: 24926
* * Fix a GlobalAddress lowering bug.Evan Cheng2005-12-211-1/+4
| | | | | | * Teach DAG combiner about X86ISD::SETCC by adding a TargetLowering hook. llvm-svn: 24921
* Disengage DEBUG_LOC from non-PPC targets.Jim Laskey2005-12-212-13/+17
| | | | llvm-svn: 24919
* * Added support for X86 RET with an additional operand to specify number ofEvan Cheng2005-12-211-0/+10
| | | | | | | bytes to pop off stack. * Added support for X86 SETCC. llvm-svn: 24917
* Start of Dwarf framework.Jim Laskey2005-12-211-0/+15
| | | | llvm-svn: 24914
* make sure to relegalize all casesChris Lattner2005-12-211-1/+1
| | | | llvm-svn: 24911
* enable the gep isel optChris Lattner2005-12-211-6/+0
| | | | llvm-svn: 24910
* fix a bug I introduced that broke recursive expansion of nodes (e.g. ↵Chris Lattner2005-12-211-3/+6
| | | | | | scalarizing vectors) llvm-svn: 24905
OpenPOWER on IntegriCloud