brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · ee67e44 Raw
56 lines · plain
1# To rebuild the test case:2#3# $ cat op-convert-offset0.c4# extern int a[2];5#6# int foo(_Bool b) {7#   return b ? a[1] : a[0];8# }9# $ cat op-convert-offset1.c10# int a[2] = {1, 2};11#12# int foo(_Bool);13#14# int main() {15#   return foo(0);16# }17# $ xcrun clang -g -O2 -c -target x86_64-apple-unknown-macho op-convert-offset1.c -emit-llvm18# $ xcrun clang -g -O2 -c -target x86_64-apple-unknown-macho op-convert-offset0.c -emit-llvm19# $ llvm-link op-convert-offset1.bc op-convert-offset0.bc -o op-convert-offset.ll -S20# $ xcrun clang -c op-convert-offset.ll -O0 -arch x86_6421# $ xcrun clang -g op-convert-offset.o -O0 -arch x86_64 -o op-convert-offset22 23RUN: dsymutil -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/op-convert-offset/op-convert-offset -o %t.dSYM 2>&124RUN: llvm-dwarfdump %p/../Inputs/private/tmp/op-convert-offset/op-convert-offset.o 2>&1 | FileCheck %s --check-prefix OBJ25RUN: llvm-dwarfdump %t.dSYM 2>&1 | FileCheck %s --check-prefix DSYM26 27RUN: dsymutil --linker parallel -oso-prepend-path %p/../Inputs \28RUN:  %p/../Inputs/private/tmp/op-convert-offset/op-convert-offset \29RUN:  -o %t.dSYM 2>&130RUN: llvm-dwarfdump \31RUN:   %p/../Inputs/private/tmp/op-convert-offset/op-convert-offset.o 2>&1 \32RUN:   | FileCheck %s --check-prefix OBJ33RUN: llvm-dwarfdump %t.dSYM 2>&1 | FileCheck %s --check-prefix DSYM34 35OBJ: 0x0000007d:   DW_TAG_base_type36OBJ:                 DW_AT_name      ("DW_ATE_unsigned_1")37OBJ:                 DW_AT_encoding  (DW_ATE_unsigned)38OBJ:                 DW_AT_byte_size (0x01)39 40OBJ: 0x00000094:     DW_TAG_formal_parameter41OBJ:                   DW_AT_location        (DW_OP_breg2 RCX+0, DW_OP_constu 0xff, DW_OP_and, DW_OP_convert (0x0000007d) "DW_ATE_unsigned_1", DW_OP_convert (0x00000081) "DW_ATE_unsigned_8", DW_OP_stack_value)42OBJ:                   DW_AT_name    ("b")43OBJ:                   DW_AT_type    (0x000000af "_Bool")44 45DSYM:               DW_TAG_compile_unit46DSYM:               DW_TAG_compile_unit47DSYM:               DW_TAG_base_type48DSYM:                 DW_AT_name      ("DW_ATE_unsigned_1")49DSYM:                 DW_AT_encoding  (DW_ATE_unsigned)50DSYM:                 DW_AT_byte_size (0x01)51 52DSYM:              DW_TAG_formal_parameter53DSYM:                   DW_AT_location        (DW_OP_breg2 RCX+0, DW_OP_constu 0xff, DW_OP_and, DW_OP_convert (0x00000084) "DW_ATE_unsigned_1", DW_OP_convert (0x00000088) "DW_ATE_unsigned_8", DW_OP_stack_value)54DSYM:                   DW_AT_name    ("b")55DSYM:                   DW_AT_type    ({{.*}} "_Bool")56