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