llvm-6502/include/llvm
Chris Lattner b374b90e81 Fix PR4834, a tricky case where the inliner would resolve an
indirect function pointer, inline it, then go to delete the body.
The problem is that the callgraph had other references to the function,
though the inliner had no way to know it, so we got a dangling pointer
and an invalid iterator out of the deal.

The fix to this is pretty simple: stop the inliner from deleting the
function by knowing that there are references to it.  Do this by making
CallGraphNodes contain a refcount.  This requires moving deletion of 
available_externally functions to the module-level cleanup sweep where
it belongs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80533 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31 03:15:49 +00:00
..
ADT make DenseMap::clear() early exit if there is nothing to do. 2009-08-30 05:55:04 +00:00
Analysis Fix PR4834, a tricky case where the inliner would resolve an 2009-08-31 03:15:49 +00:00
Assembly eliminate the std::ostream form of WriteAsOperand and update clients. 2009-08-23 05:17:37 +00:00
Bitcode Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-) 2009-08-27 06:41:46 +00:00
CodeGen Nuke moribund "std::string" version of EOL(..., Encoding). 2009-08-30 00:28:57 +00:00
CompilerDriver eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) 2009-08-27 23:44:33 +00:00
Config re-apply r80197, now that iterator.h is not mentioned any more 2009-08-27 17:07:35 +00:00
Debugger Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
ExecutionEngine This void is implicit in C++. 2009-08-12 22:10:57 +00:00
MC Tweak comment. 2009-08-30 21:14:05 +00:00
Support hopefully unbreak the build by making this-> explicit for dependent 2009-08-30 17:44:10 +00:00
System Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
Target - Add target lowering methods to get the preferred format for the FDE and LSDA 2009-08-29 12:20:54 +00:00
Transforms Fix some nasty callgraph dangling pointer problems in 2009-08-31 00:19:58 +00:00
AbstractTypeUser.h
Argument.h
Attributes.h Add an 'inline hint' attribute to represent source 2009-08-26 01:08:21 +00:00
AutoUpgrade.h Reapply 79977. 2009-08-28 23:24:31 +00:00
BasicBlock.h Remove all the LLVM_COMPACTIFY_SENTINELS-related macro magic as discussed with Chris on IRC. Anybody wanting to debug sentinel dereferencing problems must revert this patch and perform the indicated modifications. 2009-08-26 19:16:32 +00:00
CallGraphSCCPass.h Fix some nasty callgraph dangling pointer problems in 2009-08-31 00:19:58 +00:00
CallingConv.h
CMakeLists.txt
Constant.h Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
Constants.h Add helper functions to ConstantInt and ConstantFP to accept strings. 2009-08-16 23:36:33 +00:00
DerivedTypes.h Actually privatize a IntegerTypes, and fix a few bugs exposed by this. 2009-08-13 23:27:32 +00:00
Function.h Remove all the LLVM_COMPACTIFY_SENTINELS-related macro magic as discussed with Chris on IRC. Anybody wanting to debug sentinel dereferencing problems must revert this patch and perform the indicated modifications. 2009-08-26 19:16:32 +00:00
GlobalAlias.h
GlobalValue.h
GlobalVariable.h Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
InlineAsm.h
InstrTypes.h Eliminate the unused Context argument on one of the ICmpInst and FCmpInst 2009-08-25 23:17:54 +00:00
Instruction.def
Instruction.h Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined, 2009-08-25 22:11:20 +00:00
Instructions.h add getPointerAddressSpace() to GEP instruction, use the method 2009-08-30 20:06:40 +00:00
IntrinsicInst.h Reapply 79977. 2009-08-28 23:24:31 +00:00
Intrinsics.h Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
Intrinsics.td Reapply 79977. 2009-08-28 23:24:31 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td Add new intrinsics for Neon vldN_lane and vstN_lane operations. 2009-08-22 02:28:46 +00:00
IntrinsicsBlackfin.td Remove unneeded intrinsics from Blackfin backend. 2009-08-02 21:49:05 +00:00
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td Add sse4.2 string/text processing intrinsics. We'll select these later. 2009-08-14 20:27:57 +00:00
IntrinsicsXCore.td
LinkAllPasses.h Create a ScalarEvolution-based AliasAnalysis implementation. 2009-08-26 14:53:06 +00:00
LinkAllVMCore.h Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Linker.h Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
LLVMContext.h Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Metadata.h Reapply 79977. 2009-08-28 23:24:31 +00:00
Module.h remove the std::ostream version of module and type printing. 2009-08-23 04:52:46 +00:00
ModuleProvider.h
OperandTraits.h
Operator.h Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap 2009-08-20 17:11:38 +00:00
Pass.h Change Pass::print to take a raw ostream instead of std::ostream, 2009-08-23 06:03:38 +00:00
PassAnalysisSupport.h
PassManager.h
PassManagers.h Fix a bunch of namespace pollution. 2009-08-07 01:32:21 +00:00
PassSupport.h Remove some unused fields. 2009-08-29 23:34:14 +00:00
SymbolTableListTraits.h
Type.h Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-) 2009-08-27 06:41:46 +00:00
TypeSymbolTable.h Don't search the entire type table just to delete a type by name. 2009-08-06 06:04:35 +00:00
Use.h eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) 2009-08-27 23:44:33 +00:00
User.h
Value.h Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined, 2009-08-25 22:11:20 +00:00
ValueSymbolTable.h revert r78048, it isn't worth using assertingvh here. 2009-08-04 23:07:12 +00:00