summaryrefslogtreecommitdiffstats
path: root/llvm/include
Commit message (Collapse)AuthorAgeFilesLines
* Add some new debugging APIs to print out "raw" SelectionDAGs to makeDavid Greene2010-01-191-15/+33
| | | | | | understanding CannotYTetSelect and other errors easier. llvm-svn: 93901
* Propagated the parser-side Lex function's declaration toSean Callanan2010-01-191-0/+5
| | | | | | | MCAsmParser, and changed the target-specific AsmParsers to use it. llvm-svn: 93900
* Generalize mcasmstreamer data emission APIs to take an address spaceChris Lattner2010-01-191-3/+5
| | | | | | identifier. There is no way to work around it. llvm-svn: 93896
* refactor code to be static functions instead of methods on AsmPrinter.Chris Lattner2010-01-191-9/+9
| | | | | | This fixes some bugs handling address spaces. llvm-svn: 93891
* add a "MCStreamer::EmitFill" method, and move the default implementationChris Lattner2010-01-191-0/+5
| | | | | | (which just iteratively emits bytes) to MCStreamer. llvm-svn: 93888
* remove MAI::ZeroDirectiveSuffix, which is only used by MASM,Chris Lattner2010-01-191-4/+0
| | | | | | which we don't support anymore. llvm-svn: 93886
* For aligned load/store instructions, it's only required to know whether aJim Grosbach2010-01-191-4/+0
| | | | | | | | | | | function can support dynamic stack realignment. That's a much easier question to answer at instruction selection stage than whether the function actually will have dynamic alignment prologue. This allows the removal of the stack alignment heuristic pass, and improves code quality for cases where the heuristic would result in dynamic alignment code being generated when it was not strictly necessary. llvm-svn: 93885
* stop using the .lcomm pseudoop on darwin, instead, directly use theChris Lattner2010-01-192-8/+2
| | | | | | .zerofill directive. Streamerize its generation. llvm-svn: 93868
* Avoid including DebugInfo.h in AsmPrinter.hDevang Patel2010-01-192-2/+3
| | | | llvm-svn: 93864
* Now that we have everything nicely factored (e.g. asmprinter is notChris Lattner2010-01-191-5/+1
| | | | | | | | | | | | | | | | | | | | | | | doing global variable classification anymore) and hookized, sink almost all target targets global variable emission code into AsmPrinter and out of each target. Some notes: 1. PIC16 does completely custom and crazy stuff, so it is not changed. 2. XCore has some custom handling for extra directives. I'll look at it next. 3. This switches linux/ppc to use .globl instead of .global. If .globl is actually wrong, let me know and I'll fix it. 4. This makes linux/ppc get a lot of random cases right which were obviously wrong before, it is probably now a bit healthier. 5. Blackfin will probably start getting .comm and other things that it didn't before. If this is undesirable, it should explicitly opt out of these things by clearing the relevant fields of MCAsmInfo. This leads to a nice diffstat: 14 files changed, 127 insertions(+), 830 deletions(-) llvm-svn: 93858
* hookize the cygwin ".linkonce" directive.Chris Lattner2010-01-191-6/+7
| | | | llvm-svn: 93855
* add a bool for whether .lcomm takes an alignment instead of basing this on ↵Chris Lattner2010-01-191-0/+7
| | | | | | "isdarwin". llvm-svn: 93852
* hoist handling of external globals and special globals up to common code.Chris Lattner2010-01-191-0/+3
| | | | | | | | | | This makes a similar code dead in all the other targets, I'll clean it up in a bit. This also moves handling of lcomm up before acquisition of a section, since lcomm never needs a section. llvm-svn: 93851
* move production of .reference directives for static ctor/dtor list onChris Lattner2010-01-191-2/+10
| | | | | | darwin into common code. llvm-svn: 93849
* use BSSLocal classifier to identify 'lcomm' data instead ofChris Lattner2010-01-191-6/+0
| | | | | | duplicating the logic (differently) in lots of different targets. llvm-svn: 93847
* make TLOF subclassify BSS based on linkage type into private, externalChris Lattner2010-01-191-1/+13
| | | | | | and everything else (weak). llvm-svn: 93846
* introduce a section kind for common linkage. Use this to slightlyChris Lattner2010-01-191-1/+8
| | | | | | | | | simplify and commonize some of the asmprinter logic for globals. This also avoids printing the MCSection for .zerofill, which broke the llvm-gcc build. llvm-svn: 93843
* change an accessor to a predicate.Chris Lattner2010-01-191-2/+2
| | | | llvm-svn: 93839
* Cleanup handling of .zerofill on darwin:Chris Lattner2010-01-192-8/+12
| | | | | | | | | | | | | 1. TargetLoweringObjectFileMachO should decide if something goes in zerofill instead of having every target do it. 2. TargetLoweringObjectFileMachO should assign said symbols to the right MCSection, the asmprinters should just emit to the right section. 3. Since all zerofill stuff goes through mcstreamer anymore, MAI can have a bool "haszerofill" instead of having the textual directive to emit. llvm-svn: 93838
* remove extraneous ;Chris Lattner2010-01-191-1/+1
| | | | llvm-svn: 93833
* Add comment that MDNode::getFunction() is not to be used by ↵Victor Hernandez2010-01-181-1/+2
| | | | | | performance-critical code (currently only used by AsmWriter) llvm-svn: 93802
* - Add getLSDAEncoding to the PowerPC backend.Bill Wendling2010-01-181-1/+6
| | | | | | - Greatly improve the comments to the getLSDAEncoding method. llvm-svn: 93796
* Added a newline at the end of SMLoc.hSean Callanan2010-01-181-0/+1
| | | | llvm-svn: 93784
* Changed the comment in the file header for SMLocSean Callanan2010-01-181-2/+2
| | | | | | to something more accurate. llvm-svn: 93782
* Split SMLoc out in its own header so that it canSean Callanan2010-01-182-21/+46
| | | | | | be used independently of SourceMgr. llvm-svn: 93780
* Make findDbgDeclare/findDbgGlobalDeclare local static functions; avoid Elts ↵Victor Hernandez2010-01-181-7/+0
| | | | | | array llvm-svn: 93764
* - Add a comment to the callback indicating that it's *extremely* not a goodBill Wendling2010-01-181-0/+3
| | | | | | | | idea, but unfortunately necessary. - Default to using 4-bytes for the LSDA pointer encoding to agree with the encoded value in the CIE. llvm-svn: 93753
* Unnamed symbol index should be >= 1. This was lost during the mangler ↵Benjamin Kramer2010-01-181-1/+1
| | | | | | refactoring. Fixes PR6067. llvm-svn: 93724
* switch x86 zerofill emission over to use MCStreamer.Chris Lattner2010-01-181-0/+2
| | | | llvm-svn: 93702
* Change CurrentFnSym to be a non-const pointer since asmprinter mutates it Chris Lattner2010-01-181-1/+1
| | | | | | | as it emits code. Switch .globl directives to use OutStreamer instead of doing it textually (in x86) llvm-svn: 93700
* remove the MAI argument to MCExpr::print and switch overthing to use << when ↵Chris Lattner2010-01-181-1/+6
| | | | | | printing them. llvm-svn: 93699
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-172-2/+6
| | | | | | | remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. llvm-svn: 93695
* stop the CBE from using Mangler::appendMangledName, which is a private ↵Chris Lattner2010-01-171-5/+0
| | | | | | function, it is mangling types, which don't matter how they are done. llvm-svn: 93692
* fix uninit member, thanks to Benjamin Kramer for identifying the bug.Chris Lattner2010-01-171-1/+1
| | | | llvm-svn: 93691
* Get MCSymbol out of the mangling business, and move all the logicChris Lattner2010-01-172-7/+9
| | | | | | | | | | | to Mangler. Now MCSymbol just decides whether to slap quotes around a symbol when printing it. This also fixes some weirdness where two MCSymbols could be created for the same symbol, if one needed to be mangled and got mangled to the other one. llvm-svn: 93690
* now that mangler is in libtarget, it can use MCAsmInfo instead of clientsChris Lattner2010-01-171-15/+3
| | | | | | having to pass various fields from it in. Simplify. llvm-svn: 93686
* Switch some functions to take Twines, eliminate uses of StringExtras.h.Benjamin Kramer2010-01-171-5/+5
| | | | llvm-svn: 93680
* move the mangler into libtarget from vmcore.Chris Lattner2010-01-161-1/+0
| | | | llvm-svn: 93664
* fix a warning.Chris Lattner2010-01-161-1/+1
| | | | llvm-svn: 93663
* this doesn't need to suck in Mangler.Chris Lattner2010-01-161-2/+0
| | | | llvm-svn: 93662
* reapply the mangler gutting patch.Chris Lattner2010-01-161-61/+0
| | | | llvm-svn: 93656
* Revert 93648.Rafael Espindola2010-01-161-0/+61
| | | | | | | | Mangler::getMangledName is used from lto Mangler::setUseQuotes is used in the AsmPrinter Mangler::setSymbolsCanStartWithDigit is used in the AsmPrinter llvm-svn: 93652
* Mangler::getMangledName is now dead, remove it and all the other stuff in ↵Chris Lattner2010-01-161-61/+0
| | | | | | Mangler that is now transitively dead. woo. llvm-svn: 93648
* rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,Chris Lattner2010-01-161-4/+5
| | | | | | | | and add an explicit ForcePrivate argument. Switch FunctionEHFrameInfo to be MCSymbol based instead of string based. llvm-svn: 93646
* switch liblto to use the new getNameWithPrefix() method instead of ↵Chris Lattner2010-01-161-1/+2
| | | | | | getMangledName. llvm-svn: 93643
* add an inefficient version of getNameWithPrefix that returns an std::string.Chris Lattner2010-01-161-0/+5
| | | | llvm-svn: 93641
* Revive dead assert.Benjamin Kramer2010-01-161-1/+1
| | | | llvm-svn: 93638
* Fix PR6047Tobias Grosser2010-01-161-13/+1
| | | | | | | | Nodes that had children outside of the post dominator tree (infinite loops) where removed from the post dominator tree. This seems to be wrong. Leave them in the tree. llvm-svn: 93633
* Create Generic DOTGraphTraits Printer/ViewerTobias Grosser2010-01-161-0/+83
| | | | | | | | Move the DOTGraphTraits dotty printer/viewer templates, that were developed for the dominance tree into their own header file. This will allow reuse in future passes. llvm-svn: 93632
* Replace DebugLocTuple with DILocation.Devang Patel2010-01-163-53/+7
| | | | llvm-svn: 93630
OpenPOWER on IntegriCloud