summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/AsmWriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* To support multiple return values, now ret instruction supports multiple ↵Devang Patel2008-02-231-17/+2
| | | | | | operands instead of one aggregate operand. llvm-svn: 47508
* Split ParameterAttributes.h, putting the complicatedDale Johannesen2008-02-221-1/+1
| | | | | | | stuff into ParamAttrsList.h. Per feedback from ParamAttrs changes. llvm-svn: 47504
* Print getresult instruction properly.Devang Patel2008-02-221-0/+13
| | | | llvm-svn: 47473
* Print ret instruction that returns aggregates.Devang Patel2008-02-221-2/+17
| | | | llvm-svn: 47472
* Expand ParameterAttributes to 32 bits (in preparationDale Johannesen2008-02-191-9/+14
| | | | | | | for adding alignment info, not there yet). Clean up interfaces to reference ParameterAttributes consistently. llvm-svn: 47342
* Add explicit keywords.Dan Gohman2008-01-291-2/+2
| | | | llvm-svn: 46506
* Reformatted. It was confusing the other way. No functionality change.Bill Wendling2008-01-151-2/+3
| | | | llvm-svn: 46009
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Don't forget to print address space qualifiers when printing out the type ↵Christopher Lamb2007-12-181-1/+4
| | | | | | table! Thanks to Gordon Henriksen for pointing this out. llvm-svn: 45147
* Implement address space attribute for LLVM pointer types. Address spaces are Christopher Lamb2007-12-111-2/+9
| | | | | | | | | | | | | | | | | 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-0/+2
| | | | | | | | | | | | | | | | | | | | 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 PR1146: parameter attributes are longer part ofDuncan Sands2007-11-271-29/+22
| | | | | | | | | | | | 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
* print a call to a fastcc function as:Chris Lattner2007-11-181-2/+2
| | | | | | | | | | call x86_fastcallcc void @func( i32* %X, i64 0 ) not: callx86_fastcallcc void @func( i32* %X, i64 0 ) This fixes Codegen/X86/fast-cc-merge-stack-adj.ll llvm-svn: 44217
* Next PPC long double bits. First cut at constants.Dale Johannesen2007-10-111-2/+4
| | | | | | | | | No compile-time support for constant operations yet, just format transformations. Make readers and writers work. Split constants into 2 doubles in Legalize. llvm-svn: 42865
* Make temporaries explicit to avoid prematureDale Johannesen2007-09-261-1/+3
| | | | | | destruction of compiler-created ones. llvm-svn: 42383
* Revise previous patch per review comments.Dale Johannesen2007-09-121-28/+57
| | | | | | | Next round of x87 long double stuff. Getting close now, basically works. llvm-svn: 41875
* Next round of APFloat changes.Dale Johannesen2007-09-061-3/+6
| | | | | | | | | | | | | | 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
* simplify code and print visibility for declarations.Chris Lattner2007-08-191-25/+21
| | | | llvm-svn: 41173
* Reinstate the patch for escaping non-printing characters and allow forReid Spencer2007-05-221-19/+36
| | | | | | \\ to escape \. All these cases are now handled by the AsmParser. llvm-svn: 37295
* temporarily revert reid's asmwriter patch, it is missing the asmparser pieceChris Lattner2007-05-221-33/+19
| | | | | | | | that decodes the escape sequences, thus breaking all cases that use them. This fixes test/Assembler/2007-05-21-Escape.ll llvm-svn: 37284
* Get the order of the hext digits right!Reid Spencer2007-05-191-2/+2
| | | | llvm-svn: 37261
* Adjust how LLVM names are produced:Reid Spencer2007-05-191-19/+33
| | | | | | | | | | 1. Always use % for local and @ for global. 2. Replace NameNeedsQuotes with QuoteNameIfNeeded so that any adjustments to the name can be done in one pass. 3. Implement generation of hex escapes so we don't get "wonky" characters in the output. llvm-svn: 37260
* Drop 'const'Devang Patel2007-05-031-2/+2
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-2/+2
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-0/+2
| | | | llvm-svn: 36632
* Implement protected visibility. This partly implements PR1363. LinkerAnton Korobeynikov2007-04-291-0/+3
| | | | | | should be taught to deal with protected symbols. llvm-svn: 36565
* Implement review feedbackAnton Korobeynikov2007-04-291-2/+1
| | | | llvm-svn: 36564
* Implement review feedback. Aliasees can be either GlobalValue's orAnton Korobeynikov2007-04-281-4/+10
| | | | | | bitcasts of them. llvm-svn: 36537
* print aliases before functionsChris Lattner2007-04-261-5/+6
| | | | llvm-svn: 36459
* Implement aliases. This fixes PR1017 and it's dependent bugs. CFE partAnton Korobeynikov2007-04-251-9/+65
| | | | | | will follow. llvm-svn: 36435
* PR400 work phase 1. Add attributed load/store instructions for ↵Christopher Lamb2007-04-221-0/+7
| | | | | | volatile/align to LLVM. llvm-svn: 36349
* For PR1146:Reid Spencer2007-04-221-0/+11
| | | | | | | | 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-7/+0
| | | | llvm-svn: 36309
* add support for alignment attributes on load/store instructionsChristopher Lamb2007-04-211-0/+7
| | | | llvm-svn: 36301
* don't access argument list of prototypesChris Lattner2007-04-181-7/+24
| | | | llvm-svn: 36238
* Implement the "thread_local" keyword.Lauro Ramos Venancio2007-04-121-1/+2
| | | | llvm-svn: 35950
* For PR1146:Reid Spencer2007-04-111-11/+11
| | | | | | | Put the parameter attributes in their own ParamAttr name space. Adjust the rest of llvm as a result. llvm-svn: 35877
* For PR1146:Reid Spencer2007-04-091-30/+36
| | | | | | Adjust writing of parameter attributes to use ParamAttrList class. llvm-svn: 35808
* No need to generate the implementation keyword any more. Its frivolous.Reid Spencer2007-03-281-2/+0
| | | | llvm-svn: 35405
* Change uses of Function::front to Function::getEntryBlock for readability.Dan Gohman2007-03-221-1/+1
| | | | llvm-svn: 35265
* For PR1258:Reid Spencer2007-03-191-39/+20
| | | | | | | | | | Radically simplify the SlotMachine. There is no need to keep Value planes around any more. This change causes slot numbering to number all un-named, non-void values starting at 0 and incrementing monotonically through the function, regardless of type (including BasicBlocks). Getting slot numbers is now a single lookup operation instead of a double lookup. llvm-svn: 35171
* Adjust to changes in the APInt interface.Reid Spencer2007-02-271-1/+1
| | | | llvm-svn: 34681
* Allow the AsmWriter to print out arbitrary precision integers.Reid Spencer2007-02-271-1/+1
| | | | llvm-svn: 34664
* For PR1195:Reid Spencer2007-02-151-4/+4
| | | | | | | Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293
* For PR411:Reid Spencer2007-02-051-1/+1
| | | | | | | | | | This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. llvm-svn: 33918
* Fix a comment that needed to change after SHIFT patch landed.Reid Spencer2007-02-021-2/+1
| | | | llvm-svn: 33781
* Changes to support making the shift instructions be true BinaryOperators.Reid Spencer2007-02-021-2/+1
| | | | | | | | | | | | This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. llvm-svn: 33776
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-2/+2
| | | | | | confusion with external linkage types. llvm-svn: 33663
* Propagate changes from my local tree. This patch includes:Anton Korobeynikov2007-01-281-3/+0
| | | | | | | | | | | | | | | | | | | | | | 1. New parameter attribute called 'inreg'. It has meaning "place this parameter in registers, if possible". This is some generalization of gcc's regparm(n) attribute. It's currently used only in X86-32 backend. 2. Completely rewritten CC handling/lowering code inside X86 backend. Merged stdcall + c CCs and fastcall + fast CC. 3. Dropped CSRET CC. We cannot add struct return variant for each target-specific CC (e.g. stdcall + csretcc and so on). 4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in on first attribute has meaning 'This is hidden pointer to structure return. Handle it gently'. 5. Fixed small bug in llvm-extract + add new feature to FunctionExtraction pass, which relinks all internal-linkaged callees from deleted function to external linkage. This will allow further linking everything together. NOTEs: 1. Documentation will be updated soon. 2. llvm-upgrade should be improved to translate csret => sret. Before this, there will be some unexpected test fails. llvm-svn: 33597
* For PR645:Reid Spencer2007-01-261-93/+53
| | | | | | | Implement new syntax for local and global symbols. Types and local symbols use the % prefix. Global variables and functions use the @ prefix. llvm-svn: 33523
OpenPOWER on IntegriCloud