summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Alpha/AlphaISelPattern.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Change *EXTLOAD to use an VTSDNode operand instead of being an MVTSDNode.Chris Lattner2005-07-101-21/+18
| | | | | | | | | | | | This is the last MVTSDNode. This allows us to eliminate a bunch of special case code for handling MVTSDNodes. Also, remove some uses of dyn_cast that should really be cast (which is cheaper in a release build). llvm-svn: 22368
* Change TRUNCSTORE to use a VTSDNode operand instead of being an MVTSTDNodeChris Lattner2005-07-101-4/+6
| | | | llvm-svn: 22366
* clean up prolouge and epilougeAndrew Lenharth2005-07-071-2/+14
| | | | llvm-svn: 22346
* Make several cleanups to Andrews varargs change:Chris Lattner2005-07-051-56/+38
| | | | | | | | | | | | 1. Pass Value*'s into lowering methods so that the proper pointers can be added to load/stores from the valist 2. Intrinsics that return void should only return a token chain, not a token chain/retval pair. 3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone. 4. Now that we have Value*'s available in the lowering methods, pass them into any load/stores from the valist that are emitted llvm-svn: 22339
* check the correct VTAndrew Lenharth2005-07-041-1/+1
| | | | llvm-svn: 22332
* fix loading address of fp symbolsAndrew Lenharth2005-07-031-0/+4
| | | | llvm-svn: 22331
* simplify call code, remove pseudo ops for div and rem, track more loads and ↵Andrew Lenharth2005-07-011-71/+73
| | | | | | stores llvm-svn: 22322
* restore old srcValueNode behavior and try to to work around itAndrew Lenharth2005-06-291-52/+70
| | | | llvm-svn: 22315
* tracking the instructions causing loads and stores provides more information ↵Andrew Lenharth2005-06-291-4/+3
| | | | | | than just the pointer being loaded or stored llvm-svn: 22311
* thinkoAndrew Lenharth2005-06-291-0/+1
| | | | llvm-svn: 22309
* unify SelectExpr and SelectFPAndrew Lenharth2005-06-291-190/+155
| | | | llvm-svn: 22308
* fix most regressionsAndrew Lenharth2005-06-291-1/+2
| | | | llvm-svn: 22307
* support more relocations for stores alsoAndrew Lenharth2005-06-291-1/+25
| | | | llvm-svn: 22306
* Get rid of all symbolic loads. I now do gernate all relocations sequencesAndrew Lenharth2005-06-291-200/+65
| | | | | | | rather than relying on the assembler. Only a few more pseudo instructions left. Also merge load code paths. llvm-svn: 22305
* So, it turns out I forgot that one valid way of restoring GP after a callAndrew Lenharth2005-06-271-3/+3
| | | | | | | is to use RA, which assumes the called function uses RA for the register holding the return address when it issues a ret. llvm-svn: 22301
* get rid of another pseudo opAndrew Lenharth2005-06-271-2/+3
| | | | llvm-svn: 22299
* generate address of constant pool entriesAndrew Lenharth2005-06-271-5/+9
| | | | llvm-svn: 22298
* Misha happification patchAndrew Lenharth2005-06-271-91/+142
| | | | llvm-svn: 22297
* Reduce use of pseudo opsAndrew Lenharth2005-06-271-6/+27
| | | | | | | Namely, output the rellocation flags explicitly when loading constants. Added benifit: save a load when loading from the constant pool. llvm-svn: 22296
* missed a loadAndrew Lenharth2005-06-271-3/+7
| | | | llvm-svn: 22295
* who said we had to use the return address in the return address register. ↵Andrew Lenharth2005-06-271-2/+5
| | | | | | Might save a move in many cases llvm-svn: 22293
* depend more on legalize putting constants on the RHSAndrew Lenharth2005-06-261-92/+29
| | | | llvm-svn: 22289
* With setOperationAction(ISD::UINT_TO_FP, MVT::i64, Expand), LegalizeAndrew Lenharth2005-06-261-36/+12
| | | | | | | should be able to handle this case. The code is there, so let's see if it works. llvm-svn: 22288
* remove a pseudo instruction, make ret always right, and fix vararg chainsAndrew Lenharth2005-06-231-10/+18
| | | | llvm-svn: 22276
* finally, Working varargsAndrew Lenharth2005-06-231-13/+24
| | | | llvm-svn: 22275
* more complete Lowering for vacopy and vaargAndrew Lenharth2005-06-221-1/+29
| | | | llvm-svn: 22274
* Make it easier to find alpha stuff in doxygen, and fixup labelingAndrew Lenharth2005-06-221-16/+51
| | | | | | | of memory instructions in the assembly, to allow later linking of traces with LLVM Value*s. llvm-svn: 22271
* core changes for varargsAndrew Lenharth2005-06-181-8/+30
| | | | llvm-svn: 22254
* fix BranchCC with a setCC with an arg of 0Andrew Lenharth2005-06-081-3/+3
| | | | llvm-svn: 22203
* Fix spelling of `correlate'Misha Brukman2005-06-061-1/+1
| | | | llvm-svn: 22196
* allow marking of loads and stores in the instruction stream with enough ↵Andrew Lenharth2005-06-061-0/+30
| | | | | | information to reconstruct the Value* if it existed llvm-svn: 22195
* * Replace block of commented-out lines with #if 0Misha Brukman2005-06-061-26/+29
| | | | | | * Remove warning "control reaches end of non-void function" llvm-svn: 22193
* try custom expanders, doesn't seem to expand yet, so disabledAndrew Lenharth2005-05-311-0/+61
| | | | llvm-svn: 22188
* switch to the new live in thing. Really, this time it worksAndrew Lenharth2005-05-311-1/+1
| | | | llvm-svn: 22187
* switch to the new live in thingAndrew Lenharth2005-05-311-2/+2
| | | | llvm-svn: 22186
* switch to the new live in thingAndrew Lenharth2005-05-311-65/+60
| | | | llvm-svn: 22185
* Fix 2005-05-12-Int64ToFPAndrew Lenharth2005-05-261-0/+26
| | | | | | | | | The issue is there is no unsigned -> double conversion, only signed. So I need to test the sign and do a different thing depending on it. Ideally this should be in a different BB, but in the mean time, I use a branch free method. llvm-svn: 22177
* treat TAILCALL nodes identically to CALL nodesChris Lattner2005-05-131-2/+4
| | | | llvm-svn: 21977
* Add an isTailCall flag to LowerCallToChris Lattner2005-05-131-2/+3
| | | | llvm-svn: 21958
* rename the ADJCALLSTACKDOWN/ADJCALLSTACKUP nodes to be CALLSEQ_START/BEGIN.Chris Lattner2005-05-121-5/+5
| | | | llvm-svn: 21915
* Pass in Calling Convention to use into LowerCallToChris Lattner2005-05-121-1/+2
| | | | llvm-svn: 21899
* fix typoAndrew Lenharth2005-05-041-1/+1
| | | | llvm-svn: 21693
* Well, add support for ct* for 21264 only.Andrew Lenharth2005-05-041-4/+9
| | | | | | 21164 is broken until expand works. llvm-svn: 21692
* Implement count leading zeros (ctlz), count trailing zeros (cttz), and countAndrew Lenharth2005-05-031-0/+13
| | | | | | | | | population (ctpop). Generic lowering is implemented, however only promotion is implemented for SelectionDAG at the moment. More coming soon. llvm-svn: 21676
* I was sure I had thought about this and there was a reason it should work.Andrew Lenharth2005-04-301-7/+8
| | | | | | But it is entirely possible I am just crazy. llvm-svn: 21640
* Eliminate some random whitespaceChris Lattner2005-04-301-1/+1
| | | | llvm-svn: 21637
* This target doesn't support the FSIN/FCOS/FSQRT nodes yetChris Lattner2005-04-301-1/+9
| | | | llvm-svn: 21633
* Implement Value* tracking for loads and stores in the selection DAG. This ↵Andrew Lenharth2005-04-271-3/+3
| | | | | | | | enables one to use alias analysis in the backends. (TRUNK)Stores and (EXT|ZEXT|SEXT)Loads have an extra SDOperand which is a SrcValueSDNode which contains the Value*. Note that if the operation is introduced by the backend, it will still have the operand, but the value* will be null. llvm-svn: 21599
* Convert tabs to spacesMisha Brukman2005-04-221-66/+67
| | | | llvm-svn: 21452
* keep track of max depth statsAndrew Lenharth2005-04-221-2/+6
| | | | llvm-svn: 21446
OpenPOWER on IntegriCloud