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