aboutsummaryrefslogtreecommitdiff
path: root/lib/Target
AgeCommit message (Collapse)Author
2005-08-29Implement DYNAMIC_STACKALLOC, wrap some long linesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23136 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-29Fix a dumb bug of mine where we were mishandling the PPC ABI (undef handling).Chris Lattner
This fixes voronoi and bh in Olden, allowing all of olden to pass! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23133 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-29Fix a bug the last patch exposed in treeadd among othersChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23127 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-29A hack to fix a problem folding immedaites. This fixes Olden/power.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23126 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-29Fix order of operands for copytoreg node when emitting calls. This fixesChris Lattner
Olden/msFix order of operands for copytoreg node when emitting calls. This fixes Olden/mstt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23125 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-29add operands in the correct orderChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23123 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-28Fix a bug in FP_EXTEND, implement FP_TO_SINTChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23121 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-28fix an assertion failure in treeaddChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23120 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-27Adjust to member variable name change.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23119 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26The condition register being branched on may not be cr0, as such, print it.Chris Lattner
This fixes: UnitTests/2005-07-17-INT-To-FP.c git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23112 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Propagate cr# from COND_BRANCH to the actual branch instruction as appropriateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23111 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26allow code using mtcrf to assembleChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23107 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Remove operand type 'crbit', since it is no longer usedNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23106 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26teach getClass what a condition reg isChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23105 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Minor cleanups:Chris Lattner
* avoid calling getClass() multiple times (it is relatively expensive) * Allow -disable-fp-elim to turn of frame pointer elimination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23104 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26implement SELECT_CC fully for the DAG->DAG isel!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23101 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26spell this rightChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23099 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Add a flagChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23092 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Make fsel emission work with both the pattern and dag-dag selectors, byChris Lattner
giving it a non-instruction opcode. The dag->dag selector used to not select the operands of the fsel, because it thought that whole tree was already selected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23091 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26implement the fold for:Chris Lattner
bool %test(int %X, int %Y) { %C = setne int %X, 0 ret bool %C } to: _test: addic r2, r3, -1 subfe r3, r2, r3 blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23089 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Changes to adjust to new ReplaceAllUsesWith syntax. Change FP_EXTEND toChris Lattner
just return its input, instead of emitting an explicit copy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23088 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Remove some code made dead by the fsel patchNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23085 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26now that fsel is formed during legalization, this code is deadChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23084 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26implement the other half of the select_cc -> fsel lowering, which handlesChris Lattner
when the RHS of the comparison is 0.0. Turn this on by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23083 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Fix a bug in my previous checkinChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23082 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Change ConstantPoolSDNode to actually hold the Constant itself instead ofChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23081 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Fix some warnings in an optimized buildChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23080 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Fix a huge annoyance: SelectNodeTo took types before the opcode unlikeChris Lattner
every other SD API. Fix it to take the opcode before the types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23079 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Fix JIT encoding of conditional branchesNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23076 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26add initial support for converting select_cc -> fsel in the legalizerChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23075 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26SUBFIC produces two results, not one.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23073 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-26Implement SHL_PARTS and SRL_PARTSNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23072 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Emit the lo/hi parts in the right order :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23068 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25implement support for 64-bit add/sub, fix a broken assertion for 64-bitChris Lattner
return. Allow the udiv breaker-upper to work with any non-zero constant operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23066 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25simplify the add/sub_parts codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23065 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Finish implementing SDIV/UDIV by copying over the majik constant code fromChris Lattner
ISelPattern git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23062 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Simplify some code. It's not clear why the UDIV expanded sequenceChris Lattner
doesn't work for large uint constants, but we'll keep the current behavior git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23061 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Implement setcc correctly for G5 and non-G5 systemsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23060 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25implement setcc on the G5. We're still missing the non-g5 specific bits, butChris Lattner
they will come later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23059 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Remove option to make SetCC illegal on PowerPC after long discussion withNate Begeman
Chris. This will be accomplished through correctly modeling CR's and subregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23056 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Add support for sdiv by 2^k and -2^k. Producing code like:Chris Lattner
_test: srawi r2, r3, 2 addze r3, r2 blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23052 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25fit in 80 colsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23051 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25add an enum valueChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23048 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Implement support for taking the address of constant pool indices, whichChris Lattner
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23042 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Add support for FP constants, fixing UnitTests/2004-02-02-NegativeZeroChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23038 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Fully implement frame index, so that we can pass the address of alloca'sChris Lattner
around to functions and stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23036 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25implement unconditional branches, fixing UnitTests/2003-05-02-DependentPHI.cChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23034 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25LFS/STFS load and store FP values, not integer ones. This change allows usChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23033 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Fix a broken assertionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23032 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25Fix a warningChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23031 91177308-0d34-0410-b5e6-96231b3b80d8