| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix a nasty bug from a previous patch of mine | Chris Lattner | 2005-08-26 | 1 | -1/+1 |
| | | | | | llvm-svn: 23069 | ||||
| * | Emit the lo/hi parts in the right order :) | Chris Lattner | 2005-08-25 | 1 | -1/+1 |
| | | | | | llvm-svn: 23068 | ||||
| * | implement support for 64-bit add/sub, fix a broken assertion for 64-bit | Chris Lattner | 2005-08-25 | 1 | -2/+58 |
| | | | | | | | | return. Allow the udiv breaker-upper to work with any non-zero constant operand. llvm-svn: 23066 | ||||
| * | simplify the add/sub_parts code | Chris Lattner | 2005-08-25 | 1 | -16/+24 |
| | | | | | llvm-svn: 23065 | ||||
| * | Finish implementing SDIV/UDIV by copying over the majik constant code from | Chris Lattner | 2005-08-25 | 1 | -3/+180 |
| | | | | | | | ISelPattern llvm-svn: 23062 | ||||
| * | Simplify some code. It's not clear why the UDIV expanded sequence | Chris Lattner | 2005-08-25 | 1 | -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 systems | Chris Lattner | 2005-08-25 | 1 | -11/+17 |
| | | | | | llvm-svn: 23060 | ||||
| * | implement setcc on the G5. We're still missing the non-g5 specific bits, but | Chris Lattner | 2005-08-25 | 1 | -0/+121 |
| | | | | | | | they will come later. llvm-svn: 23059 | ||||
| * | New fold for SELECT_CC | Nate Begeman | 2005-08-25 | 1 | -1/+19 |
| | | | | | llvm-svn: 23058 | ||||
| * | Remove option to make SetCC illegal on PowerPC after long discussion with | Nate Begeman | 2005-08-25 | 1 | -11/+0 |
| | | | | | | | | Chris. This will be accomplished through correctly modeling CR's and subregs. llvm-svn: 23056 | ||||
| * | Don't auto-cse nodes that return flags | Chris Lattner | 2005-08-25 | 1 | -17/+38 |
| | | | | | llvm-svn: 23055 | ||||
| * | add printer support for flag operands | Chris Lattner | 2005-08-25 | 1 | -0/+1 |
| | | | | | llvm-svn: 23054 | ||||
| * | simplify the code a bit using isOperationLegal | Chris Lattner | 2005-08-25 | 1 | -4/+3 |
| | | | | | llvm-svn: 23053 | ||||
| * | Add support for sdiv by 2^k and -2^k. Producing code like: | Chris Lattner | 2005-08-25 | 1 | -1/+27 |
| | | | | | | | | | | _test: srawi r2, r3, 2 addze r3, r2 blr llvm-svn: 23052 | ||||
| * | fit in 80 cols | Chris Lattner | 2005-08-25 | 1 | -1/+1 |
| | | | | | llvm-svn: 23051 | ||||
| * | Add support for flag operands | Chris Lattner | 2005-08-25 | 1 | -8/+18 |
| | | | | | llvm-svn: 23050 | ||||
| * | add an enum value | Chris Lattner | 2005-08-25 | 1 | -2/+3 |
| | | | | | llvm-svn: 23048 | ||||
| * | Implement support for taking the address of constant pool indices, which | Chris Lattner | 2005-08-25 | 1 | -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 nodes | Chris Lattner | 2005-08-25 | 1 | -1/+14 |
| | | | | | llvm-svn: 23041 | ||||
| * | Add support for FP constants, fixing UnitTests/2004-02-02-NegativeZero | Chris Lattner | 2005-08-25 | 1 | -6/+25 |
| | | | | | llvm-svn: 23038 | ||||
| * | Fully implement frame index, so that we can pass the address of alloca's | Chris Lattner | 2005-08-25 | 1 | -4/+12 |
| | | | | | | | around to functions and stuff llvm-svn: 23036 | ||||
| * | add a new TargetFrameIndex node | Chris Lattner | 2005-08-25 | 1 | -1/+13 |
| | | | | | llvm-svn: 23035 | ||||
| * | implement unconditional branches, fixing UnitTests/2003-05-02-DependentPHI.c | Chris Lattner | 2005-08-25 | 1 | -1/+4 |
| | | | | | llvm-svn: 23034 | ||||
| * | LFS/STFS load and store FP values, not integer ones. This change allows us | Chris Lattner | 2005-08-25 | 1 | -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 assertion | Chris Lattner | 2005-08-25 | 1 | -1/+1 |
| | | | | | llvm-svn: 23032 | ||||
| * | Fix a warning | Chris Lattner | 2005-08-25 | 1 | -0/+1 |
| | | | | | llvm-svn: 23031 | ||||
| * | fix a warning in optimized build | Chris Lattner | 2005-08-25 | 1 | -1/+1 |
| | | | | | llvm-svn: 23030 | ||||
| * | Fix some warnings | Chris Lattner | 2005-08-25 | 2 | -0/+2 |
| | | | | | llvm-svn: 23029 | ||||
| * | Split IMPLICIT_DEF into IMPLICIT_DEF_GPR and IMPLICIT_DEF_FP, so that the | Chris Lattner | 2005-08-24 | 5 | -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 method | Chris Lattner | 2005-08-24 | 1 | -0/+6 |
| | | | | | llvm-svn: 23027 | ||||
| * | implement support for calls | Chris Lattner | 2005-08-24 | 1 | -3/+99 |
| | | | | | llvm-svn: 23026 | ||||
| * | Add ReplaceAllUsesWith that can take a vector of replacement values. | Chris Lattner | 2005-08-24 | 1 | -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 Lattner | 2005-08-24 | 1 | -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 instructions | Chris Lattner | 2005-08-24 | 1 | -5/+12 |
| | | | | | llvm-svn: 23022 | ||||
| * | Fix pasto that prevented VT ndoes from showing up in -view-isel-dags correctly | Chris Lattner | 2005-08-24 | 1 | -1/+1 |
| | | | | | llvm-svn: 23021 | ||||
| * | add an idea | Chris Lattner | 2005-08-24 | 1 | -0/+30 |
| | | | | | llvm-svn: 23020 | ||||
| * | Fix Regression/Transforms/Reassociate/2005-08-24-Crash.ll | Chris Lattner | 2005-08-24 | 1 | -1/+7 |
| | | | | | llvm-svn: 23019 | ||||
| * | Transform floor((double)FLT) -> (double)floorf(FLT), implementing | Chris Lattner | 2005-08-24 | 1 | -17/+55 |
| | | | | | | | | Regression/Transforms/SimplifyLibCalls/floor.ll. This triggers 19 times in 177.mesa. llvm-svn: 23017 | ||||
| * | floor/ceil don't read/write memory. This allows gcse to eliminate 6 calls | Chris Lattner | 2005-08-24 | 1 | -0/+2 |
| | | | | | | | in mesa. llvm-svn: 23015 | ||||
| * | teach selection dag mask tracking about the fact that select_cc operates like | Chris Lattner | 2005-08-24 | 1 | -1/+10 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | select. Also teach it that the bit count instructions can only set the low bits of the result, depending on the size of the input. This allows us to compile this: int %eq0(int %a) { %tmp.1 = seteq int %a, 0 ; <bool> [#uses=1] %tmp.2 = cast bool %tmp.1 to int ; <int> [#uses=1] ret int %tmp.2 } To this: _eq0: cntlzw r2, r3 srwi r3, r2, 5 blr instead of this: _eq0: cntlzw r2, r3 rlwinm r3, r2, 27, 31, 31 blr when setcc is marked illegal on ppc (which restores parity to non-illegal setcc). Thanks to Nate for pointing this out. llvm-svn: 23013 | ||||
| * | Start using isOperationLegal and isTypeLegal to simplify the code | Chris Lattner | 2005-08-24 | 1 | -28/+23 |
| | | | | | llvm-svn: 23012 | ||||
| * | Adjust to new interface | Chris Lattner | 2005-08-24 | 1 | -4/+4 |
| | | | | | llvm-svn: 23010 | ||||
| * | For PR616: | Reid Spencer | 2005-08-24 | 1 | -3/+17 |
| | | | | | | | | | | | These patches make threading optional in LLVM. The configuration scripts are now modified to accept a --disable-threads switch. If this is used, the Mutex class will be implemented with all functions as no-op. Furthermore, linking against libpthread will not be done. Finally, the ParallelJIT example needs libpthread so its makefile was changed to always add -lpthread to the link line. llvm-svn: 23003 | ||||
| * | Whoops, fix a thinko. All cases except SETNE are now handled by the | Nate Begeman | 2005-08-24 | 1 | -11/+3 |
| | | | | | | | target independent code in SelectionDAG.cpp llvm-svn: 23002 | ||||
| * | Remove unused statistic | Nate Begeman | 2005-08-24 | 1 | -3/+5 |
| | | | | | | | Prefer 'neg X' to 'subfic 0, X' since neg does not set XER[CA] llvm-svn: 23001 | ||||
| * | Add the "ppc specific" setcc-equivalent select_cc cases | Nate Begeman | 2005-08-24 | 1 | -4/+25 |
| | | | | | | | Prefer 'neg X' to 'subfic 0, X' since it does not set XER[CA] llvm-svn: 23000 | ||||
| * | Teach SelectionDAG how to simplify a few more setcc-equivalent select_cc | Nate Begeman | 2005-08-24 | 1 | -6/+21 |
| | | | | | | | nodes so that backends don't have to. llvm-svn: 22999 | ||||
| * | Add callseq_begin/end support | Chris Lattner | 2005-08-24 | 1 | -0/+10 |
| | | | | | | | Call stil not supported yet llvm-svn: 22998 | ||||
| * | Make -view-isel-dags show the dag before instruction selecting, in case | Chris Lattner | 2005-08-24 | 1 | -2/+2 |
| | | | | | | | the target isel crashes due to unimplemented features like calls :) llvm-svn: 22997 | ||||
| * | Fix optimization of select_cc seteq X, 0, 1, 0 -> srl (ctlz X), log2 X size | Nate Begeman | 2005-08-24 | 1 | -3/+3 |
| | | | | | llvm-svn: 22995 | ||||

