summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/StripSymbols.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Debugging infomration is encoded in llvm IR using metadata. This is designedDevang Patel2010-07-011-0/+101
| | | | | | | | | such a way that debug info for symbols preserved even if symbols are optimized away by the optimizer. Add new special pass to remove debug info for such symbols. llvm-svn: 107416
* If a named mdnode is removed then mark module as changed.Devang Patel2010-07-011-1/+3
| | | | llvm-svn: 107412
* Remove all debug info related named mdnodes.Devang Patel2010-06-301-10/+6
| | | | llvm-svn: 107323
* use ArgOperand APIGabor Greif2010-06-301-2/+2
| | | | llvm-svn: 107277
* Return Changed. This required setting Changed if dbg metadataDuncan Sands2010-06-291-5/+7
| | | | | | | | is stripped off. Currently set unconditionally, since the API does not provide a way of working out if anything was actually stripped off. llvm-svn: 107142
* Strip llvm.dbg.lv also.Devang Patel2010-05-201-0/+6
| | | | llvm-svn: 104236
* Strip new llvm.dbg.value intrinsic.Devang Patel2010-02-101-0/+9
| | | | llvm-svn: 95807
* Another strncmp -> StringRef.startswith simplification.Benjamin Kramer2010-01-221-1/+1
| | | | llvm-svn: 94203
* Final step in the metadata API restructuring: move the Chris Lattner2009-12-291-4/+2
| | | | | | | | getMDKindID/getMDKindNames methods to LLVMContext (and add convenience methods to Module), eliminating MetadataContext. Move the state that it maintains out to LLVMContext. llvm-svn: 92259
* This is a major cleanup of the instruction metadata interfaces thatChris Lattner2009-12-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | I asked Devang to do back on Sep 27. Instead of going through the MetadataContext class with methods like getMD() and getMDs(), just ask the instruction directly for its metadata with getMetadata() and getAllMetadata(). This includes a variety of other fixes and improvements: previously all Value*'s were bloated because the HasMetadata bit was thrown into value, adding a 9th bit to a byte. Now this is properly sunk down to the Instruction class (the only place where it makes sense) and it will be folded away somewhere soon. This also fixes some confusion in getMDs and its clients about whether the returned list is indexed by the MDID or densely packed. This is now returned sorted and densely packed and the comments make this clear. This introduces a number of fixme's which I'll follow up on. llvm-svn: 92235
* rename getMDKind -> getMDKindID, make it autoinsert if an MD KindChris Lattner2009-12-281-3/+1
| | | | | | | doesn't exist already, eliminate registerMDKind. Tidy up a bunch of random stuff. llvm-svn: 92225
* Remove debug info attached with an instruction.Devang Patel2009-11-171-36/+18
| | | | llvm-svn: 89016
* llvm.dbg.global_variables do not exist anymore.Devang Patel2009-10-281-9/+0
| | | | llvm-svn: 85402
* Previously, all operands to Constant were themselves constant.Chris Lattner2009-10-281-5/+4
| | | | | | | | | In the new world order, BlockAddress can have a BasicBlock operand. This doesn't permute much, because if you have a ConstantExpr (or anything more specific than Constant) we still know the operand has to be a Constant. llvm-svn: 85375
* Derive metadata hierarchy from Value instead of User.Devang Patel2009-10-211-2/+0
| | | | llvm-svn: 84801
* Remove VISIBILITY_HIDDEN from this file.Nick Lewycky2009-09-031-4/+3
| | | | llvm-svn: 80903
* Reapply 79977.Devang Patel2009-08-281-118/+7
| | | | | | Use MDNodes to encode debug info in llvm IR. llvm-svn: 80406
* Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.Devang Patel2009-08-261-7/+118
| | | | llvm-svn: 80073
* Update DebugInfo interface to use metadata, instead of special named ↵Devang Patel2009-08-251-118/+7
| | | | | | | | llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well. This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!) llvm-svn: 79977
* Fix a bunch of namespace pollution.Dan Gohman2009-08-071-2/+2
| | | | llvm-svn: 78363
* Use DebugInfoFinder.Devang Patel2009-08-061-10/+9
| | | | llvm-svn: 78333
* Move more code back to 2.5 APIs.Owen Anderson2009-07-301-1/+1
| | | | llvm-svn: 77635
* Remove Value::getName{Start,End}, the last of the old Name APIs.Daniel Dunbar2009-07-261-6/+5
| | | | llvm-svn: 77152
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-1/+0
| | | | llvm-svn: 76702
* implement a new magic global "llvm.compiler.used" which is like llvm.used, butChris Lattner2009-07-201-21/+16
| | | | | | doesn't cause ".no_dead_strip" to be emitted on darwin. llvm-svn: 76399
* Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a ↵Owen Anderson2009-07-161-0/+1
| | | | | | | | number of issues in our current context-passing stuff, which is also fixed here llvm-svn: 76089
* More LLVMContext-ification.Owen Anderson2009-07-061-1/+2
| | | | llvm-svn: 74811
* Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprogramsDevang Patel2009-06-261-1/+20
| | | | | | and llvm.dbg.global_variables. llvm-svn: 74251
* The second argument to RecursivelyDeleteTriviallyDeadInstructions hasDan Gohman2009-05-021-2/+2
| | | | | | a default value, and will hopefully be going away soon. llvm-svn: 70642
* Fix -strip-debug-declare to work when there areDale Johannesen2009-03-131-19/+17
| | | | | | llvm.global.variable's but no llvm.declare's. llvm-svn: 66977
* Remove llvm.dbg.global_variables also.Devang Patel2009-03-091-0/+10
| | | | llvm-svn: 66471
* Add helper pass to remove llvm.dbg.declare intrinsics.Devang Patel2009-03-091-0/+62
| | | | llvm-svn: 66454
* Recursively remove dead argument while removing llvm.dbg.declare intrinsic.Devang Patel2009-03-031-2/+3
| | | | llvm-svn: 65971
* Remove all dbg symobls, including those with circular references.Devang Patel2009-03-021-3/+15
| | | | | | This is ugly, but I can't figure out a quick way out of this. llvm-svn: 65889
* Add the private linkage.Rafael Espindola2009-01-151-6/+6
| | | | llvm-svn: 62279
* Do not forget llvm.dbg.declare's first argument while removing debugging ↵Devang Patel2008-11-201-4/+12
| | | | | | information. llvm-svn: 59688
* Remove unused variables.Devang Patel2008-11-191-12/+9
| | | | llvm-svn: 59570
* Fix typo.Devang Patel2008-11-191-1/+1
| | | | llvm-svn: 59569
* Add new helper pass that strips all symbol names except debugging information.Devang Patel2008-11-181-28/+51
| | | | | | This pass makes it easier to test wheter debugging info. influences optimization passes or not. llvm-svn: 59552
* Remove even more llvm.dbg variables.Devang Patel2008-11-181-33/+50
| | | | | | | Remove all dead globals from llvm.metadata. Ignore linkonce linkage for selected llvm.dbg values. llvm-svn: 59547
* simplify loopChris Lattner2008-11-161-5/+2
| | | | llvm-svn: 59406
* Refactor code.Devang Patel2008-11-141-37/+60
| | | | | | Strip debug information before stripping symbol names. llvm-svn: 59328
* Really remove all debug information.Devang Patel2008-11-131-11/+52
| | | | llvm-svn: 59208
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-3/+4
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Handle attribute(used) global variables that are i8.Chris Lattner2008-01-161-14/+13
| | | | llvm-svn: 46090
* Do not strip llvm.used values.Devang Patel2008-01-161-3/+25
| | | | llvm-svn: 46045
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Finishing initial docs for all transformations in Passes.html.Gordon Henriksen2007-11-041-11/+9
| | | | | | Also cleaned up some comments in source files. llvm-svn: 43674
* More explicit keywords.Dan Gohman2007-08-011-1/+1
| | | | llvm-svn: 40673
OpenPOWER on IntegriCloud