Home | History | Annotate | Download | only in MachO
      1 ; RUN: llc -O0 -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | llvm-readobj -macho-data-in-code | FileCheck %s
      2 
      3 ; There should not be a data-in-code load command (type 0x29) for x86_64
      4 ; jump tables, even though they are in the text section.
      5 ; CHECK-NOT: DataInCode {
      6 
      7 define void @foo(i32* %ptr) nounwind ssp {
      8   %tmp = load i32, i32* %ptr, align 4
      9   switch i32 %tmp, label %default [
     10     i32 11, label %bb0
     11     i32 10, label %bb1
     12     i32 8, label %bb2
     13     i32 4, label %bb3
     14     i32 2, label %bb4
     15     i32 6, label %bb5
     16     i32 9, label %bb6
     17     i32 15, label %bb7
     18     i32 1, label %bb8
     19     i32 3, label %bb9
     20     i32 5, label %bb10
     21     i32 30, label %bb11
     22     i32 31, label %bb12
     23     i32 13, label %bb13
     24     i32 14, label %bb14
     25     i32 20, label %bb15
     26     i32 19, label %bb16
     27     i32 17, label %bb17
     28     i32 18, label %bb18
     29     i32 21, label %bb19
     30     i32 22, label %bb20
     31     i32 16, label %bb21
     32     i32 24, label %bb22
     33     i32 25, label %bb23
     34     i32 26, label %bb24
     35     i32 27, label %bb25
     36     i32 28, label %bb26
     37     i32 23, label %bb27
     38     i32 12, label %bb28
     39   ]
     40 
     41 default:
     42   br label %exit
     43 bb0:
     44   br label %exit
     45 bb1:
     46   br label %exit
     47 bb2:
     48   br label %exit
     49 bb3:
     50   br label %exit
     51 bb4:
     52   br label %exit
     53 bb5:
     54   br label %exit
     55 bb6:
     56   br label %exit
     57 bb7:
     58   br label %exit
     59 bb8:
     60   br label %exit
     61 bb9:
     62   br label %exit
     63 bb10:
     64   br label %exit
     65 bb11:
     66   br label %exit
     67 bb12:
     68   br label %exit
     69 bb13:
     70   br label %exit
     71 bb14:
     72   br label %exit
     73 bb15:
     74   br label %exit
     75 bb16:
     76   br label %exit
     77 bb17:
     78   br label %exit
     79 bb18:
     80   br label %exit
     81 bb19:
     82   br label %exit
     83 bb20:
     84   br label %exit
     85 bb21:
     86   br label %exit
     87 bb22:
     88   br label %exit
     89 bb23:
     90   br label %exit
     91 bb24:
     92   br label %exit
     93 bb25:
     94   br label %exit
     95 bb26:
     96   br label %exit
     97 bb27:
     98   br label %exit
     99 bb28:
    100   br label %exit
    101 
    102 
    103 exit:
    104 
    105   ret void
    106 }
    107 
    108