1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/include/llvm
Adrian Prantl 431b172354 Remove PrologEpilogInserter's usage of DBG_VALUE's offset field
In the last half-dozen commits to LLVM I removed code that became dead
after removing the offset parameter from llvm.dbg.value gradually
proceeding from IR towards the backend. Before I can move on to
DwarfDebug and friends there is one last side-called offset I need to
remove:  This patch modifies PrologEpilogInserter's use of the
DBG_VALUE's offset argument to use a DIExpression instead. Because the
PrologEpilogInserter runs at the Machine level I had to play a little
trick with a named llvm.dbg.mir node to get the DIExpressions to print
in MIR dumps (which print the llvm::Module followed by the
MachineFunction dump).

I also had to add rudimentary DwarfExpression support to CodeView and
as a side-effect also fixed a bug (CodeViewDebug::collectVariableInfo
was supposed to give up on variables with complex DIExpressions, but
would fail to do so for fragments, which are also modeled as
DIExpressions).

With this last holdover removed we will have only one canonical way of
representing offsets to debug locations which will simplify the code
in DwarfDebug (and future versions of CodeViewDebug once it starts
handling more complex expressions) and make it easier to reason about.

This patch is NFC-ish: All test case changes are for assembler
comments and the binary output does not change.

rdar://problem/33580047
Differential Revision: https://reviews.llvm.org/D36125

llvm-svn: 309751
2017-08-01 21:45:24 +00:00
..
ADT Remove Bitrig: LLVM Changes 2017-07-21 22:48:47 +00:00
Analysis [Value Tracking] Default argument to true and rename accordingly. NFC. 2017-08-01 20:18:54 +00:00
AsmParser
BinaryFormat [WebAssembly] Expose the offset of each data segment 2017-07-12 00:24:54 +00:00
Bitcode ThinLTO Minimized Bitcode File Size Reduction 2017-07-21 17:25:20 +00:00
CodeGen Remove PrologEpilogInserter's usage of DBG_VALUE's offset field 2017-08-01 21:45:24 +00:00
Config Implement parsing and writing of a single xml manifest file. 2017-07-20 21:42:04 +00:00
DebugInfo [lld/pdb] Add an empty globals stream. 2017-07-31 19:36:08 +00:00
Demangle
ExecutionEngine Make EHFrames available to sub-classes of RTDyldMemoryManager. 2017-07-18 15:50:28 +00:00
IR Migrate PGOMemOptSizeOpt to use new OptimizationRemarkEmitter Pass 2017-07-30 00:35:33 +00:00
IRReader
LineEditor
Linker [Linker] Provide callback for internalization 2017-03-13 18:08:11 +00:00
LTO [LTO] Prevent dead stripping and internalization of symbols with sections 2017-07-25 19:42:32 +00:00
MC MC: add support for cfi_return_column 2017-07-28 03:39:19 +00:00
Object [llvm] Update MachOObjectFile::exports interface 2017-07-29 00:30:45 +00:00
ObjectYAML [yaml2obj][ELF] Add support for program headers 2017-07-19 20:38:46 +00:00
Option [libOption] - Add flag allowing to print options aliases in help text. 2017-07-26 09:09:56 +00:00
Passes Refactor the build{Module|Function}SimplificationPipeline to expose optimization phase. 2017-07-30 04:55:39 +00:00
ProfileData [llvm-cov] Allow specifying distinct architectures for each loaded binary 2017-08-01 21:23:26 +00:00
Support [PostDom] Fix typo in comment [NFC] 2017-08-01 11:01:28 +00:00
TableGen Fix Wdocumentation warning 2017-06-20 12:28:33 +00:00
Target [TargetPassConfig] Feature generic options to setup start/stop-after/before 2017-07-31 18:24:07 +00:00
Testing/Support [Testing/Support] Remove the const_cast in TakeExpected 2017-06-22 13:11:50 +00:00
ToolDrivers llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
Transforms [GVN] Recommit the patch "Add phi-translate support in scalarpre" 2017-07-28 15:47:25 +00:00
WindowsManifest Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00
XRay [XRay][tools] Add option to llvm-xray extract to symbolize functions 2017-04-18 23:23:54 +00:00
CMakeLists.txt Support: Add a VCSRevision.h header file. 2017-04-13 01:26:12 +00:00
InitializePasses.h [RegAllocFast] Add the proper initialize method to use the .mir infrastructure 2017-07-07 19:25:42 +00:00
LinkAllIR.h Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
LinkAllPasses.h Remove the BBVectorize pass. 2017-06-30 07:09:08 +00:00
module.modulemap Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00
module.modulemap.build
Pass.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
PassAnalysisSupport.h
PassInfo.h [LegacyPassManager] Remove TargetMachine constructors 2017-05-18 17:21:13 +00:00
PassRegistry.h
PassSupport.h [LegacyPassManager] Remove TargetMachine constructors 2017-05-18 17:21:13 +00:00