1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/include/llvm
Adrian Prantl 0eee52640f [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.

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

llvm-svn: 289902
2016-12-16 00:36:43 +00:00
..
ADT Re-add the check for __has_attribute in StringLiteral. 2016-12-15 19:33:31 +00:00
Analysis Remove the AssumptionCache 2016-12-15 03:02:15 +00:00
AsmParser
Bitcode [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-16 00:36:43 +00:00
CodeGen Extract LaneBitmask into a separate type 2016-12-15 14:36:06 +00:00
Config Re-commit r289184, "Support: Use a 64-bit seek in raw_fd_ostream::seek()." with a configure-time check for lseek64. 2016-12-09 05:20:43 +00:00
DebugInfo Add the ability to get attribute values as Optional<T> 2016-12-14 22:38:08 +00:00
Demangle Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00
ExecutionEngine [Orc] Clang-format the recent RPC update (r286620 and related). 2016-11-17 02:33:47 +00:00
IR [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-16 00:36:43 +00:00
IRReader [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LibDriver [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LineEditor Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
Linker [ThinLTO] Import only necessary DICompileUnit fields 2016-12-12 16:09:30 +00:00
LTO [ThinLTO] Add an API to trigger file-based API for returning objects to the linker 2016-12-14 04:56:42 +00:00
MC Extract LaneBitmask into a separate type 2016-12-15 14:36:06 +00:00
Object Fix R_AARCH64_MOVW_UABS_G3 relocation 2016-12-15 22:36:53 +00:00
ObjectYAML [ObjectYAML] Support for DWARF debug_aranges 2016-12-09 00:26:44 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes [PM] Significantly refactor the pass pipeline parsing to be easier to 2016-08-03 03:21:41 +00:00
ProfileData Fix comment typos. NFC. 2016-11-20 13:47:59 +00:00
Support Simplify format member detection in FormatVariadic 2016-12-15 09:40:27 +00:00
TableGen TableGen: Some more std::string->StringInit* replacements 2016-12-05 07:35:13 +00:00
Target Extract LaneBitmask into a separate type 2016-12-15 14:36:06 +00:00
Transforms IPO: Introduce ThinLTOBitcodeWriter pass. 2016-12-16 00:26:30 +00:00
CMakeLists.txt
InitializePasses.h IPO: Introduce ThinLTOBitcodeWriter pass. 2016-12-16 00:26:30 +00:00
LinkAllIR.h Remove unused #includes of TimeValue.h. NFC. 2016-10-24 14:00:26 +00:00
LinkAllPasses.h Add Loop Sink pass to reverse the LICM based of basic block frequency. 2016-10-27 16:30:08 +00:00
module.modulemap [ORC] Work around an apparent modules/linkage issue. 2016-11-15 02:14:57 +00:00
module.modulemap.build Fix module map to create a module for the configured header Config/abi-breaking.h 2016-12-01 19:08:38 +00:00
Pass.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
PassAnalysisSupport.h Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
PassInfo.h [llvm] Remove duplicate header from PassInfo.h 2016-11-11 02:01:32 +00:00
PassRegistry.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
PassSupport.h Use StringRef in Pass Info/Support API (NFC) 2016-10-01 04:03:30 +00:00