aboutsummaryrefslogtreecommitdiff
path: root/lib/VMCore/AsmWriter.cpp
AgeCommit message (Collapse)Author
2004-08-16Fix PR422.Reid Spencer
Ouch! Changes in the lazy initialization code caused each incorporated function to reprocess the entire function on every lookup of a value's slot number. This caused a horrible slowdown in all functions. This fix made llvm-dis go from "longer than I care to wait" (minutes) on a large test case to 0.53 seconds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15818 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29Fix #includes of i*.h files => Instructions.h as per PR403Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15327 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25Avoid use of size(), which counts, in favor of other mechanisms.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15221 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25Adjust to new Module.h interface for dependent librariesReid Spencer
Only write the target triple and deplibs if they are non-empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15216 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25bug 263:Reid Spencer
Add ability to write target triple and dependent libraries information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15211 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18Shrink some code.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14956 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17bug 122:Reid Spencer
- Replace ConstantPointerRef usage with GlobalValue usage - Minimize redundant isa<GlobalValue> usage - Correct isa<Constant> for GlobalValue subclass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14927 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-15Fixes for PR341Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14847 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-13Make Argument::print more resilient to non-verifiable IRChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14801 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-04Adjust the slot machine to handle Types separately from Values. This wasReid Spencer
done by doubling up the data structures so that Type based equivalents are used. A consequence of this is overloading of function members that take a Type* instead of a Value*. Various other cleanups related to Type != Value (bug 122) were also implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14613 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-26Don't call getValueType directly. the LLVM optimizer will turn it into the ↵Chris Lattner
same code anyway :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14426 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21Use a reference instead of a pointer for the ostream. The pointer was onlyMisha Brukman
there to assist in the development of llvm-tv, and it no longer has a need to modify the AsmWriter output stream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14304 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-18Fix printing of Argument objects, problem found by Patrick MeredithChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14215 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-17Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14201 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-15Do not dereference end iterators. It's really bad for the asmwriter's health.Chris Lattner
This possibly fixes PR370 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14181 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09Tolerate more errorsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14104 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09Make the asmwriter much more tolerant of errors (which are common when workingChris Lattner
on new front-ends and stuff). Also get rid of some tabs that snuck in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14100 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09Made it possible for the printInfoComment method to invoke getSlot inReid Spencer
such a way that if the Value being printed is standalone that we don't assert and abort but just print ":??" for the slot number instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14097 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04Squelch a warningChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14032 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04* No more CachedWriter::setStream()Misha Brukman
* ostream is back to being a reference instead of a pointer * Output single characters as chars, not as length-1 strings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14030 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-01Modified calcTypeName() so that it does not allocate a std::string forJohn Criswell
every recursive call. This makes it more robust for deeply nested, unnamed types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13915 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27Clean up a comment.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13860 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26Several clean ups suggested by Chris: remove tabs, make SlotMachine do lazyReid Spencer
initialization so we don't scan large Modules/Functions needlessly, tighten up restrictions on what can be put in SlotMachine (no Constants that aren't GlobalValues). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13796 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26Part of bug 122. Removed dependency of AsmWriter on SlotCalculator byReid Spencer
incorporating a significantly simpler "SlotMachine" into this file. The SlotMachine is tailored for use by only the AsmWriter whose requirements for slot numbers are vastly different than from the Bytecode/Writer. Code change passes all Feature and Regression tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13784 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25Document a couple functions.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13761 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25Convert to SymbolTable's new iteration interface.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28class AssemblyWriter:Misha Brukman
* Make contained ostream pointer, not reference * Allow setting of that ostream via setStream() class CachedWriter: * setStream() in turn calls setStream() on the AssemblyWriter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13247 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28* Add ability to print out type as symbolicMisha Brukman
* Add Module accessor to AssemblyWriter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13227 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Print select instructions correctlyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12320 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08Adjust to new interfaceChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12231 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-02Doxygenify comments.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12071 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01* If a badref has a name, print it out for ease of debuggingMisha Brukman
* Doxygenify (some) comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12057 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-15Adjustments to support the new ConstantAggregateZero classChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11474 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-09Adjust to the changed StructType interface. In particular, ↵Chris Lattner
getElementTypes() is gone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11228 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-09Start using the new and improve interface to FunctionType argumentsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11224 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08vi failed me again. :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11206 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08Rename the invoke 'except' destination to the 'unwind' destinationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11205 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-08rename the "exceptional" destination of an invoke instruction to the ↵Chris Lattner
'unwind' dest git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11202 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-20SlotCalculator.h movedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10931 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-18Eliminate special case handling for CPR'sChris Lattner
Fix some problem cases where I was building the slot calculator in bytecode writer mode instead of asmwriter mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10911 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-14The only clients of the slot calculator are now the asmwriter and bcwriter.Chris Lattner
Since this really only makes sense for these two, change hte instance variable to reflect whether we are writing a bytecode file or not. This makes it reasonable to add bcwriter specific stuff to it as necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10837 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-21Finegrainify namespacificationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10131 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-20Don't crash if we are printing an orphaned basic block!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10100 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17Be a bit more tolerant of broken codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10050 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16When you hand WriteAsOperand a type, it now prints out its symbolic name.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10042 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16Don't print 'No predecessors!' on the entry blockChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10038 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-09Add an assertionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9831 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30Make use of the new AssemblyAnnotationWriter interfaceChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9619 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30Print the names of more opaque typesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9598 91177308-0d34-0410-b5e6-96231b3b80d8