summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-05-03 21:03:41 +0000
committerTim Northover <tnorthover@apple.com>2016-05-03 21:03:41 +0000
commitd2ecbccf27f4bf8e31ff29fa67af6f5b1cf07d1a (patch)
tree8db6d0fac29f346d21175e687165baab17999a80 /llvm
parent8a004551d088a5608413a82171eecb8da5c7bcda (diff)
downloadbcm5719-llvm-d2ecbccf27f4bf8e31ff29fa67af6f5b1cf07d1a.tar.gz
bcm5719-llvm-d2ecbccf27f4bf8e31ff29fa67af6f5b1cf07d1a.zip
X86-Darwin: start emitting data-region directives for jump-tables.
The surrounding tools can cope these days, and they were invented for a reason. llvm-svn: 268437
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp2
-rw-r--r--llvm/test/CodeGen/X86/global-sections.ll2
-rw-r--r--llvm/test/CodeGen/X86/pic_jumptable.ll2
3 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
index f5bdd2d4b7e..e6fdf57ed18 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
@@ -39,7 +39,7 @@ RelaxELFRel("relax-relocations", cl::init(false),
cl::desc("Emit R_X86_64_GOTPCRELX instead of R_X86_64_GOTPCREL"));
static cl::opt<bool>
-MarkedJTDataRegions("mark-data-regions", cl::init(false),
+MarkedJTDataRegions("mark-data-regions", cl::init(true),
cl::desc("Mark code section jump table data regions."),
cl::Hidden);
diff --git a/llvm/test/CodeGen/X86/global-sections.ll b/llvm/test/CodeGen/X86/global-sections.ll
index 1401218da5f..ef1b1ac7524 100644
--- a/llvm/test/CodeGen/X86/global-sections.ll
+++ b/llvm/test/CodeGen/X86/global-sections.ll
@@ -93,11 +93,13 @@ bb7:
; DARWIN64: Lfunc_end
; DARWIN64-NEXT: .cfi_endproc
; DARWIN64-NOT: .section
+; DARWIN64: .data_region jt32
; DARWIN64: LJTI{{.*}}:
; DARWIN64-NEXT: .long
; DARWIN64-NEXT: .long
; DARWIN64-NEXT: .long
; DARWIN64-NEXT: .long
+; DARWIN64-NEXT: .end_data_region
; DARWIN64-NEXT: .section __TEXT,__gcc_except_tab
; int G1;
diff --git a/llvm/test/CodeGen/X86/pic_jumptable.ll b/llvm/test/CodeGen/X86/pic_jumptable.ll
index 8c1992a24ec..444f98ef83d 100644
--- a/llvm/test/CodeGen/X86/pic_jumptable.ll
+++ b/llvm/test/CodeGen/X86/pic_jumptable.ll
@@ -3,7 +3,7 @@
; RUN: llc < %s -relocation-model=pic -mark-data-regions -mtriple=i686-apple-darwin -asm-verbose=false \
; RUN: | FileCheck %s --check-prefix=CHECK-DATA
; RUN: llc < %s -relocation-model=pic -mtriple=i686-apple-darwin -asm-verbose=false \
-; RUN: | FileCheck %s
+; RUN: | FileCheck %s --check-prefix=CHECK-DATA
; RUN: llc < %s -mtriple=x86_64-apple-darwin | not grep 'lJTI'
; rdar://6971437
; rdar://7738756
OpenPOWER on IntegriCloud