summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/AsmWriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Use parameter attribute store (soon to be renamed) forDevang Patel2008-09-231-3/+3
| | | | | | Function Notes also. Function notes are stored at index ~0. llvm-svn: 56511
* Rationalize the names of passes that print information:Duncan Sands2008-09-231-2/+2
| | | | | | | | | | | | | | | | | -callgraph => print-callgraph -callscc => print-callgraph-sccs -cfgscc => print-cfg-sccs -externalfnconstants => print-externalfnconstants -print => print-function -print-alias-sets (no change) -print-callgraph => dot-callgraph -print-cfg => dot-cfg -print-cfg-only => dot-cfg-only -print-dom-info (no change) -printm => print-module -printusedtypes => print-used-types llvm-svn: 56487
* Add hasNote() to check note associated with a function.Devang Patel2008-09-221-15/+24
| | | | llvm-svn: 56477
* Fix WriteAsOperand to not emit a leading space character. AdjustDan Gohman2008-09-141-30/+56
| | | | | | | | | | | | | | | | | | its callers to emit a space character before calling it when a space is needed. This fixes several spurious whitespace issues in ScalarEvolution's debug dumps. See the test changes for examples. This also fixes odd space-after-tab indentation in the output for switch statements, and changes calls from being printed like this: call void @foo( i32 %x ) to this: call void @foo(i32 %x) llvm-svn: 56196
* Avoid extra comma.Devang Patel2008-09-031-3/+4
| | | | llvm-svn: 55742
* Parse and print opt_size note.Devang Patel2008-09-031-2/+11
| | | | llvm-svn: 55740
* s/FP_AlwaysInline/FN_NOTE_AlwaysInline/gDevang Patel2008-09-021-3/+3
| | | | llvm-svn: 55676
* Use bitwise AND.Devang Patel2008-09-021-2/+2
| | | | llvm-svn: 55656
* Print function notes.Devang Patel2008-09-021-1/+9
| | | | llvm-svn: 55647
* Asmprint nameless instructions as:Chris Lattner2008-08-291-1/+8
| | | | | | | | | | | | | %4 = add ... instead of: add ... ; 4 This makes opt -print-cfg output actually usable and makes .ll files generally easier to read. This fixes PR2480 llvm-svn: 55541
* Fix pasto (values -> types) noticed by Josh ConnerChris Lattner2008-08-251-5/+3
| | | | llvm-svn: 55315
* flush stream after dumping.Chris Lattner2008-08-251-3/+3
| | | | llvm-svn: 55301
* add a hack to temporarily allow pseudo source values.Chris Lattner2008-08-241-1/+2
| | | | llvm-svn: 55289
* minor cleanups.Chris Lattner2008-08-231-6/+9
| | | | llvm-svn: 55267
* Switch the asmprinter (.ll) and all the stuff it requires over toChris Lattner2008-08-231-67/+87
| | | | | | | | | | | | | | | | | | | | | | | | use raw_ostream instead of std::ostream. Among other goodness, this speeds up llvm-dis of kc++ with a release build from 0.85s to 0.49s (88% faster). Other interesting changes: 1) This makes Value::print be non-virtual. 2) AP[S]Int and ConstantRange can no longer print to ostream directly, use raw_ostream instead. 3) This fixes a bug in raw_os_ostream where it didn't flush itself when destroyed. 4) This adds a new SDNode::print method, instead of only allowing "dump". A lot of APIs have both std::ostream and raw_ostream versions, it would be useful to go through and systematically anihilate the std::ostream versions. This passes dejagnu, but there may be minor fallout, plz let me know if so and I'll fix it. llvm-svn: 55263
* more cleanups, random methods shouldn't return ostreams.Chris Lattner2008-08-191-23/+30
| | | | llvm-svn: 54984
* more cleanup, eliminate getLLVMName when printing outChris Lattner2008-08-191-24/+18
| | | | | | type names at the top of the file. llvm-svn: 54983
* random cleanups, factor some printing code for linkage and visibilityChris Lattner2008-08-191-167/+187
| | | | llvm-svn: 54982
* Change WriteTypeSymbolic/WriteAsOperand to return void instead of Chris Lattner2008-08-191-36/+25
| | | | | | | | | | | | an ostream, which is just weird. Rename SC_DEBUG -> ST_DEBUG Remove static indentation strangeness from WriteConstantInt. This makes it so that large structs are not broken down and printed on multiple lines. If there is demand for this to return, there are better ways to implement this. llvm-svn: 54981
* rearrange code and make more legible.Chris Lattner2008-08-191-251/+280
| | | | llvm-svn: 54976
* put SlotTracker in an anon namespace since it is private.Chris Lattner2008-08-191-3/+3
| | | | llvm-svn: 54975
* Reid had to call this class "slot machine" out of some strange referenceChris Lattner2008-08-191-39/+39
| | | | | | to the gambling device. Name it something more meaningful. llvm-svn: 54974
* Fix a bug daniel pointed out to me, where asmprinter startedChris Lattner2008-08-181-5/+5
| | | | | | | printing ascii code for hex numbers instead of the hex numbers themselves. llvm-svn: 54936
* Rename some GC classes so that their roll will hopefully be clearer.Gordon Henriksen2008-08-171-2/+2
| | | | | | | | | | | | | | | | | | In particular, Collector was confusing to implementors. Several thought that this compile-time class was the place to implement their runtime GC heap. Of course, it doesn't even exist at runtime. Specifically, the renames are: Collector -> GCStrategy CollectorMetadata -> GCFunctionInfo CollectorModuleMetadata -> GCModuleInfo CollectorRegistry -> GCRegistry Function::getCollector -> getGC (setGC, hasGC, clearGC) Several accessors and nested types have also been renamed to be consistent. These changes should be obvious. llvm-svn: 54899
* getLLVMName is only used for types now, which always pass in LocalPrefix. ↵Chris Lattner2008-08-171-15/+10
| | | | | | Specialize on it. llvm-svn: 54897
* switch valuemap's from std::map to densemap. This speeds up llvm-disChris Lattner2008-08-171-11/+8
| | | | | | on a stripped kc++ .bc file from 0.83 to 0.77s (8%) llvm-svn: 54896
* avoid an extraneous std::string constructionChris Lattner2008-08-171-1/+1
| | | | llvm-svn: 54875
* Rework the routines that convert AP[S]Int into a string. Now, instead ofChris Lattner2008-08-171-7/+12
| | | | | | | | | | | | | | | | | returning an std::string by value, it fills in a SmallString/SmallVector passed in. This significantly reduces string thrashing in some cases. More specifically, this: - Adds an operator<< and a print method for APInt that allows you to directly send them to an ostream. - Reimplements APInt::toString to be much simpler and more efficient algorithmically in addition to not thrashing strings quite as much. This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the asmprinter. This also fixes a bug I introduced into the asmwriter in a previous patch w.r.t. alias printing. llvm-svn: 54873
* avoid string thrashing when formatting names in output. ThisChris Lattner2008-08-171-54/+130
| | | | | | speeds up release-asserts llvm-dis on kc++ from 1.86s to 1.04s (~79%) llvm-svn: 54868
* random cleanups.Chris Lattner2008-08-171-53/+28
| | | | llvm-svn: 54866
* Add read/write support for X86's sseregparm.Dale Johannesen2008-08-131-0/+3
| | | | llvm-svn: 54744
* Fix the AsmWriter to not print extra spaces after parameter attributes.Dan Gohman2008-08-051-1/+1
| | | | llvm-svn: 54351
* Enable first-class aggregates support.Dan Gohman2008-07-231-3/+0
| | | | | | | | | | | | Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. llvm-svn: 53941
* Prevent a crash in debug dumps.Dale Johannesen2008-06-031-1/+5
| | | | llvm-svn: 51910
* AsmWriter support for insertvalue/extractvalue. These instructions canDan Gohman2008-05-311-0/+15
| | | | | | now round-trip through assembly and bitcode. llvm-svn: 51823
* Add CommonLinkage; currently tentative definitionsDale Johannesen2008-05-141-0/+2
| | | | | | | | | | are represented as "weak", but there are subtle differences in some cases on Darwin, so we need both. The intent is that "common" will behave identically to "weak" unless somebody changes their target to do something else. No functional change as yet. llvm-svn: 51118
* Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRefNate Begeman2008-05-121-5/+2
| | | | | | for details. CodeGen support coming in a follow up patch llvm-svn: 50985
* Update comments.Dan Gohman2008-05-121-1/+1
| | | | llvm-svn: 50974
* Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989Nick Lewycky2008-04-251-12/+3
| | | | | | r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. llvm-svn: 50265
* more fallout from Nicholas' asmprinter patch.Chris Lattner2008-04-221-17/+13
| | | | llvm-svn: 50078
* another bug introduced in r47802 by nicholas, for no apparent reason.Chris Lattner2008-04-211-1/+1
| | | | llvm-svn: 50031
* fix a bug introduced by Nicholas' "unwinds to" stuff: weChris Lattner2008-04-211-2/+2
| | | | | | lost newlines between blocks. llvm-svn: 50024
* Don't read off end of the input array.Dale Johannesen2008-04-161-1/+1
| | | | llvm-svn: 49799
* Support chained aliases for LLVM IR printing. This fixes PR2145Anton Korobeynikov2008-03-221-0/+3
| | | | llvm-svn: 48684
* Reimplement the parameter attributes support, phase #1. hilights:Chris Lattner2008-03-121-33/+17
| | | | | | | | | | | | | | | | | | | | | | | 1. There is now a "PAListPtr" class, which is a smart pointer around the underlying uniqued parameter attribute list object, and manages its refcount. It is now impossible to mess up the refcount. 2. PAListPtr is now the main interface to the underlying object, and the underlying object is now completely opaque. 3. Implementation details like SmallVector and FoldingSet are now no longer part of the interface. 4. You can create a PAListPtr with an arbitrary sequence of ParamAttrsWithIndex's, no need to make a SmallVector of a specific size (you can just use an array or scalar or vector if you wish). 5. All the client code that had to check for a null pointer before dereferencing the pointer is simplified to just access the PAListPtr directly. 6. The interfaces for adding attrs to a list and removing them is a bit simpler. Phase #2 will rename some stuff (e.g. PAListPtr) and do other less invasive changes. llvm-svn: 48289
* Turn unwind_to into "unwinds to".Nick Lewycky2008-03-101-1/+1
| | | | llvm-svn: 48123
* Print types for all ret operands.Devang Patel2008-03-041-1/+2
| | | | llvm-svn: 47911
* Add an unwind_to field to basic blocks, making them Users instead of Values.Nick Lewycky2008-03-021-6/+17
| | | | | | This is the first checkin for PR1269, the new EH infrastructure. llvm-svn: 47802
* print getresult operand and its type directly.Devang Patel2008-02-231-11/+1
| | | | llvm-svn: 47514
* Use dyn_cast instead of isa + cast.Devang Patel2008-02-231-2/+2
| | | | llvm-svn: 47511
OpenPOWER on IntegriCloud