aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/MCTargetDesc
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2012-09-24 23:06:27 +0000
committerJim Grosbach <grosbach@apple.com>2012-09-24 23:06:27 +0000
commite9525d862454674ce87a9da52b2d05915a142206 (patch)
treea3324f3d4e697b95463fb60b9b1d623d25fef016 /lib/Target/X86/MCTargetDesc
parent7f8f3f7f6400291d30531c88a98511f9fc626b4c (diff)
downloadexternal_llvm-e9525d862454674ce87a9da52b2d05915a142206.zip
external_llvm-e9525d862454674ce87a9da52b2d05915a142206.tar.gz
external_llvm-e9525d862454674ce87a9da52b2d05915a142206.tar.bz2
Mark jump tables in code sections with DataRegion directives.
Even out-of-line jump tables can be in the code section, so mark them as data-regions for those targets which support the directives. rdar://12362871&12362974 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164571 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/MCTargetDesc')
-rw-r--r--lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp b/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
index b0acd7d..16488eb 100644
--- a/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
+++ b/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
@@ -34,6 +34,10 @@ AsmWriterFlavor("x86-asm-syntax", cl::init(ATT),
clEnumValN(Intel, "intel", "Emit Intel-style assembly"),
clEnumValEnd));
+static cl::opt<bool>
+MarkedJTDataRegions("mark-data-regions", cl::init(false),
+ cl::desc("Mark code section jump table data regions."),
+ cl::Hidden);
void X86MCAsmInfoDarwin::anchor() { }
@@ -59,6 +63,7 @@ X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(const Triple &T) {
SupportsDebugInformation = true;
DwarfUsesInlineInfoSection = true;
+ UseDataRegionDirectives = MarkedJTDataRegions;
// Exceptions handling
ExceptionsType = ExceptionHandling::DwarfCFI;