- Jan 12, 2007
-
-
Reid Spencer authored
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
-
- Jan 07, 2007
-
-
Chris Lattner authored
llvm-svn: 32983
-
- Jan 03, 2007
-
-
Chris Lattner authored
llvm-svn: 32841
-
Reid Spencer authored
llvm-svn: 32839
-
Anton Korobeynikov authored
- 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
-
- Dec 31, 2006
-
-
Reid Spencer authored
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
-
- Dec 19, 2006
-
-
- Dec 01, 2006
-
-
Evan Cheng authored
llvm-svn: 32091
-
- Nov 29, 2006
-
-
Chris Lattner authored
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
-
Chris Lattner authored
JIT on darwin/x86, which has htonl implemented as inline asm. llvm-svn: 31999
-
- Nov 28, 2006
-
-
Andrew Lenharth authored
llvm-svn: 31980
-
Andrew Lenharth authored
llvm-svn: 31973
-
- Oct 31, 2006
-
-
Anton Korobeynikov authored
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
-
- Oct 30, 2006
-
-
Reid Spencer authored
generated object modules to be debugged with gdb. Hopefully this helps pre-release debugging. llvm-svn: 31299
-
- Oct 26, 2006
-
-
Evan Cheng authored
llvm-svn: 31203
-
- Oct 05, 2006
-
-
Chris Lattner authored
llvm-svn: 30737
-
- Sep 26, 2006
-
-
Chris Lattner authored
int x __attribute__((used)); to: .data .comm _x,4 ; 'x' .no_dead_strip _x on both x86 and ppc darwin targets. llvm-svn: 30605
-
- Sep 08, 2006
-
-
Evan Cheng authored
llvm-svn: 30177
-
Jim Laskey authored
llvm-svn: 30161
-