llvm-6502/lib/IR
David Blaikie 09bb56f0a0 DebugInfo: Consider global variables without locations to be valid
We were being a bit too aggresive here in classifying global variables
with no global reference or constant value to be invalid - this would
cause LLVM to not emit the DWARF description of the global variable if
it had been optimized away, which isn't helpful for users who might
benefit from the global variable's description even if there's no
location information.

This also fixes a crasher issue here that I was unable to reduce a test
case for - involving a using decl (& subsequent
DW_TAG_imported_declaration ) of such a global variable that, once
optimized away, would crash when an attempt to emit the imported
declaration was made.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185675 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-04 23:15:18 +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 Now that the underlying issue is fixed, revert r180750 and r180722. 2013-05-01 13:07:03 +00:00
Attributes.cpp Added support for the Builtin attribute. 2013-06-27 00:25:01 +00:00
AutoUpgrade.cpp
BasicBlock.cpp
CMakeLists.txt
ConstantFold.cpp ConstantFold: Check that truncating the other side is safe under a sext when trying to remove a sext from a compare. 2013-06-30 13:47:43 +00:00
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 Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-04 01:31:24 +00:00
DebugInfo.cpp DebugInfo: Consider global variables without locations to be valid 2013-07-04 23:15:18 +00:00
DebugLoc.cpp
DIBuilder.cpp Debug Info: cleanup 2013-07-02 18:37:35 +00:00
Dominators.cpp
Function.cpp Add CodeGen support for functions that always return arguments via a new parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter). 2013-04-20 05:14:40 +00:00
GCOV.cpp Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-04 01:31:24 +00:00
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp Added support for the Builtin attribute. 2013-06-27 00:25:01 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h
Makefile
Metadata.cpp Struct-path aware TBAA: update getMostGenericTBAA 2013-04-22 23:00:44 +00:00
Module.cpp Remove dead code. 2013-05-15 22:41:28 +00:00
Pass.cpp
PassManager.cpp Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-03 15:07:05 +00:00
PassRegistry.cpp Use an RWMutex instead of a Mutex in PassRegistry. 2013-07-03 18:38:08 +00:00
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 IRVerifier: Correctly check attribute types 2013-07-02 03:28:10 +00:00