| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
will follow.
llvm-svn: 36435
|
|
|
|
| |
llvm-svn: 35560
|
|
|
|
| |
llvm-svn: 35016
|
|
|
|
|
|
| |
Mingw32/Cygwin targets. This fixes PR978
llvm-svn: 35000
|
|
|
|
| |
llvm-svn: 34519
|
|
|
|
|
|
| |
.destructor sections.
llvm-svn: 33657
|
|
|
|
|
|
|
| |
delimits the boundaries of jump tables. This lets the linker's dead code
stripping optimization do a better job.
llvm-svn: 33315
|
|
|
|
| |
llvm-svn: 33303
|
|
|
|
|
|
| |
just use the one that's in the subtarget.
llvm-svn: 33255
|
|
|
|
| |
llvm-svn: 33247
|
|
|
|
|
|
|
|
| |
LLVM would miscompile ASM dialects when compiling for PPC. Added dialects for
the X86 and PPC backends. It defaults to "0", the first variant of a compound
inline asm expression.
llvm-svn: 33246
|
|
|
|
|
|
|
|
|
| |
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For example, there are now no longer any
instances of IntegerType that are not considered isInteger! :)
llvm-svn: 33225
|
|
|
|
| |
llvm-svn: 33216
|
|
|
|
| |
llvm-svn: 33202
|
|
|
|
| |
llvm-svn: 33198
|
|
|
|
| |
llvm-svn: 33157
|
|
|
|
|
|
| |
TargetLowering.h
llvm-svn: 33154
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 32983
|
|
|
|
| |
llvm-svn: 32841
|
|
|
|
| |
llvm-svn: 32839
|
|
|
|
|
|
|
|
|
|
|
| |
- New target type "mingw" was introduced
- Same things for both mingw & cygwin are marked as "cygming" (as in
gcc)
- .lcomm is supported here, so allow LLVM to use it
- Correctly use underscored versions of setjmp & _longjmp for both mingw
& cygwin
llvm-svn: 32833
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Three changes:
1. Convert signed integer types to signless versions.
2. Implement the @sext and @zext parameter attributes. Previously the
type of an function parameter was used to determine whether it should
be sign extended or zero extended before the call. This information is
now communicated via the function type's parameter attributes.
3. The interface to LowerCallTo had to be changed in order to accommodate
the parameter attribute information. Although it would have been
convenient to pass in the FunctionType itself, there isn't always one
present in the caller. Consequently, a signedness indication for the
result type and for each parameter was provided for in the interface
to this method. All implementations were changed to make the adjustment
necessary.
llvm-svn: 32788
|
|
|
|
| |
llvm-svn: 32685
|
|
|
|
| |
llvm-svn: 32091
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
xchgl %eax, %edx) to llvm.bswap.i64. This compiles:
long long test2(long long A) {
return _OSSwapInt64(A);
}
to:
_test2:
movl 8(%esp), %eax
movl 4(%esp), %edx
bswapl %eax
bswapl %edx
ret
instead of:
_test2:
movl 8(%esp), %edx
movl 4(%esp), %eax
bswap %eax
bswap %edx
xchgl %eax, %edx
ret
GCC manages (with -fomit-frame-pointer) the uglier:
_test2:
subl $4, %esp
movl 8(%esp), %eax
movl 12(%esp), %edx
bswap %eax
bswap %edx
xchgl %eax, %edx
addl $4, %esp
ret
llvm-svn: 32001
|
|
|
|
|
|
| |
JIT on darwin/x86, which has htonl implemented as inline asm.
llvm-svn: 31999
|
|
|
|
| |
llvm-svn: 31980
|
|
|
|
| |
llvm-svn: 31973
|
|
|
|
|
|
|
|
|
|
| |
2. Added partial debug support for mingw\cygwin targets (the same as
Linux\ELF). Please note, that currently mingw\cygwin uses 'stabs' format
for storing debug info by default, thus many (runtime) libraries has
this information included. These formats shouldn't be mixed in one binary
('stabs' & 'DWARF'), otherwise binutils tools will be confused.
llvm-svn: 31311
|
|
|
|
|
|
|
| |
generated object modules to be debugged with gdb. Hopefully this helps
pre-release debugging.
llvm-svn: 31299
|
|
|
|
| |
llvm-svn: 31203
|
|
|
|
| |
llvm-svn: 30737
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
int x __attribute__((used));
to:
.data
.comm _x,4 ; 'x'
.no_dead_strip _x
on both x86 and ppc darwin targets.
llvm-svn: 30605
|
|
|
|
| |
llvm-svn: 30177
|
|
llvm-svn: 30161
|