#
066eabb0 |
| 26-Jun-2008 |
Bill Wendling <isanbard@gmail.com> |
Remove warnings about shadowed and unused variables.
llvm-svn: 52791
|
#
33ff5c8d |
| 25-Jun-2008 |
Duncan Sands <baldrick@free.fr> |
Add support for expanding PPC 128 bit floats. For this it is convenient to permit floats to be used with EXTRACT_ELEMENT, so I tweaked things to allow that. I also added libcalls for ppcf128 to i32
Add support for expanding PPC 128 bit floats. For this it is convenient to permit floats to be used with EXTRACT_ELEMENT, so I tweaked things to allow that. I also added libcalls for ppcf128 to i32 forms of FP_TO_XINT, since they exist in libgcc and this case can certainly occur (and does occur in the testsuite) - before the i64 libcall was being used. Also, the XINT_TO_FP result seemed to be wrong when the argument is an i128: the wrong fudge factor was added (the i32 and i64 cases were handled directly, but the i128 code fell through to some generic softening code which seemed to think it was i64 to f32!). So I fixed it by adding a fudge factor that I found in my breakfast cereal.
llvm-svn: 52739
show more ...
|
#
aa01afd4 |
| 25-Jun-2008 |
Dan Gohman <gohman@apple.com> |
Remove the OrigVT member from AtomicSDNode, as it is redundant with the base SDNode's VTList.
llvm-svn: 52722
|
#
6a490371 |
| 25-Jun-2008 |
Mon P Wang <wangmp@apple.com> |
Added MemOperands to Atomic operations since Atomics touches memory. Added abstract class MemSDNode for any Node that have an associated MemOperand Changed atomic.lcs => atomic.cmp.swap, atomic.las =
Added MemOperands to Atomic operations since Atomics touches memory. Added abstract class MemSDNode for any Node that have an associated MemOperand Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and atomic.lss => atomic.load.sub
llvm-svn: 52706
show more ...
|
#
b282cc60 |
| 21-Jun-2008 |
Dan Gohman <gohman@apple.com> |
Reorder some fields in SDNode. This avoids padding, reducings its size from 80 to 72 on 64-bit hosts.
llvm-svn: 52584
|
#
b6a90cca |
| 20-Jun-2008 |
Duncan Sands <baldrick@free.fr> |
Add some methods for querying the nature of a store, like the methods for loads (and neaten those up a bit while there).
llvm-svn: 52547
|
#
f88d50bf |
| 14-Jun-2008 |
Andrew Lenharth <andrewl@lenharth.org> |
add missing atomic intrinsic from gcc
llvm-svn: 52270
|
Revision tags: llvmorg-2.3.0 |
|
#
13237ac3 |
| 06-Jun-2008 |
Duncan Sands <baldrick@free.fr> |
Wrap MVT::ValueType in a struct to get type safety and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT
Wrap MVT::ValueType in a struct to get type safety and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux).
llvm-svn: 52044
show more ...
|
#
cf3acae2 |
| 29-May-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
llvm-svn: 51687
|
#
14dd4ffd |
| 19-May-2008 |
Bill Wendling <isanbard@gmail.com> |
Remove warnings about unused parameters and shadowed variables.
llvm-svn: 51266
|
#
cfcb5609 |
| 12-May-2008 |
Nate Begeman <natebegeman@mac.com> |
Add support for vicmp/vfcmp codegen, more legalize support coming. This is necessary to unbreak the build.
llvm-svn: 50988
|
#
13a15700 |
| 07-May-2008 |
Bill Wendling <isanbard@gmail.com> |
Make the use of the "noinline" attribute conditional on using GCC.
llvm-svn: 50789
|
#
d054e15f |
| 06-May-2008 |
Bill Wendling <isanbard@gmail.com> |
Workaround for a compiler bug (see <rdar://problem/5852746>). Once that bug is fixed, revert this patch.
llvm-svn: 50782
|
#
3e58393c |
| 05-May-2008 |
Mon P Wang <wangmp@apple.com> |
Added addition atomic instrinsics and, or, xor, min, and max.
llvm-svn: 50663
|
#
86cb3186 |
| 05-May-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix more -Wshorten-64-to-32 warnings.
llvm-svn: 50659
|
#
aac27592 |
| 20-Apr-2008 |
Dale Johannesen <dalej@apple.com> |
Check we aren't trying to convert PPC long double. This fixes the testsuite failure on ppcf128-4.ll.
llvm-svn: 49994
|
#
75c895db |
| 17-Apr-2008 |
Dan Gohman <gohman@apple.com> |
Remove the implicit conversion from SDOperandPtr to SDOperand*; this may fix a build error on Visual Studio.
llvm-svn: 49876
|
#
a01df2d0 |
| 17-Apr-2008 |
Roman Levenstein <romix.llvm@googlemail.com> |
Minor clean-up based on Dan's comments.
llvm-svn: 49844
|
#
a3ee1a38 |
| 16-Apr-2008 |
Roman Levenstein <romix.llvm@googlemail.com> |
Ongoing work on improving the instruction selection infrastructure: Rename SDOperandImpl back to SDOperand. Introduce the SDUse class that represents a use of the SDNode referred by an SDOperand. Now
Ongoing work on improving the instruction selection infrastructure: Rename SDOperandImpl back to SDOperand. Introduce the SDUse class that represents a use of the SDNode referred by an SDOperand. Now it is more similar to Use/Value classes.
Patch is approved by Dan Gohman.
llvm-svn: 49795
show more ...
|
#
7b96b2e7 |
| 15-Apr-2008 |
Dale Johannesen <dalej@apple.com> |
Make 64-to-32 bit truncations explicit (prevent warnings). All values here fit in 32 bits.
llvm-svn: 49736
|
#
7000c8f1 |
| 15-Apr-2008 |
Nicolas Geoffray <nicolas.geoffray@lip6.fr> |
Change Divided flag to Split, as suggested by Evan
llvm-svn: 49715
|
#
dcc2eda5 |
| 13-Apr-2008 |
Nicolas Geoffray <nicolas.geoffray@lip6.fr> |
Add a divided flag for the first piece of an argument divided into mulitple parts. Fixes PR1643
llvm-svn: 49611
|
#
544ab2c5 |
| 12-Apr-2008 |
Dan Gohman <gohman@apple.com> |
Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal on any current target and aren't optimized in DAGCombiner. Instead of using intermediate nodes, expand the operations, choosing be
Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal on any current target and aren't optimized in DAGCombiner. Instead of using intermediate nodes, expand the operations, choosing between simple loads/stores, target-specific code, and library calls, immediately.
Previously, the code to emit optimized code for these operations was only used at initial SelectionDAG construction time; now it is used at all times. This fixes some cases where rep;movs was being used for small copies where simple loads/stores would be better.
This also cleans up code that checks for alignments less than 4; let the targets make that decision instead of doing it in target-independent code. This allows x86 to use rep;movs in low-alignment cases.
Also, this fixes a bug that resulted in the use of rep;stos for memsets of 0 with non-constant memory size when the alignment was at least 4. It's better to use the library in this case, which can be significantly faster when the size is large.
This also preserves more SourceValue information when memory intrinsics are lowered into simple loads/stores.
llvm-svn: 49572
show more ...
|
#
3bc3ddd6 |
| 07-Apr-2008 |
Dan Gohman <gohman@apple.com> |
Rename MemOperand to MachineMemOperand. This was suggested by review feedback from Chris quite a while ago. No functionality change.
llvm-svn: 49348
|
#
51f532f9 |
| 07-Apr-2008 |
Roman Levenstein <romix.llvm@googlemail.com> |
Re-commit of the r48822, where the infinite looping problem discovered by Dan Gohman is fixed.
llvm-svn: 49330
|