summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* implement the other half of the select_cc -> fsel lowering, which handlesChris Lattner2005-08-261-16/+37
| | | | | | when the RHS of the comparison is 0.0. Turn this on by default. llvm-svn: 23083
* Fix a bug in my previous checkinChris Lattner2005-08-262-2/+2
| | | | llvm-svn: 23082
* Change ConstantPoolSDNode to actually hold the Constant itself instead ofChris Lattner2005-08-269-44/+51
| | | | | | | | putting it into the constant pool. This allows the isel machinery to create constants that it will end up deciding are not needed, without them ending up in the resultant function constant pool. llvm-svn: 23081
* Fix some warnings in an optimized buildChris Lattner2005-08-262-3/+3
| | | | llvm-svn: 23080
* Fix a huge annoyance: SelectNodeTo took types before the opcode unlikeChris Lattner2005-08-262-94/+92
| | | | | | every other SD API. Fix it to take the opcode before the types. llvm-svn: 23079
* Fix JIT encoding of conditional branchesNate Begeman2005-08-262-27/+19
| | | | llvm-svn: 23076
* add initial support for converting select_cc -> fsel in the legalizerChris Lattner2005-08-263-2/+67
| | | | | | | | | instead of in the backend. This currently handles fsel cases with registers, but doesn't have the 0.0 and -0.0 optimization enabled yet. Once this is finished, special hack for fp immediates can go away. llvm-svn: 23075
* the 5th operand is the 4th numberChris Lattner2005-08-261-1/+1
| | | | llvm-svn: 23074
* SUBFIC produces two results, not one.Nate Begeman2005-08-261-4/+4
| | | | llvm-svn: 23073
* Implement SHL_PARTS and SRL_PARTSNate Begeman2005-08-261-0/+38
| | | | llvm-svn: 23072
* Add support for targets that want to custom expand select_cc in some cases.Chris Lattner2005-08-261-6/+24
| | | | llvm-svn: 23071
* Allow LowerOperation to return a null SDOperand in case it wants to lowerChris Lattner2005-08-261-21/+39
| | | | | | some things given to it, but not all. llvm-svn: 23070
* Fix a nasty bug from a previous patch of mineChris Lattner2005-08-261-1/+1
| | | | llvm-svn: 23069
* Emit the lo/hi parts in the right order :)Chris Lattner2005-08-251-1/+1
| | | | llvm-svn: 23068
* implement support for 64-bit add/sub, fix a broken assertion for 64-bitChris Lattner2005-08-251-2/+58
| | | | | | | return. Allow the udiv breaker-upper to work with any non-zero constant operand. llvm-svn: 23066
* simplify the add/sub_parts codeChris Lattner2005-08-251-16/+24
| | | | llvm-svn: 23065
* Finish implementing SDIV/UDIV by copying over the majik constant code fromChris Lattner2005-08-251-3/+180
| | | | | | ISelPattern llvm-svn: 23062
* Simplify some code. It's not clear why the UDIV expanded sequenceChris Lattner2005-08-251-13/+7
| | | | | | doesn't work for large uint constants, but we'll keep the current behavior llvm-svn: 23061
* Implement setcc correctly for G5 and non-G5 systemsChris Lattner2005-08-251-11/+17
| | | | llvm-svn: 23060
* implement setcc on the G5. We're still missing the non-g5 specific bits, butChris Lattner2005-08-251-0/+121
| | | | | | they will come later. llvm-svn: 23059
* New fold for SELECT_CCNate Begeman2005-08-251-1/+19
| | | | llvm-svn: 23058
* Remove option to make SetCC illegal on PowerPC after long discussion withNate Begeman2005-08-251-11/+0
| | | | | | | Chris. This will be accomplished through correctly modeling CR's and subregs. llvm-svn: 23056
* Don't auto-cse nodes that return flagsChris Lattner2005-08-251-17/+38
| | | | llvm-svn: 23055
* add printer support for flag operandsChris Lattner2005-08-251-0/+1
| | | | llvm-svn: 23054
* simplify the code a bit using isOperationLegalChris Lattner2005-08-251-4/+3
| | | | llvm-svn: 23053
* Add support for sdiv by 2^k and -2^k. Producing code like:Chris Lattner2005-08-251-1/+27
| | | | | | | | | _test: srawi r2, r3, 2 addze r3, r2 blr llvm-svn: 23052
* fit in 80 colsChris Lattner2005-08-251-1/+1
| | | | llvm-svn: 23051
* Add support for flag operandsChris Lattner2005-08-251-8/+18
| | | | llvm-svn: 23050
* add an enum valueChris Lattner2005-08-251-2/+3
| | | | llvm-svn: 23048
* Implement support for taking the address of constant pool indices, whichChris Lattner2005-08-251-0/+10
| | | | | | | is used by the int -> FP code among other things. This gets 2005-05-12-Int64ToFP past that failure, to dying on lack of support for add_parts llvm-svn: 23042
* ADd support for TargetConstantPool nodesChris Lattner2005-08-251-1/+14
| | | | llvm-svn: 23041
* Add support for FP constants, fixing UnitTests/2004-02-02-NegativeZeroChris Lattner2005-08-251-6/+25
| | | | llvm-svn: 23038
* Fully implement frame index, so that we can pass the address of alloca'sChris Lattner2005-08-251-4/+12
| | | | | | around to functions and stuff llvm-svn: 23036
* add a new TargetFrameIndex nodeChris Lattner2005-08-251-1/+13
| | | | llvm-svn: 23035
* implement unconditional branches, fixing UnitTests/2003-05-02-DependentPHI.cChris Lattner2005-08-251-1/+4
| | | | llvm-svn: 23034
* LFS/STFS load and store FP values, not integer ones. This change allows usChris Lattner2005-08-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | to codegen this: float foo() { return 1.245; } into this: _foo: lis r2, ha16(.CPI_foo_0) lfs f1, lo16(.CPI_foo_0)(r2) blr instead of this: _foo: lis r2, ha16(.CPI_foo_0) lfs r2, lo16(.CPI_foo_0)(r2) <-- ouch or f1, r2, r2 <-- ouch blr with the dag isel. llvm-svn: 23033
* Fix a broken assertionChris Lattner2005-08-251-1/+1
| | | | llvm-svn: 23032
* Fix a warningChris Lattner2005-08-251-0/+1
| | | | llvm-svn: 23031
* fix a warning in optimized buildChris Lattner2005-08-251-1/+1
| | | | llvm-svn: 23030
* Fix some warningsChris Lattner2005-08-252-0/+2
| | | | llvm-svn: 23029
* Split IMPLICIT_DEF into IMPLICIT_DEF_GPR and IMPLICIT_DEF_FP, so that theChris Lattner2005-08-245-7/+21
| | | | | | | instructions take a consistent reg class. Implement ISD::UNDEF in the dag->dag selector to generate this, fixing UnitTests/2003-07-06-IntOverflow. llvm-svn: 23028
* add a methodChris Lattner2005-08-241-0/+6
| | | | llvm-svn: 23027
* implement support for callsChris Lattner2005-08-241-3/+99
| | | | llvm-svn: 23026
* Add ReplaceAllUsesWith that can take a vector of replacement values.Chris Lattner2005-08-241-15/+90
| | | | | | Add some foldings to hopefully help the illegal setcc issue, and move some code around. llvm-svn: 23025
* Remove some dead cases.Chris Lattner2005-08-241-7/+1
| | | | | | | | | | | | | Emit the indcall sequence as: mtctr inreg mr R12, inreg btctr If inreg and R12 aren't coallesced, this reduces the odds of having the mtctr and btctr in the same dispatch group. :) llvm-svn: 23023
* Add support for external symbols, and support for variable arity instructionsChris Lattner2005-08-241-5/+12
| | | | llvm-svn: 23022
* Fix pasto that prevented VT ndoes from showing up in -view-isel-dags correctlyChris Lattner2005-08-241-1/+1
| | | | llvm-svn: 23021
* add an ideaChris Lattner2005-08-241-0/+30
| | | | llvm-svn: 23020
* Fix Regression/Transforms/Reassociate/2005-08-24-Crash.llChris Lattner2005-08-241-1/+7
| | | | llvm-svn: 23019
* Transform floor((double)FLT) -> (double)floorf(FLT), implementingChris Lattner2005-08-241-17/+55
| | | | | | | Regression/Transforms/SimplifyLibCalls/floor.ll. This triggers 19 times in 177.mesa. llvm-svn: 23017
OpenPOWER on IntegriCloud