| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Allow LowerOperation to return a null SDOperand in case it wants to lower | Chris Lattner | 2005-08-26 | 1 | -21/+39 | |
| | | | | | | | some things given to it, but not all. llvm-svn: 23070 | |||||
| * | 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 | |||||

