Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Change *EXTLOAD to use an VTSDNode operand instead of being an MVTSDNode. | Chris Lattner | 2005-07-10 | 1 | -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 MVTSTDNode | Chris Lattner | 2005-07-10 | 1 | -4/+6 | |
| | | | | llvm-svn: 22366 | |||||
* | clean up prolouge and epilouge | Andrew Lenharth | 2005-07-07 | 1 | -2/+14 | |
| | | | | llvm-svn: 22346 | |||||
* | Make several cleanups to Andrews varargs change: | Chris Lattner | 2005-07-05 | 1 | -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 VT | Andrew Lenharth | 2005-07-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 22332 | |||||
* | fix loading address of fp symbols | Andrew Lenharth | 2005-07-03 | 1 | -0/+4 | |
| | | | | llvm-svn: 22331 | |||||
* | simplify call code, remove pseudo ops for div and rem, track more loads and ↵ | Andrew Lenharth | 2005-07-01 | 1 | -71/+73 | |
| | | | | | | stores llvm-svn: 22322 | |||||
* | restore old srcValueNode behavior and try to to work around it | Andrew Lenharth | 2005-06-29 | 1 | -52/+70 | |
| | | | | llvm-svn: 22315 | |||||
* | tracking the instructions causing loads and stores provides more information ↵ | Andrew Lenharth | 2005-06-29 | 1 | -4/+3 | |
| | | | | | | than just the pointer being loaded or stored llvm-svn: 22311 | |||||
* | thinko | Andrew Lenharth | 2005-06-29 | 1 | -0/+1 | |
| | | | | llvm-svn: 22309 | |||||
* | unify SelectExpr and SelectFP | Andrew Lenharth | 2005-06-29 | 1 | -190/+155 | |
| | | | | llvm-svn: 22308 | |||||
* | fix most regressions | Andrew Lenharth | 2005-06-29 | 1 | -1/+2 | |
| | | | | llvm-svn: 22307 | |||||
* | support more relocations for stores also | Andrew Lenharth | 2005-06-29 | 1 | -1/+25 | |
| | | | | llvm-svn: 22306 | |||||
* | Get rid of all symbolic loads. I now do gernate all relocations sequences | Andrew Lenharth | 2005-06-29 | 1 | -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 call | Andrew Lenharth | 2005-06-27 | 1 | -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 op | Andrew Lenharth | 2005-06-27 | 1 | -2/+3 | |
| | | | | llvm-svn: 22299 | |||||
* | generate address of constant pool entries | Andrew Lenharth | 2005-06-27 | 1 | -5/+9 | |
| | | | | llvm-svn: 22298 | |||||
* | Misha happification patch | Andrew Lenharth | 2005-06-27 | 1 | -91/+142 | |
| | | | | llvm-svn: 22297 | |||||
* | Reduce use of pseudo ops | Andrew Lenharth | 2005-06-27 | 1 | -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 load | Andrew Lenharth | 2005-06-27 | 1 | -3/+7 | |
| | | | | llvm-svn: 22295 | |||||
* | who said we had to use the return address in the return address register. ↵ | Andrew Lenharth | 2005-06-27 | 1 | -2/+5 | |
| | | | | | | Might save a move in many cases llvm-svn: 22293 | |||||
* | depend more on legalize putting constants on the RHS | Andrew Lenharth | 2005-06-26 | 1 | -92/+29 | |
| | | | | llvm-svn: 22289 | |||||
* | With setOperationAction(ISD::UINT_TO_FP, MVT::i64, Expand), Legalize | Andrew Lenharth | 2005-06-26 | 1 | -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 chains | Andrew Lenharth | 2005-06-23 | 1 | -10/+18 | |
| | | | | llvm-svn: 22276 | |||||
* | finally, Working varargs | Andrew Lenharth | 2005-06-23 | 1 | -13/+24 | |
| | | | | llvm-svn: 22275 | |||||
* | more complete Lowering for vacopy and vaarg | Andrew Lenharth | 2005-06-22 | 1 | -1/+29 | |
| | | | | llvm-svn: 22274 | |||||
* | Make it easier to find alpha stuff in doxygen, and fixup labeling | Andrew Lenharth | 2005-06-22 | 1 | -16/+51 | |
| | | | | | | | of memory instructions in the assembly, to allow later linking of traces with LLVM Value*s. llvm-svn: 22271 | |||||
* | core changes for varargs | Andrew Lenharth | 2005-06-18 | 1 | -8/+30 | |
| | | | | llvm-svn: 22254 | |||||
* | fix BranchCC with a setCC with an arg of 0 | Andrew Lenharth | 2005-06-08 | 1 | -3/+3 | |
| | | | | llvm-svn: 22203 | |||||
* | Fix spelling of `correlate' | Misha Brukman | 2005-06-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 22196 | |||||
* | allow marking of loads and stores in the instruction stream with enough ↵ | Andrew Lenharth | 2005-06-06 | 1 | -0/+30 | |
| | | | | | | information to reconstruct the Value* if it existed llvm-svn: 22195 | |||||
* | * Replace block of commented-out lines with #if 0 | Misha Brukman | 2005-06-06 | 1 | -26/+29 | |
| | | | | | | * Remove warning "control reaches end of non-void function" llvm-svn: 22193 | |||||
* | try custom expanders, doesn't seem to expand yet, so disabled | Andrew Lenharth | 2005-05-31 | 1 | -0/+61 | |
| | | | | llvm-svn: 22188 | |||||
* | switch to the new live in thing. Really, this time it works | Andrew Lenharth | 2005-05-31 | 1 | -1/+1 | |
| | | | | llvm-svn: 22187 | |||||
* | switch to the new live in thing | Andrew Lenharth | 2005-05-31 | 1 | -2/+2 | |
| | | | | llvm-svn: 22186 | |||||
* | switch to the new live in thing | Andrew Lenharth | 2005-05-31 | 1 | -65/+60 | |
| | | | | llvm-svn: 22185 | |||||
* | Fix 2005-05-12-Int64ToFP | Andrew Lenharth | 2005-05-26 | 1 | -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 nodes | Chris Lattner | 2005-05-13 | 1 | -2/+4 | |
| | | | | llvm-svn: 21977 | |||||
* | Add an isTailCall flag to LowerCallTo | Chris Lattner | 2005-05-13 | 1 | -2/+3 | |
| | | | | llvm-svn: 21958 | |||||
* | rename the ADJCALLSTACKDOWN/ADJCALLSTACKUP nodes to be CALLSEQ_START/BEGIN. | Chris Lattner | 2005-05-12 | 1 | -5/+5 | |
| | | | | llvm-svn: 21915 | |||||
* | Pass in Calling Convention to use into LowerCallTo | Chris Lattner | 2005-05-12 | 1 | -1/+2 | |
| | | | | llvm-svn: 21899 | |||||
* | fix typo | Andrew Lenharth | 2005-05-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 21693 | |||||
* | Well, add support for ct* for 21264 only. | Andrew Lenharth | 2005-05-04 | 1 | -4/+9 | |
| | | | | | | 21164 is broken until expand works. llvm-svn: 21692 | |||||
* | Implement count leading zeros (ctlz), count trailing zeros (cttz), and count | Andrew Lenharth | 2005-05-03 | 1 | -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 Lenharth | 2005-04-30 | 1 | -7/+8 | |
| | | | | | | But it is entirely possible I am just crazy. llvm-svn: 21640 | |||||
* | Eliminate some random whitespace | Chris Lattner | 2005-04-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 21637 | |||||
* | This target doesn't support the FSIN/FCOS/FSQRT nodes yet | Chris Lattner | 2005-04-30 | 1 | -1/+9 | |
| | | | | llvm-svn: 21633 | |||||
* | Implement Value* tracking for loads and stores in the selection DAG. This ↵ | Andrew Lenharth | 2005-04-27 | 1 | -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 spaces | Misha Brukman | 2005-04-22 | 1 | -66/+67 | |
| | | | | llvm-svn: 21452 | |||||
* | keep track of max depth stats | Andrew Lenharth | 2005-04-22 | 1 | -2/+6 | |
| | | | | llvm-svn: 21446 |