| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
patches are also needed.
llvm-svn: 37070
|
| |
|
|
| |
llvm-svn: 37063
|
| |
|
|
| |
llvm-svn: 37061
|
| |
|
|
| |
llvm-svn: 37060
|
| |
|
|
|
|
| |
normal operand for isel.
llvm-svn: 36946
|
| |
|
|
|
|
|
|
| |
feature is set, then the features in the implied list should be set also.
The opposite is also enforced: if a feature in the implied list isn't set,
then the feature that owns that implies list shouldn't be set either.
llvm-svn: 36756
|
| |
|
|
| |
llvm-svn: 36619
|
| |
|
|
| |
llvm-svn: 36618
|
| |
|
|
| |
llvm-svn: 36486
|
| |
|
|
| |
llvm-svn: 36477
|
| |
|
|
| |
llvm-svn: 36338
|
| |
|
|
| |
llvm-svn: 36296
|
| |
|
|
|
|
| |
X86 32 bits.
llvm-svn: 36283
|
| |
|
|
| |
llvm-svn: 36278
|
| |
|
|
|
|
|
|
| |
Don't assert everytime an intrinsic name isn't recognized. Instead, make
the assert optional when callin getIntrinsicID(). This allows the assembler
to handle invalid intrinsic names gracefully.
llvm-svn: 36120
|
| |
|
|
|
|
|
|
|
|
| |
Implement code generation for overloaded intrinsic functions. The basic
difference is that "actual" argument types must be provided when
constructing intrinsic names and types. Also, for recognition, only the
prefix is examined. If it matches, the suffix is assumed to match. The
suffix is checked by the Verifier, however.
llvm-svn: 35539
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#include <mmintrin.h>
extern __m64 C;
void baz(__v2si *A, __v2si *B)
{
*A = C;
_mm_empty();
}
We get this:
_baz:
call "L1$pb"
"L1$pb":
popl %eax
movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax
movq (%eax), %mm0
movl 4(%esp), %eax
movq %mm0, (%eax)
emms
ret
GCC gives us this:
_baz:
pushl %ebx
call L3
"L00000000001$pb":
L3:
popl %ebx
subl $8, %esp
movl L_C$non_lazy_ptr-"L00000000001$pb"(%ebx), %eax
movl (%eax), %edx
movl 4(%eax), %ecx
movl 16(%esp), %eax
movl %edx, (%eax)
movl %ecx, 4(%eax)
emms
addl $8, %esp
popl %ebx
ret
llvm-svn: 35351
|
| |
|
|
| |
llvm-svn: 35159
|
| |
|
|
|
|
| |
zext/sext/aext stuff.
llvm-svn: 35008
|
| |
|
|
|
|
| |
from formal attributes' flags processing.
llvm-svn: 34963
|
| |
|
|
| |
llvm-svn: 34724
|
| |
|
|
| |
llvm-svn: 34720
|
| |
|
|
| |
llvm-svn: 34697
|
| |
|
|
| |
llvm-svn: 34696
|
| |
|
|
|
|
|
|
|
|
| |
CodeGenTarget.cpp updated: 1.82 -> 1.83
Record.cpp updated: 1.55 -> 1.56
Record.h updated: 1.59 -> 1.60
TableGen.cpp updated: 1.47 -> 1.48
It's missing CallingConvEmitter.h
llvm-svn: 34693
|
| |
|
|
| |
llvm-svn: 34682
|
| |
|
|
| |
llvm-svn: 34624
|
| |
|
|
| |
llvm-svn: 34321
|
| |
|
|
|
|
| |
which allocates a string. This speeds up instcombine on 447.dealII by 5%.
llvm-svn: 34318
|
| |
|
|
|
|
|
| |
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.
llvm-svn: 34300
|
| |
|
|
|
|
|
| |
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293
|
| |
|
|
|
|
|
| |
to construct FunctionType in separate function, and, have getDeclaration
return a Function instead of a Constant.
llvm-svn: 34008
|
| |
|
|
| |
llvm-svn: 33967
|
| |
|
|
| |
llvm-svn: 33966
|
| |
|
|
| |
llvm-svn: 33965
|
| |
|
|
| |
llvm-svn: 33964
|
| |
|
|
| |
llvm-svn: 33963
|
| |
|
|
| |
llvm-svn: 33962
|
| |
|
|
| |
llvm-svn: 33557
|
| |
|
|
| |
llvm-svn: 33539
|
| |
|
|
| |
llvm-svn: 33295
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
16, 32, and 64 bit integers.
This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
bits in an integer. The Type classes SubclassData field is used to
store the number of bits. This allows 2^23 bits in an integer type.
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
64-bit integers. These are replaced with just IntegerType which is not
a primitive any more.
3. Adjust the rest of LLVM to account for this change.
Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with
them in any significant way. Most optimization passes, for example, will
still only deal with the byte-width integer types. Future increments
will rectify this situation.
llvm-svn: 33113
|
| |
|
|
|
|
| |
Convert signed integer types to signless.
llvm-svn: 32786
|
| |
|
|
| |
llvm-svn: 32491
|
| |
|
|
| |
llvm-svn: 32488
|
| |
|
|
| |
llvm-svn: 32483
|
| |
|
|
| |
llvm-svn: 32333
|
| |
|
|
| |
llvm-svn: 32107
|
| |
|
|
| |
llvm-svn: 31880
|
| |
|
|
| |
llvm-svn: 31804
|