llvm-6502/lib/IR
Derek Schuff c06e5cf2e3 Fix DeleteDeadVarargs not to crash on functions referenced by BlockAddresses
This pass was assuming that if hasAddressTaken() returns false for a
function, the function's only uses are call sites.  That's not true
because there can be references by BlockAddresses too.

Fix the pass to handle this case.  Fix
BlockAddress::replaceUsesOfWithOnConstant() to allow a function's type
to be changed by RAUW'ing the function with a bitcast of the recreated
function.

Patch by Mark Seaborn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183933 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-13 19:51:17 +00:00
..
AsmWriter.cpp Re-implement DebugIR in a way that does not subclass AssemblyWriter: 2013-05-23 22:34:33 +00:00
AsmWriter.h Re-implement DebugIR in a way that does not subclass AssemblyWriter: 2013-05-23 22:34:33 +00:00
AttributeImpl.h
Attributes.cpp Add a new function attribute 'cold' to functions. 2013-05-24 12:26:52 +00:00
AutoUpgrade.cpp
BasicBlock.cpp
CMakeLists.txt
ConstantFold.cpp
ConstantFold.h
Constants.cpp Fix DeleteDeadVarargs not to crash on functions referenced by BlockAddresses 2013-06-13 19:51:17 +00:00
ConstantsContext.h Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
Core.cpp Expose the RTDyldMemoryManager through the C API. This allows clients of 2013-05-22 02:46:43 +00:00
DataLayout.cpp Remove duplicated comment 2013-05-18 00:24:09 +00:00
DebugInfo.cpp Move getRealLinkageName to a common place and remove all the duplicates of it. 2013-06-01 17:51:14 +00:00
DebugLoc.cpp
DIBuilder.cpp DIBuilder: No functionality change. 2013-06-07 18:35:53 +00:00
Dominators.cpp
Function.cpp
GCOV.cpp
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h
Makefile
Metadata.cpp
Module.cpp Remove dead code. 2013-05-15 22:41:28 +00:00
Pass.cpp
PassManager.cpp Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
PassRegistry.cpp
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
Type.cpp Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Speed up Value::isUsedInBasicBlock() for long use lists. 2013-05-14 23:45:56 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Require members of llvm.used to be named. 2013-06-11 13:18:13 +00:00