summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineModuleInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* change the LabelSDNode to be EHLabelSDNode and make it holdChris Lattner2010-03-141-5/+4
| | | | | | | | an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels named "Label4" instead of "label4". llvm-svn: 98463
* eliminate InvalidateLabel and LabelIDList from MMI and replaceChris Lattner2010-03-141-2/+2
| | | | | | them with a counter. llvm-svn: 98462
* change EH related stuff (other than EH_LABEL) to use MCSymbolChris Lattner2010-03-141-20/+26
| | | | | | | | | | | | | | | | instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress. Unfortunately, this pointed out to me that JITDwarfEmitter.cpp is largely copy and paste from DwarfException/MachineModuleInfo and other places. This is very sad and disturbing. :( One major change here is that TidyLandingPads moved from being called in DwarfException::BeginFunction to being called in DwarfException::EndFunction. There should not be any functionality change from doing this, but I'm not an EH expert. llvm-svn: 98459
* rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner2010-03-131-8/+12
| | | | | | | | | | | and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters. llvm-svn: 98450
* strength reduce MMI::MappedLabel to MMI::isLabelDeleted,Chris Lattner2010-03-091-7/+5
| | | | | | | and add a FIXME about how we are eventually going to zap this lookup table once mc world domination is complete. llvm-svn: 98031
* Fix an uninitialized value. Radar 7609421.Bob Wilson2010-02-061-0/+1
| | | | llvm-svn: 95488
* Update of 94055 to track the IR level call site information via an intrinsic.Jim Grosbach2010-01-281-0/+1
| | | | | | | This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correct invoke locations. llvm-svn: 94726
* back this out for now. Growing Function is not good.Jim Grosbach2010-01-211-1/+0
| | | | llvm-svn: 94097
* Make sure that landing pad entries in the EH call site table are in the properJim Grosbach2010-01-211-0/+1
| | | | | | order for SjLj style exception handling. llvm-svn: 94055
* Remove DebugLabelFolder pass. It is not used by dwarf writer anymore.Devang Patel2009-11-241-72/+0
| | | | llvm-svn: 89790
* "Attach debug info with llvm instructions" mode was enabled a month ago. Now ↵Devang Patel2009-11-121-2/+0
| | | | | | make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes. llvm-svn: 87014
* Clear variable debug info map at the end of the function.Devang Patel2009-10-081-0/+3
| | | | llvm-svn: 83571
* Simplify.Devang Patel2009-09-301-6/+0
| | | | llvm-svn: 83123
* the pointer MMI keeps will start out with object-file format specific stuffChris Lattner2009-09-161-2/+2
| | | | llvm-svn: 82012
* add hooks to hang target-specific goop off MachineModuleInfo,Chris Lattner2009-09-151-7/+7
| | | | | | | move MachineFunctionInfo virtual method out of line to give it a home. llvm-svn: 81940
* Rework getPersonalityIndex slightly - 0 is now a valid and not-NULLEric Christopher2009-08-261-3/+3
| | | | | | personality function. llvm-svn: 80153
* If we're emitting additional CIEs due to personality functionsEric Christopher2009-08-261-2/+7
| | | | | | | don't emit the default one. Explicitly check for the NULL CIE later. llvm-svn: 80146
* Nuke trailing whitespace.Eric Christopher2009-08-261-14/+13
| | | | llvm-svn: 80145
* remove some uses of llvm/Support/Streams.hChris Lattner2009-08-231-1/+0
| | | | llvm-svn: 79842
* Use setPreservesAll and setPreservesCFG in CodeGen passes.Dan Gohman2009-07-311-0/+1
| | | | llvm-svn: 77754
* implement a new magic global "llvm.compiler.used" which is like llvm.used, butChris Lattner2009-07-201-1/+2
| | | | | | doesn't cause ".no_dead_strip" to be emitted on darwin. llvm-svn: 76399
* use stripPointerCasts to simplify some code.Chris Lattner2009-07-201-6/+4
| | | | llvm-svn: 76397
* llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin2009-07-141-1/+1
| | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-111-1/+2
| | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
* DebugLabelFolder ruthlessly deletes redundant labels. However, sometimes the ↵Devang Patel2009-04-101-1/+1
| | | | | | redundant labels is referenced by debug info somewhere else. This patch provies a way so that dwarf writer can mark labels as used. llvm-svn: 68813
* Remove dead code.Devang Patel2009-02-031-1/+0
| | | | llvm-svn: 63653
* Rename getAnalysisToUpdate to getAnalysisIfAvailable.Duncan Sands2009-01-281-1/+1
| | | | llvm-svn: 63198
* Removoe MachineModuleInfo methods (and related DebugInfoDesc class ↵Devang Patel2009-01-131-1711/+0
| | | | | | hierarchy) that were used to handle debug info. llvm-svn: 62199
* Keep "has debug info" big in MachineModuleInfo to avoid circular dependency ↵Devang Patel2009-01-131-0/+1
| | | | | | between AsmPrinter and CodeGen. llvm-svn: 62191
* Fix a couple of Dwarf bugs.Evan Cheng2008-12-101-3/+6
| | | | | | | - Emit DW_AT_byte_size for struct and union of size zero. - Emit DW_AT_declaration for forward type declaration. llvm-svn: 60812
* Fix an over aggressive assumption that struct decls will have a pointer toChris Lattner2008-11-101-1/+1
| | | | | | | an array that is empty. Instead of requiring this array, allow a null pointer. This shrinks all forward references of structs. llvm-svn: 58959
* Move the include of MachineLocation.h into MachineModuleInfo.hDan Gohman2008-10-161-1/+0
| | | | | | | | because it declares a std::vector<MachineMove>, and strict concept checking requires the definition of MachineMove to be available. llvm-svn: 57617
* Instead of setPreservesAll, just mark them preseving machine loop info and ↵Evan Cheng2008-09-221-1/+3
| | | | | | machine dominators. llvm-svn: 56475
* Mark several codegen passes as preserving all analysis.Evan Cheng2008-09-221-0/+5
| | | | llvm-svn: 56469
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-2/+2
| | | | llvm-svn: 55779
* Make the DICountVisitor not a visitor. This keeps us from calling virtualBill Wendling2008-07-091-33/+154
| | | | | | functions and junk. llvm-svn: 53279
* Use the canonical way to get an empty structure.Bill Wendling2008-07-071-3/+2
| | | | llvm-svn: 53206
* Use StringMap for greater justice!Bill Wendling2008-07-071-1/+1
| | | | llvm-svn: 53202
* Don't return std::vector by value, but pass it in by reference to be filled.Bill Wendling2008-07-031-12/+10
| | | | llvm-svn: 53123
* Revert my previous check-in that split up MachineModuleInfo. It turns out toBill Wendling2008-07-031-61/+818
| | | | | | slow the compiler down at -O0 some 30% or more. Ooops. llvm-svn: 53120
* Use the canonical form for getting an empty structure.Bill Wendling2008-07-021-10/+5
| | | | llvm-svn: 53003
* Sorry. I couldn't sleep at night knowing I put these ugly casts into the ↵Bill Wendling2008-07-021-2/+1
| | | | | | source tree. llvm-svn: 53001
* - Update comments. Bill Wendling2008-07-011-2/+4
| | | | | | - Don't use GlobalVariable::LinkageTypes when unsigned works. llvm-svn: 52987
* - Re-apply 52748 and friends with fix. GetConstantStringInfo() returns an ↵Evan Cheng2008-06-301-1/+4
| | | | | | | | empty string for ConstantAggregateZero case which surprises selectiondag. - Correctly handle memcpy from constant string which is zero-initialized. llvm-svn: 52891
* Revert (52748 and friends):Anton Korobeynikov2008-06-291-4/+1
| | | | | | | | | | | | Move GetConstantStringInfo to lib/Analysis. Remove string output routine from Constant. Update all callers. Change debug intrinsic api slightly to accomodate move of routine, these now return values instead of strings. This unbreaks llvm-gcc bootstrap. llvm-svn: 52884
* Reduce number of times .size() is called on a vector. Rename some variables toBill Wendling2008-06-271-16/+22
| | | | | | match normal naming scheme. llvm-svn: 52820
* Cruft left from patch revert...sorry. :-(Bill Wendling2008-06-271-3/+6
| | | | llvm-svn: 52808
* Reverting broken patch r52803.Bill Wendling2008-06-271-33/+20
| | | | llvm-svn: 52806
* - Remove a use of std::vector.Bill Wendling2008-06-271-12/+24
| | | | | | | - Make sure that we're not recalculating the size of a vector that never changes. llvm-svn: 52803
* Refactor the DebugInfoDesc stuff out of the MachineModuleInfo file. Clean upBill Wendling2008-06-271-791/+32
| | | | | | some uses of std::vector, where it's return std::vector by value. Yuck! llvm-svn: 52800
OpenPOWER on IntegriCloud