summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser/llvmAsmParser.y
Commit message (Collapse)AuthorAgeFilesLines
* If there are attributes on the varargs part of aDuncan Sands2008-01-111-2/+16
| | | | | | call, don't discard them. llvm-svn: 45884
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Change the PointerType api for creating pointer types. The old functionality ↵Christopher Lamb2007-12-171-3/+3
| | | | | | of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space. llvm-svn: 45082
* Implement part of review feedback for address spaces.Christopher Lamb2007-12-121-27/+13
| | | | llvm-svn: 44933
* Implement address space attribute for LLVM pointer types. Address spaces are Christopher Lamb2007-12-111-5/+26
| | | | | | | | | | | | | | | | | regions of memory that have a target specific relationship, as described in the Embedded C Technical Report. This also implements the 2007-12-11-AddressSpaces test, which demonstrates how address space attributes can be used in LLVM IR. In addition, this patch changes the bitcode signature for stores (in a backwards compatible manner), such that the pointer type, rather than the pointee type, is encoded. This permits type information in the pointer (e.g. address space) to be preserved for stores. LangRef updates are forthcoming. llvm-svn: 44858
* Adding a collector name attribute to Function in the IR. These Gordon Henriksen2007-12-101-3/+13
| | | | | | | | | | | | | | | | | | | | methods are new to Function: bool hasCollector() const; const std::string &getCollector() const; void setCollector(const std::string &); void clearCollector(); The assembly representation is as such: define void @f() gc "shadow-stack" { ... The implementation uses an on-the-side table to map Functions to collector names, such that there is no overhead. A StringPool is further used to unique collector names, which are extremely likely to be unique per process. llvm-svn: 44769
* Fix fallout from my last patch: don't reject varargs functions :)Anton Korobeynikov2007-12-031-7/+14
| | | | llvm-svn: 44545
* More sanity checks for function types. Anton Korobeynikov2007-12-031-1/+13
| | | | | | Thanks goes to PyPy folks for generating broken stuff :) llvm-svn: 44538
* Add a convenience method for modifying parameterDuncan Sands2007-11-301-3/+3
| | | | | | | | attributes. While there, I noticed that not all attribute methods returned a pointer-to-constant, so I fixed that. llvm-svn: 44457
* Fix PR1146: parameter attributes are longer part ofDuncan Sands2007-11-271-86/+88
| | | | | | | | | | | | the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
* Rename the 'const' parameter attribute to 'readnone',Duncan Sands2007-11-221-3/+3
| | | | | | | and the 'pure' parameter attribute to 'readonly'. Names suggested by DannyB. llvm-svn: 44273
* Replace the original flex lexer with a hand writen one. This Chris Lattner2007-11-181-43/+14
| | | | | | | drops a dependency on flex and lets us make future progress more easily. Yay for 2 fewer .cvs files to make silly conflicts with. llvm-svn: 44213
* Basic non-power-of-2 vector supportNate Begeman2007-11-151-2/+0
| | | | llvm-svn: 44181
* Add pure/const attributes. Documentation will follow.Anton Korobeynikov2007-11-141-0/+3
| | | | llvm-svn: 44109
* Add support for vector remainder operations.Dan Gohman2007-11-051-5/+0
| | | | llvm-svn: 43744
* Make labels work in asm blocks; allow labels asDale Johannesen2007-11-051-14/+26
| | | | | | | parameters. Rename ValueRefList to ParamList in AsmParser, since its only use is for parameters. llvm-svn: 43734
* Revise previous patch per review comments.Dale Johannesen2007-09-121-1/+1
| | | | | | | Next round of x87 long double stuff. Getting close now, basically works. llvm-svn: 41875
* Add APInt interfaces to APFloat (allows directlyDale Johannesen2007-09-111-6/+7
| | | | | | | | | access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work). llvm-svn: 41858
* Fix PR1645 by resolving forward alias references.Chris Lattner2007-09-101-0/+21
| | | | llvm-svn: 41815
* Apply feedback from previous patch.Dale Johannesen2007-09-071-0/+1
| | | | llvm-svn: 41774
* Next round of APFloat changes.Dale Johannesen2007-09-061-5/+13
| | | | | | | | | | | | | | Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.) llvm-svn: 41747
* Update GEP constructors to use an iterator interface to fixDavid Greene2007-09-041-3/+3
| | | | | | GLIBCXX_DEBUG issues. llvm-svn: 41697
* Update InvokeInst to work like CallInstDavid Greene2007-08-271-1/+1
| | | | llvm-svn: 41506
* Fix PR1577, a crash on invalid bug.Chris Lattner2007-08-061-0/+1
| | | | llvm-svn: 40874
* This is the patch to provide clean intrinsic function overloading support in ↵Chandler Carruth2007-08-041-0/+6
| | | | | | | | 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
* Long double, part 1 of N. Support in IR.Dale Johannesen2007-08-031-3/+3
| | | | llvm-svn: 40774
* New CallInst interface to address GLIBCXX_DEBUG errors caused byDavid Greene2007-08-011-1/+1
| | | | | | | | indexing an empty std::vector. Updates to all clients. llvm-svn: 40660
* After a discussion with Anton, it turns out that the InReg attribute is notReid Spencer2007-07-311-1/+0
| | | | | | permitted on function results. So, revert the last patch to make it illegal. llvm-svn: 40632
* Allow the INREG parameter attribute to be added to functions. This permits theReid Spencer2007-07-311-0/+1
| | | | | | | | function result to be passed in a register. This implements the GCC regparm function attribute for llvm by translation to the InReg parameter attribute and fixes test/CFrontend/2002-07-30-SubregSetAssertion.c llvm-svn: 40619
* For PR1553:Reid Spencer2007-07-311-0/+2
| | | | | | | | Make the AsmParser auto-upgrade the old zext and sext keywords for parameter attributes and handle the end-of-line ambiguity. llvm-svn: 40610
* Support for trampolines, except for X86 codegen which isDuncan Sands2007-07-271-2/+3
| | | | | | still under discussion. llvm-svn: 40549
* For PR1553:Reid Spencer2007-07-191-4/+5
| | | | | | | | Change the keywords for the zext and sext parameter attributes to be zeroext and signext so they don't conflict with the keywords for the instructions of the same name. This gets around the ambiguity. llvm-svn: 40069
* Add the byval attributeRafael Espindola2007-07-061-1/+2
| | | | llvm-svn: 37940
* Commit first round work of PR1373. "noalias" is now fully supported inZhou Sheng2007-06-051-5/+6
| | | | | | | VMCore, BitCode, and Assembly. Documentation and test case paramattrs.ll updated also. llvm-svn: 37432
* Implement full unescaping of escaped hex characters in all quoted identifiersReid Spencer2007-05-221-69/+71
| | | | | | and strings. llvm-svn: 37291
* Make the %"..." syntax legal for local name. This just makes it symmetricReid Spencer2007-05-191-2/+3
| | | | | | with global names which can already be @"..." llvm-svn: 37257
* fix a bug where llvm-as couldn't assemble the .ll file for 252.eon.Chris Lattner2007-05-041-1/+1
| | | | llvm-svn: 36739
* Implement protected visibility. This partly implements PR1363. LinkerAnton Korobeynikov2007-04-291-4/+5
| | | | | | should be taught to deal with protected symbols. llvm-svn: 36565
* Revert the premature portion of the last commit.Reid Spencer2007-04-281-62/+76
| | | | llvm-svn: 36542
* Fix a compilation error (jump to case label).Reid Spencer2007-04-281-77/+64
| | | | llvm-svn: 36539
* Implement review feedback. Aliasees can be either GlobalValue's orAnton Korobeynikov2007-04-281-27/+53
| | | | | | bitcasts of them. llvm-svn: 36537
* wrap long linesChris Lattner2007-04-261-10/+16
| | | | | | | | Fix PR1358 and test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll, by creating forward decl globals with linkage extern_weak to defeat implicit constant folding. llvm-svn: 36469
* Quiet a compiler warning about assignment in an if-then conditional.Bill Wendling2007-04-251-2/+1
| | | | llvm-svn: 36454
* Add missed semicolon. Resotre compatibility with older bisonsAnton Korobeynikov2007-04-251-1/+1
| | | | llvm-svn: 36443
* Implement aliases. This fixes PR1017 and it's dependent bugs. CFE partAnton Korobeynikov2007-04-251-7/+45
| | | | | | will follow. llvm-svn: 36435
* PR400 work phase 1. Add attributed load/store instructions for ↵Christopher Lamb2007-04-221-4/+4
| | | | | | volatile/align to LLVM. llvm-svn: 36349
* For PR1146:Reid Spencer2007-04-221-40/+59
| | | | | | | | Make ParamAttrsList objects unique. You can no longer directly create or destroy them but instead must go through the ParamAttrsList::get() interface. llvm-svn: 36327
* Revert Christopher Lamb's load/store alignment changes.Reid Spencer2007-04-211-4/+4
| | | | llvm-svn: 36309
* add support for alignment attributes on load/store instructionsChristopher Lamb2007-04-211-4/+4
| | | | llvm-svn: 36301
* Okay, yes there *is* a getKeyLength method on ValueName. And, it should beReid Spencer2007-04-161-1/+1
| | | | | | used because we *do* want to allow nulls in names. llvm-svn: 36178
OpenPOWER on IntegriCloud