llvm/unittests
Adrian Prantl eb38a2a075 [IR] Remove the DIExpression field from DIGlobalVariable.
This patch implements PR31013 by introducing a
DIGlobalVariableExpression that holds a pair of DIGlobalVariable and
DIExpression.

Currently, DIGlobalVariables holds a DIExpression. This is not the
best way to model this:

(1) The DIGlobalVariable should describe the source level variable,
    not how to get to its location.

(2) It makes it unsafe/hard to update the expressions when we call
    replaceExpression on the DIGLobalVariable.

(3) It makes it impossible to represent a global variable that is in
    more than one location (e.g., a variable with multiple
    DW_OP_LLVM_fragment-s).  We also moved away from attaching the
    DIExpression to DILocalVariable for the same reasons.

This reapplies r289902 with additional testcase upgrades.

<rdar://problem/29250149>
https://llvm.org/bugs/show_bug.cgi?id=31013
Differential Revision: https://reviews.llvm.org/D26769

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289920 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-16 04:25:54 +00:00
..
ADT [APFloatTest] Log when test fails. NFC 2016-12-16 00:47:17 +00:00
Analysis Remove the AssumptionCache 2016-12-15 03:02:15 +00:00
AsmParser
Bitcode Bitcode: Change module reader functions to return an llvm::Expected. 2016-11-13 07:00:17 +00:00
CodeGen GlobalISel: rename legalizer components to match others. 2016-10-14 22:18:18 +00:00
DebugInfo Switch functions that returned bool and filled in a DWARFFormValue arg with ones that return Optional<DWARFFormValue> 2016-12-13 23:20:56 +00:00
ExecutionEngine Remove the AssumptionCache 2016-12-15 03:02:15 +00:00
IR [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-16 04:25:54 +00:00
LineEditor
Linker
MC Fix static initialization order fiasco in MCTests 2016-11-11 22:18:42 +00:00
MI CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses 2016-08-24 01:52:46 +00:00
Object Fix llvm-symbolizer to correctly sort a symbol array and calculate symbol sizes 2016-11-15 21:07:03 +00:00
ObjectYAML
Option
ProfileData Fix spelling mistakes in Tools/Tests comments. NFC. 2016-11-20 13:31:13 +00:00
Support Simplify format member detection in FormatVariadic 2016-12-15 09:40:27 +00:00
Target Remove a FIXME that I forgot about. NFC. 2016-10-13 05:28:55 +00:00
Transforms Remove the AssumptionCache 2016-12-15 03:02:15 +00:00
CMakeLists.txt Fix llvm-symbolizer to correctly sort a symbol array and calculate symbol sizes 2016-11-15 21:07:03 +00:00