summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement aliases. This fixes PR1017 and it's dependent bugs. CFE partAnton Korobeynikov2007-04-251-0/+2
| | | | | | will follow. llvm-svn: 36435
* fix breakage from last night, simplify code.Chris Lattner2007-04-011-15/+6
| | | | llvm-svn: 35560
* Put constant data to .const, .const_data, .literal{4|8|16} sections.Evan Cheng2007-03-081-0/+2
| | | | llvm-svn: 35016
* Fix DWARF debugging information on x86/Linux and (hopefully)Anton Korobeynikov2007-03-071-0/+3
| | | | | | Mingw32/Cygwin targets. This fixes PR978 llvm-svn: 35000
* External weak linkage is supported by recent binutils on mingw32.Anton Korobeynikov2007-02-231-0/+1
| | | | llvm-svn: 34519
* Darwin -static should codegen static ctors / dtors to .constructor / ↵Evan Cheng2007-01-301-2/+7
| | | | | | .destructor sections. llvm-svn: 33657
* Modify emission of jump tables on darwin to emit an extra "l" label thatChris Lattner2007-01-181-0/+7
| | | | | | | delimits the boundaries of jump tables. This lets the linker's dead code stripping optimization do a better job. llvm-svn: 33315
* darwin doesn't support .bss, but it does have .zerofillChris Lattner2007-01-171-0/+2
| | | | llvm-svn: 33303
* Instead of yet another enum indicating the "assembly language flavor",Bill Wendling2007-01-161-9/+2
| | | | | | just use the one that's in the subtarget. llvm-svn: 33255
* Make inline ASM the INTEL one if it's in that emission mode.Bill Wendling2007-01-161-2/+4
| | | | llvm-svn: 33247
* Fix for PR1095:Bill Wendling2007-01-161-0/+7
| | | | | | | | 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::isIntegral to Type::isInteger, eliminating the old Type::isInteger.Chris Lattner2007-01-151-1/+1
| | | | | | | | | 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
* Make use of isInteger vs isIntegral more explicitChris Lattner2007-01-151-1/+1
| | | | llvm-svn: 33216
* No hidden visiblity on Mingw32/CygwinAnton Korobeynikov2007-01-141-0/+1
| | | | llvm-svn: 33202
* add support for hidden visibility to darwin/x86Chris Lattner2007-01-141-0/+1
| | | | llvm-svn: 33198
* remove over-general code.Chris Lattner2007-01-121-3/+3
| | | | llvm-svn: 33157
* Adjust #includes to compensate for lost of DerivedTypes.h inReid Spencer2007-01-121-0/+1
| | | | | | TargetLowering.h llvm-svn: 33154
* For PR1064:Reid Spencer2007-01-121-6/+12
| | | | | | | | | | | | | | | | | | | | | | | 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
* relax typeChris Lattner2007-01-071-1/+1
| | | | llvm-svn: 32983
* Private labels start with .L on linux, not just .Chris Lattner2007-01-031-1/+1
| | | | llvm-svn: 32841
* Remove two useless bit casts.Reid Spencer2007-01-031-6/+0
| | | | llvm-svn: 32839
* Really big cleanup.Anton Korobeynikov2007-01-031-0/+2
| | | | | | | | | | | - 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
* For PR950:Reid Spencer2006-12-311-5/+5
| | | | | | | | | | | | | | | | | | 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
* Fix for PR1059: http://llvm.org/PR1059Anton Korobeynikov2006-12-191-0/+1
| | | | llvm-svn: 32685
* Add weak reference directive.Evan Cheng2006-12-011-0/+2
| | | | llvm-svn: 32091
* Upgrade the ugly darwin 64-bit bswap idiom (bswap %eax / bswap %edx /Chris Lattner2006-11-291-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Trivially lower 'bswap $0' into llvm.bswap. This fixes hexxagon with theChris Lattner2006-11-291-1/+71
| | | | | | JIT on darwin/x86, which has htonl implemented as inline asm. llvm-svn: 31999
* Identities are default nowAndrew Lenharth2006-11-281-4/+0
| | | | llvm-svn: 31980
* X86 asm -> gcc asm translation table (incomplete)Andrew Lenharth2006-11-281-1/+18
| | | | llvm-svn: 31973
* 1. Clean up code due to changes in SwitchTo*Section(2)Anton Korobeynikov2006-10-311-0/+18
| | | | | | | | | | 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
* Add debug support for X86/ELF targets (Linux). This allows llvm-gcc4Reid Spencer2006-10-301-0/+24
| | | | | | | generated object modules to be debugged with gdb. Hopefully this helps pre-release debugging. llvm-svn: 31299
* Put cstrings in .cstring section when compiling for Mac OS X.Evan Cheng2006-10-261-0/+1
| | | | llvm-svn: 31203
* Implement getSectionForFunction, use it when printing function body.Chris Lattner2006-10-051-2/+3
| | | | llvm-svn: 30737
* Compile:Chris Lattner2006-09-261-0/+1
| | | | | | | | | | | | | | int x __attribute__((used)); to: .data .comm _x,4 ; 'x' .no_dead_strip _x on both x86 and ppc darwin targets. llvm-svn: 30605
* Committing X86-64 support.Evan Cheng2006-09-081-1/+4
| | | | llvm-svn: 30177
* Break out target asm info into separate files.Jim Laskey2006-09-071-0/+95
llvm-svn: 30161
OpenPOWER on IntegriCloud