summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser/LLToken.h
Commit message (Collapse)AuthorAgeFilesLines
...
* LangRef and basic memory-representation/reading/writing for 'cmpxchg' andEli Friedman2011-07-281-1/+5
| | | | | | | | | | | | | | | | | | | | | 'atomicrmw' instructions, which allow representing all the current atomic rmw intrinsics. The allowed operands for these instructions are heavily restricted at the moment; we can probably loosen it a bit, but supporting general first-class types (where it makes sense) might get a bit complicated, given how SelectionDAG works. As an initial cut, these operations do not support specifying an alignment, but it would be possible to add if we think it's useful. Specifying an alignment lower than the natural alignment would be essentially impossible to support on anything other than x86, but specifying a greater alignment would be possible. I can't think of any useful optimizations which would use that information, but maybe someone else has ideas. Optimizer/codegen support coming soon. llvm-svn: 136404
* Merge the contents from exception-handling-rewrite to the mainline.Bill Wendling2011-07-271-3/+5
| | | | | | This adds the new instructions 'landingpad' and 'resume'. llvm-svn: 136253
* Initial implementation of 'fence' instruction, the new C++0x-style ↵Eli Friedman2011-07-251-1/+4
| | | | | | | | replacement for llvm.memory.barrier. This is just a LangRef entry and reading/writing/memory representation; optimizer+codegen support coming soon. llvm-svn: 136009
* remove asmparser support for the old getresult instruction, which has been ↵Chris Lattner2011-06-171-1/+1
| | | | | | subsumed by extractvalue. llvm-svn: 133247
* stop accepting begin/end around function bodies in the .ll parser, this ↵Chris Lattner2011-06-171-1/+0
| | | | | | isn't pascal anymore. llvm-svn: 133244
* Remove old backwards compatibility support from the parser for autoupgradingChris Lattner2011-06-171-1/+1
| | | | | | | | | | | the old malloc/free instructions, and for 'sext' and 'zext' as function attributes (they are spelled signext/zeroext now), and support for result value attributes being specified after a function. Additionally, diagnose invalid attributes on functions with an error message instead of an abort in the verifier. llvm-svn: 133229
* Add a new function attribute, nonlazybind, which inhibits lazy-loadingJohn McCall2011-06-151-0/+1
| | | | | | | | | | | | | | | | optimizations when emitting calls to the function; instead those calls may use faster relocations which require the function to be immediately resolved upon loading the dynamic object featuring the call. This is useful when it is known that the function will be called frequently and pervasively and therefore there is no merit in delaying binding of the function. Currently only implemented for x86-64, where it turns into a call through the global offset table. Patch by Dan Gohman, who assures me that he's going to add LangRef documentation for this once it's committed. llvm-svn: 133080
* Replace the -unwind-tables option with a per function flag. This is moreRafael Espindola2011-05-251-0/+1
| | | | | | | LTO friendly as we can now correctly merge files compiled with or without -fasynchronous-unwind-tables. llvm-svn: 132033
* Revert r129235 pending a vetting of the EH rewrite.Bill Wendling2011-04-101-3/+0
| | | | | | | | | | | | | | | | --- Reverse-merging r129235 into '.': D test/Feature/bb_attrs.ll U include/llvm/BasicBlock.h U include/llvm/Bitcode/LLVMBitCodes.h U lib/VMCore/AsmWriter.cpp U lib/VMCore/BasicBlock.cpp U lib/AsmParser/LLParser.cpp U lib/AsmParser/LLLexer.cpp U lib/AsmParser/LLToken.h U lib/Bitcode/Reader/BitcodeReader.cpp U lib/Bitcode/Writer/BitcodeWriter.cpp llvm-svn: 129259
* Beginning of the Great Exception Handling Rewrite.Bill Wendling2011-04-101-0/+3
| | | | | | | | | | | | | * Add a "landing pad" attribute to the BasicBlock. * Modify the bitcode reader and writer to handle said attribute. Later: The verifier will ensure that the landing pad attribute is used in the appropriate manner. I.e., not applied to the entry block, and applied only to basic blocks that are branched to via a `dispatch' instruction. (This is a work-in-progress.) llvm-svn: 129235
* Use X86_thiscall calling convention for Win64 as well.Tilmann Scheller2011-03-031-1/+0
| | | | llvm-svn: 126934
* Add Win64 thiscall calling convention.Tilmann Scheller2011-03-021-0/+1
| | | | llvm-svn: 126862
* First step in fixing PR8927:Rafael Espindola2011-01-081-0/+1
| | | | | | | | | | | | | | | | | | | Add a unnamed_addr bit to global variables and functions. This will be used to indicate that the address is not significant and therefore the constant or function can be merged with others. If an optimization pass can show that an address is not used, it can set this. Examples of things that can have this set by the FE are globals created to hold string literals and C++ constructors. Adding unnamed_addr to a non-const global should have no effect unless an optimization can transform that global into a constant. Aliases are not allowed to have unnamed_addr since I couldn't figure out any use for it. llvm-svn: 123063
* Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-opCharles Davis2010-10-251-0/+1
| | | | | | | instruction at the beginning of each function that has the attribute, allowing the function to be easily hooked and/or patched. llvm-svn: 117264
* Add ret instruction to PTX backendChe-Liang Chiou2010-09-251-0/+1
| | | | llvm-svn: 114788
* remove unions from LLVM IR. They are severely buggy and notChris Lattner2010-08-281-1/+0
| | | | | | being actively maintained, improved, or extended. llvm-svn: 112356
* Create the new linker type "linker_private_weak_def_auto".Bill Wendling2010-08-201-1/+2
| | | | | | | | | | | It's similar to "linker_private_weak", but it's known that the address of the object is not taken. For instance, functions that had an inline definition, but the compiler decided not to inline it. Note, unlike linker_private and linker_private_weak, linker_private_weak_def_auto may have only default visibility. The symbols are removed by the linker from the final linked image (executable or dynamic library). llvm-svn: 111684
* Implement the "linker_private_weak" linkage type. This will be used forBill Wendling2010-07-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Objective-C metadata types which should be marked as "weak", but which the linker will remove upon final linkage. However, this linkage isn't specific to Objective-C. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this: .globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1 This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition". Currently only supported on Darwin platforms. llvm-svn: 107433
* Revert r107205 and r107207.Bill Wendling2010-06-291-3/+2
| | | | llvm-svn: 107215
* Introducing the "linker_weak" linkage type. This will be used for Objective-CBill Wendling2010-06-291-2/+3
| | | | | | | | | | | | | | | | | | | metadata types which should be marked as "weak", but which the linker will remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this: .globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1 This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition". llvm-svn: 107205
* Add support for thiscall calling convention.Anton Korobeynikov2010-05-161-1/+1
| | | | | | Patch by Charles Davis and Steven Watanabe! llvm-svn: 103902
* Add support for a union type in LLVM IR. Patch by Talin!Chris Lattner2010-02-121-0/+1
| | | | llvm-svn: 96011
* Reintroduce the InlineHint function attribute.Jakob Stoklund Olesen2010-02-061-0/+1
| | | | | | | | | | | | This time it's for real! I am going to hook this up in the frontends as well. The inliner has some experimental heuristics for dealing with the inline hint. When given a -respect-inlinehint option, functions marked with the inline keyword are given a threshold just above the default for -O3. We need some experiments to determine if that is the right thing to do. llvm-svn: 95466
* Remove the InlineHint attribute. There are no current or plannedEric Christopher2010-01-151-1/+0
| | | | | | users. llvm-svn: 93558
* rename NamedOrCustomMD -> MetadataVar to follow conventions of all the rest ↵Chris Lattner2009-12-301-1/+1
| | | | | | of the code. llvm-svn: 92295
* rename lltok::Metadata -> lltok::exclaim. We name tokens Chris Lattner2009-12-301-3/+1
| | | | | | after their syntactic form, not their semantic form. llvm-svn: 92294
* Add MSP430 interrupt calling conv. No functionality change yet.Anton Korobeynikov2009-12-071-0/+1
| | | | llvm-svn: 90738
* full asmparser support for blockaddress. We can now do:Chris Lattner2009-10-281-1/+1
| | | | | | | | | $ llvm-as foo.ll -d -disable-output which reads and prints the .ll file. BC encoding is the next project. Testcase will go in once that works. llvm-svn: 85368
* rename indbr -> indirectbr to appease the residents of #llvm.Chris Lattner2009-10-281-1/+2
| | | | llvm-svn: 85351
* add enough support for indirect branch for the feature test to passChris Lattner2009-10-271-1/+1
| | | | | | | (assembler,asmprinter, bc reader+writer) and document it. Codegen currently aborts on it. llvm-svn: 85274
* Rename msasm to alignstack per review.Dale Johannesen2009-10-211-1/+1
| | | | llvm-svn: 84795
* clean up after metadata changes.Chris Lattner2009-10-191-1/+0
| | | | llvm-svn: 84463
* Add an "msasm" flag to inline asm as suggested in PR 5125.Dale Johannesen2009-10-131-0/+1
| | | | | | | A little ugliness is accepted to keep the binary file format compatible. No functional change yet. llvm-svn: 84020
* Parse custom metadata attached with an instruction.Devang Patel2009-09-291-1/+1
| | | | llvm-svn: 83033
* Parse debug info attached with an instruction.Devang Patel2009-09-161-0/+1
| | | | llvm-svn: 82063
* Add an 'inline hint' attribute to represent sourceDale Johannesen2009-08-261-0/+1
| | | | | | | | code hints that it would be a good idea to inline a function ("inline" keyword). No functional change yet; FEs do not emit this and inliner does not use it. llvm-svn: 80063
* Parse named metadata.Devang Patel2009-07-291-0/+1
| | | | llvm-svn: 77410
* Add a new keyword 'inbounds' for use with getelementptr. See theDan Gohman2009-07-271-0/+1
| | | | | | LangRef.html changes for details. llvm-svn: 77259
* Rename the new unsigned and signed keywords to nuw and nsw,Dan Gohman2009-07-221-2/+2
| | | | | | which stand for no-unsigned-wrap and no-signed-wrap. llvm-svn: 76810
* Assembly and Bitcode support for unsigned/signed overflow flags andDan Gohman2009-07-201-0/+3
| | | | | | exact sdiv flags. llvm-svn: 76475
* Add plumbing for the `linker_private' linkage type. This type is meant forBill Wendling2009-07-201-2/+3
| | | | | | | | | "private" symbols which the assember shouldn't strip, but which the linker may remove after evaluation. This is mostly useful for Objective-C metadata. This is plumbing, so we don't have a use of it yet. More to come, etc. llvm-svn: 76385
* Add support for naked functionsAnton Korobeynikov2009-07-171-0/+1
| | | | llvm-svn: 76198
* Remove the vicmp and vfcmp instructions. Because we never had a release withNick Lewycky2009-07-081-1/+1
| | | | | | | these instructions, no autoupgrade or backwards compatibility support is provided. llvm-svn: 74991
* Address review comments: add 3 ARM calling conventions.Anton Korobeynikov2009-06-161-1/+3
| | | | | | | Dispatch C calling conv. to one of these conventions based on target triple and subtarget features. llvm-svn: 73530
* Add new function attribute - noimplicitfloatDevang Patel2009-06-051-0/+1
| | | | | | | Update code generator to use this attribute and remove NoImplicitFloat target option. Update llc to set this attribute when -no-implicit-float command line option is used. llvm-svn: 72959
* Split the Add, Sub, and Mul instruction opcodes into separateDan Gohman2009-06-041-1/+2
| | | | | | | | | | | | | | | integer and floating-point opcodes, introducing FAdd, FSub, and FMul. For now, the AsmParser, BitcodeReader, and IRBuilder all preserve backwards compatability, and the Core LLVM APIs preserve backwards compatibility for IR producers. Most front-ends won't need to change immediately. This implements the first step of the plan outlined here: http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt llvm-svn: 72897
* Add new function attribute - noredzone. Devang Patel2009-06-041-0/+1
| | | | | | | Update code generator to use this attribute and remove DisableRedZone target option. Update llc to set this attribute when -disable-red-zone command line option is used. llvm-svn: 72894
* Add a new "available_externally" linkage type. This is intendedChris Lattner2009-04-131-1/+1
| | | | | | | | to support C99 inline, GNU extern inline, etc. Related bugzilla's include PR3517, PR3100, & PR2933. Nothing uses this yet, but it appears to work. llvm-svn: 68940
* Add support for embedded metadata to LLVM. This introduces two new types ofNick Lewycky2009-04-041-0/+3
| | | | | | | | Constant, MDString and MDNode which can only be used by globals with a name that starts with "llvm." or as arguments to a function with the same naming restriction. llvm-svn: 68420
* It makes no sense to have a ODR version of commonDuncan Sands2009-03-111-1/+1
| | | | | | linkage, so remove it. llvm-svn: 66690
OpenPOWER on IntegriCloud