summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add StringConstantPrefix to control what theDale Johannesen2008-06-031-0/+1
| | | | | | assembler names of string constants look like. llvm-svn: 51909
* Output correct exception handling and frame infoDuncan Sands2008-05-071-2/+0
| | | | | | | | | | | | | | | | | | on x86-64 linux. This causes no regressions on 32 bit linux and 32 bit ppc. More tests pass on 64 bit ppc with no regressions. I didn't turn on eh on 64 bit linux because the intrinsics needed to compile the eh runtime aren't done yet. But if you turn it on and link with the mainline runtime then eh seems to work fine on x86-64 linux with this patch. Thanks to Dale for testing. The main point of the patch is that if you output that some object is encoded using 4 bytes you had better not output 8 bytes for it: the patch makes everything consistent. llvm-svn: 50825
* Use a dedicated IsLinux flag instead of an ELFLinux TargetType.Dan Gohman2008-05-051-2/+1
| | | | llvm-svn: 50649
* Add AsmPrinter support for emitting a directive to declare thatDan Gohman2008-05-051-0/+5
| | | | | | | | | the code being generated does not require an executable stack. Also, add target-specific code to make use of this on Linux on x86. llvm-svn: 50634
* API changes for class Use size reduction, wave 1.Gabor Greif2008-04-061-1/+1
| | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
* Use ## for comment delimiter on darwin x86-32, soDale Johannesen2008-03-251-2/+3
| | | | | | | | llvm's output .s files will go through gcc -std=c99 without triggering preprocesser errors. Approach suggested by Daveed Vandevoorde. llvm-svn: 48808
* A quick nm audit turned up several fixed tables and objects that wereDan Gohman2008-03-251-1/+2
| | | | | | | marked read-write. Use const so that they can be allocated in a read-only segment. llvm-svn: 48800
* On Darwin, GCC issues a ".globl" for something that has a "visibility protected"Bill Wendling2008-03-181-0/+1
| | | | | | attribute instead of ".protected". llvm-svn: 48516
* Use enumeration for preffered EH dwarf encoding reasonAnton Korobeynikov2008-02-291-5/+6
| | | | llvm-svn: 47770
* Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to ↵Evan Cheng2008-02-281-0/+1
| | | | | | 16-byte boundaries. llvm-svn: 47703
* Preparation step for some cleanup/generalization in EH information emission:Anton Korobeynikov2008-02-271-1/+65
| | | | | | provide TAI hook for selection of EH data emission format. Currently unused. llvm-svn: 47699
* Fix and enable EH for x86-64 Darwin. AddsDale Johannesen2008-01-151-4/+11
| | | | | | | | | ShortenEHDataFor64Bits as a not-very-accurate abstraction to cover all the changes in DwarfWriter. Some cosmetic changes to Darwin assembly code for gcc testsuite compatibility. llvm-svn: 46029
* Weak things initialized to 0 don't go in bss on Darwin.Dale Johannesen2008-01-111-1/+1
| | | | | | | Cosmetic changes to spacing to match gcc (some dejagnu tests actually care). llvm-svn: 45848
* Emit unused EH frames for weak definitions on Darwin,Dale Johannesen2008-01-101-3/+4
| | | | | | | because assembler/linker can't cope with weak absolutes. PR 1880. llvm-svn: 45811
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Fix .eh table linkage issues on Darwin. Some EH supportDale Johannesen2007-11-201-0/+2
| | | | | | for Darwin PPC, but it's not fully working yet. llvm-svn: 44258
* Revert previous; these files aren't ready to go in yet.Dale Johannesen2007-11-131-1/+2
| | | | llvm-svn: 44057
* Add parameter to getDwarfRegNum to permit targetsDale Johannesen2007-11-131-2/+1
| | | | | | | | to use different mappings for EH and debug info; no functional change yet. Fix warning in X86CodeEmitter. llvm-svn: 44056
* Add a bool to indicate if we should set the "indirect encoding" bit in the DwarfBill Wendling2007-09-111-0/+1
| | | | | | information for EH. llvm-svn: 41852
* The personality function on Darwin needs a global stub. We then refer toBill Wendling2007-09-111-0/+2
| | | | | | that global stub instead of doing the ".set" thingy we were doing before. llvm-svn: 41838
* Add the PCSymbol for Darwin x86 platforms.Bill Wendling2007-08-221-0/+1
| | | | llvm-svn: 41284
* Use only 1 knob to enable exceptions on Darwin :). Anton Korobeynikov2007-08-211-0/+8
| | | | llvm-svn: 41208
* This is the patch to provide clean intrinsic function overloading support in ↵Chandler Carruth2007-08-041-2/+2
| | | | | | | | LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported. llvm-svn: 40807
* Minor cleanup:Anton Korobeynikov2007-07-251-1/+4
| | | | | | | - Split EH and debug infiormation - Make DwarfWriter more verbose in some cases llvm-svn: 40481
* Long live the exception handling!Anton Korobeynikov2007-07-141-2/+3
| | | | | | | | | | | | | | | This patch fills the last necessary bits to enable exceptions handling in LLVM. Currently only on x86-32/linux. In fact, this patch adds necessary intrinsics (and their lowering) which represent really weird target-specific gcc builtins used inside unwinder. After corresponding llvm-gcc patch will land (easy) exceptions should be more or less workable. However, exceptions handling support should not be thought as 'finished': I expect many small and not so small glitches everywhere. llvm-svn: 39855
* Remove a redundant newline in the asm output for ELF .rodata sections.Dan Gohman2007-06-271-1/+1
| | | | llvm-svn: 37756
* More DWARF-related things cleanup:Anton Korobeynikov2007-05-121-2/+0
| | | | | | | | | | 1. Fix PR1380 2. Apply Duncan's patch from PR1410 3. Insert workaround for "one personality function per module" as noted in PR1414 4. Emit correct debug frames for x86/linux. This partly fixes DebugInfo/2006-11-06-StackTrace.cpp: stack trace is shown correctly, but arguments for function on top of stack are displayed incorrectly. llvm-svn: 37015
* Emit sections/directives in the proper order. This fixes PR1376. Also,Anton Korobeynikov2007-05-051-16/+13
| | | | | | some small cleanup was made. llvm-svn: 36780
* Sets the section names for fixed-size constants and use the mergeableDan Gohman2007-05-031-0/+5
| | | | | | | | flag for ELF on x86 so that duplicate constants can be eliminated by the linker. This matches what GCC does with its -fmerge-constants option, which is enabled at most -O levels. llvm-svn: 36666
* Fix couple of bugs connected with eh info:Anton Korobeynikov2007-05-011-2/+4
| | | | | | | 1. Correct output offsets on Linux 2. Fix "style" of personality function. It shouldn't be indirect. llvm-svn: 36633
* Use correct PC symbolAnton Korobeynikov2007-05-011-0/+2
| | | | llvm-svn: 36628
* Adjust correct EH-related sectionsAnton Korobeynikov2007-05-011-0/+4
| | | | llvm-svn: 36627
* 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
OpenPOWER on IntegriCloud