1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/include/llvm
Michael Trent b9b1c03468 [ MC ] Match labels to existing fragments even when switching sections.
Summary:
This commit builds upon Derek Schuff's 2014 commit for attaching labels to
existing fragments ( Diff Revision: http://reviews.llvm.org/D5915 )

When temporary labels appear ahead of a fragment, MCObjectStreamer will
track the temporary label symbol in a "Pending Labels" list. Labels are
associated with fragments when a real fragment arrives; otherwise, an empty
data fragment will be created if the streamer's section changes or if the
stream finishes.

This commit moves the "Pending Labels" list into each MCStream, so that
this label-fragment matching process is resilient to section changes. If
the streamer emits a label in a new section, switches to another section to
do other work, then switches back to the first section and emits a
fragment, that initial label will be associated with this new fragment.
Labels will only receive empty data fragments in the case where no other
fragment exists for that section.

The downstream effects of this can be seen in Mach-O relocations. The
previous approach could produce local section relocations and external
symbol relocations for the same data in an object file, and this mix of
relocation types resulted in problems in the ld64 Mach-O linker. This
commit ensures relocations triggered by temporary labels are consistent.

Reviewers: pete, ab, dschuff

Reviewed By: pete, dschuff

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D71368
2019-12-17 08:49:25 -08:00
..
ADT Add Optional::map. 2019-12-16 13:34:00 -05:00
Analysis [TLI] Support for per-Function TLI that overrides available libfuncs 2019-12-16 09:19:30 -08:00
AsmParser Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
BinaryFormat [ObjC][DWARF] Emit DW_AT_APPLE_objc_direct for methods marked as __attribute__((objc_direct)) 2019-12-17 09:40:36 +01:00
Bitcode [LTO] Support for embedding bitcode section during LTO 2019-12-12 12:34:19 -08:00
Bitstream Remarks - fix static analyzer warnings. NFCI. 2019-11-09 13:01:05 +00:00
CodeGen This adds constrained intrinsics for the signed and unsigned conversions 2019-12-17 10:06:51 -05:00
Config
DebugInfo Add lookup functions for efficient lookups of addresses when using GsymReader classes. 2019-12-05 16:49:53 -08:00
Demangle PODSmallVector - fix MSVC uninitialized variable warnings. NFCI. 2019-11-10 11:18:15 +00:00
ExecutionEngine [ORC] Make ObjectLinkingLayer own its jitlink::MemoryManager. 2019-12-15 17:35:52 -08:00
Frontend/OpenMP [OpenMP] Introduce the OpenMP-IR-Builder 2019-12-11 14:38:49 -06:00
FuzzMutate
IR This adds constrained intrinsics for the signed and unsigned conversions 2019-12-17 10:06:51 -05:00
IRReader
LineEditor
Linker
LTO Revert an accidental commit af5ca40b47b3e85c3add81ccdc0b787c4bc355ae 2019-12-13 15:17:40 +09:00
MC [ MC ] Match labels to existing fragments even when switching sections. 2019-12-17 08:49:25 -08:00
MCA [MCA][LSUnit] Track loads and stores until retirement. 2019-10-08 10:46:01 +00:00
Object [WebAssembly] Add new export_name clang attribute for controlling wasm export names 2019-12-11 11:54:57 -08:00
ObjectYAML [yaml2obj] - Add a way to override sh_flags section field. 2019-12-13 11:54:37 +03:00
Option Let unaliased Args track which Alias they were created from, and use that in Arg::getAsString() for diagnostics 2019-07-09 00:34:08 +00:00
Passes Revert "Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there."" 2019-11-26 20:28:52 -08:00
ProfileData [AutoFDO] Properly merge context-sensitive profile of inlinee back to outlined function 2019-12-05 15:57:55 -08:00
Remarks Remarks - fix static analyzer warnings. NFCI. 2019-11-09 13:01:05 +00:00
Support Revert "[Support] Fix time trace multi threaded support with LLVM_ENABLE_THREADS=OFF" 2019-12-17 08:59:05 +00:00
TableGen [TableGen] Add bang-operators !getop and !setop. 2019-12-11 12:05:22 +00:00
Target Reapply af57dbf12e54 "Add support for options -frounding-math, ftrapping-math, -ffp-model=, and -ffp-exception-behavior=" 2019-12-05 03:48:04 -08:00
Testing/Support
TextAPI Reland "[TextAPI] Introduce TBDv4" 2019-10-10 04:24:44 +00:00
ToolDrivers Share /machine: handling code with llvm-cvtres too 2019-06-12 11:32:43 +00:00
Transforms [BasicBlockUtils] Add utility to remove redundant dbg.value instrs 2019-12-16 11:41:21 +01:00
WindowsManifest
WindowsResource
XRay FDRRecords - fix uninitialized variable warnings. NFCI. 2019-11-07 18:42:02 +00:00
CMakeLists.txt
InitializePasses.h [BasicBlockUtils] Add utility to remove redundant dbg.value instrs 2019-12-16 11:41:21 +01:00
LinkAllIR.h
LinkAllPasses.h [BasicBlockUtils] Add utility to remove redundant dbg.value instrs 2019-12-16 11:41:21 +01:00
module.extern.modulemap
module.install.modulemap
module.modulemap Fix -Wincomplete-umbrella warning in the modules build 2019-12-10 11:19:17 -08:00
module.modulemap.build [Modules] Add module for Config/llvm-config.h 2017-10-24 06:18:52 +00:00
Pass.h Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PassSupport.h