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