brintos

brintos / llvm-project-archived public Read only

0
0
Text · 23.9 KiB · 2b753f7 Raw
711 lines · plain
1; RUN: llc -mcpu=core2 -mtriple=i686-pc-win32 -O0 < %s | FileCheck --check-prefix=X86 %s2; RUN: llc -mcpu=core2 -mtriple=i686-pc-win32 -o - -O0 < %s | llvm-mc -triple=i686-pc-win32 -filetype=obj | llvm-readobj -S --sr --codeview --section-symbols - | FileCheck --check-prefix=OBJ32 %s3; RUN: llc -mcpu=core2 -mtriple=x86_64-pc-win32 -O0 < %s | FileCheck --check-prefix=X64 %s4; RUN: llc -mcpu=core2 -mtriple=x86_64-pc-win32 -o - -O0 < %s | llvm-mc -triple=x86_64-pc-win32 -filetype=obj | llvm-readobj -S --sr --codeview --section-symbols - | FileCheck --check-prefix=OBJ64 %s5 6; This LL file was generated by running clang on the following code:7; D:\source.c:8;  1 void z(void);9;  210;  3 void x(void) {11;  4   z();12;  5 }13;  614;  7 void y(void) {15;  8   z();16;  9 }17; 1018; 11 void f(void) {19; 12   x();20; 13   y();21; 14   z();22; 15 }23 24 25; X86-LABEL: _x:26; X86:      # %bb.27; X86:      .cv_file 1 "D:\\source.c"28; X86:      .cv_loc 0 1 4 42 # source.c:4:4229; X86:      calll   _z30; X86:      .cv_loc 0 1 5 43 # source.c:5:4331; X86:      ret32; X86:      [[END_OF_X:.?Lfunc_end.*]]:33;34; X86-LABEL: _y:35; X86:      # %bb.36; X86:      .cv_loc 1 1 8 52 # source.c:8:5237; X86:      calll   _z38; X86:      .cv_loc 1 1 9 53 # source.c:9:5339; X86:      ret40; X86:      [[END_OF_Y:.?Lfunc_end.*]]:41;42; X86-LABEL: _f:43; X86:      # %bb.44; X86:      .cv_loc 2 1 12 62 # source.c:12:6245; X86:      calll   _x46; X86:      .cv_loc 2 1 13 63 # source.c:13:6347; X86:      calll   _y48; X86:      .cv_loc 2 1 14 72 # source.c:14:7249; X86:      calll   _z50; X86:      .cv_loc 2 1 15 73 # source.c:15:7351; X86:      ret52; X86:      [[END_OF_F:.?Lfunc_end.*]]:53;54; X86-LABEL: .section        .debug$S,"dr"55; X86-NEXT: .p2align 256; X86-NEXT: .long   457; X86-NEXT: .long   24158; X86-NEXT: .long [[COMPILE_END:.*]]-[[COMPILE_START:.*]] #59; Compiler information record60; X86-NEXT: [[COMPILE_START]]:61; X86-NEXT: .short [[C1_END:.*]]-[[C1_START:.*]] #62; X86:      [[COMPILE_END]]:63; X86-NEXT: .p2align 264; X86-NEXT: .cv_fpo_data _x65; Symbol subsection for x66; X86-NEXT: .long   24167; X86-NEXT: .long [[F1_END:.*]]-[[F1_START:.*]] #68; X86-NEXT: [[F1_START]]:69; X86-NEXT: .short [[PROC_SEGMENT_END:.*]]-[[PROC_SEGMENT_START:.*]] #70; X86-NEXT: [[PROC_SEGMENT_START]]:71; X86-NEXT: .short  442272; X86-NEXT: .long   073; X86-NEXT: .long   074; X86-NEXT: .long   075; X86-NEXT: .long [[END_OF_X]]-_x76; X86-NEXT: .long   077; X86-NEXT: .long   078; X86-NEXT: .long   409879; X86-NEXT: .secrel32 _x80; X86-NEXT: .secidx _x81; X86-NEXT: .byte   12882; X86-NEXT: .asciz "x"83; X86-NEXT: .p2align 284; X86-NEXT: [[PROC_SEGMENT_END]]:85; X86-NEXT: .short  [[FPROC_END:[^ ]*]]-[[FPROC_BEG:[^ ]*]]           # Record length86; X86-NEXT: [[FPROC_BEG]]:87; X86-NEXT: .short  4114                    # Record kind: S_FRAMEPROC88; X86-NEXT: .long   0                       # FrameSize89; X86-NEXT: .long   0                       # Padding90; X86-NEXT: .long   0                       # Offset of padding91; X86-NEXT: .long   0                       # Bytes of callee saved registers92; X86-NEXT: .long   0                       # Exception handler offset93; X86-NEXT: .short  0                       # Exception handler section94; X86-NEXT: .long   8192                    # Flags (defines frame register)95; X86-NEXT: .p2align 296; X86-NEXT: [[FPROC_END]]:97; X86-NEXT: .short  298; X86-NEXT: .short  443199; X86-NEXT: [[F1_END]]:100; X86-NEXT: .p2align 2101; Line table subsection for x102; X86: .cv_linetable 0, _x, [[END_OF_X]]103; Symbol subsection for y104; X86-NEXT: .cv_fpo_data _y105; X86-NEXT: .long   241106; X86-NEXT: .long [[COMPILE_END:.*]]-[[COMPILE_START:.*]] #107; X86-NEXT: [[COMPILE_START]]:108; X86-NEXT: .short [[PROC_SEGMENT_END:.*]]-[[PROC_SEGMENT_START:.*]] #109; X86-NEXT: [[PROC_SEGMENT_START]]:110; X86-NEXT: .short  4423111; X86-NEXT: .long   0112; X86-NEXT: .long   0113; X86-NEXT: .long   0114; X86-NEXT: .long [[END_OF_Y]]-_y115; X86-NEXT: .long   0116; X86-NEXT: .long   0117; X86-NEXT: .long   4099118; X86-NEXT: .secrel32 _y119; X86-NEXT: .secidx _y120; X86-NEXT: .byte   128121; X86-NEXT: .asciz "y"122; X86-NEXT: .p2align 2123; X86-NEXT: [[PROC_SEGMENT_END]]:124; X86-NEXT: .short  [[FPROC_END:[^ ]*]]-[[FPROC_BEG:[^ ]*]]           # Record length125; X86-NEXT: [[FPROC_BEG]]:126; X86-NEXT: .short  4114                    # Record kind: S_FRAMEPROC127; X86-NEXT: .long   0                       # FrameSize128; X86-NEXT: .long   0                       # Padding129; X86-NEXT: .long   0                       # Offset of padding130; X86-NEXT: .long   0                       # Bytes of callee saved registers131; X86-NEXT: .long   0                       # Exception handler offset132; X86-NEXT: .short  0                       # Exception handler section133; X86-NEXT: .long   8192                    # Flags (defines frame register)134; X86-NEXT: .p2align 2135; X86-NEXT: [[FPROC_END]]:136; X86-NEXT: .short  2137; X86-NEXT: .short  4431138; X86-NEXT: [[COMPILE_END]]:139; X86-NEXT: .p2align 2140; Line table subsection for y141; X86: .cv_linetable 1, _y, [[END_OF_Y]]142; Symbol subsection for f143; X86-NEXT: .cv_fpo_data _f144; X86-NEXT: .long   241145; X86-NEXT: .long [[COMPILE_END:.*]]-[[COMPILE_START:.*]] #146; X86-NEXT: [[COMPILE_START]]:147; X86-NEXT: .short [[PROC_SEGMENT_END:.*]]-[[PROC_SEGMENT_START:.*]] #148; X86-NEXT: [[PROC_SEGMENT_START]]:149; X86-NEXT: .short  4423150; X86-NEXT: .long   0151; X86-NEXT: .long   0152; X86-NEXT: .long   0153; X86-NEXT: .long [[END_OF_F]]-_f154; X86-NEXT: .long   0155; X86-NEXT: .long   0156; X86-NEXT: .long   4100157; X86-NEXT: .secrel32 _f158; X86-NEXT: .secidx _f159; X86-NEXT: .byte   128160; X86-NEXT: .asciz "f"161; X86-NEXT: .p2align 2162; X86-NEXT: [[PROC_SEGMENT_END]]:163; X86-NEXT: .short  [[FPROC_END:[^ ]*]]-[[FPROC_BEG:[^ ]*]]           # Record length164; X86-NEXT: [[FPROC_BEG]]:165; X86-NEXT: .short  4114                    # Record kind: S_FRAMEPROC166; X86-NEXT: .long   0                       # FrameSize167; X86-NEXT: .long   0                       # Padding168; X86-NEXT: .long   0                       # Offset of padding169; X86-NEXT: .long   0                       # Bytes of callee saved registers170; X86-NEXT: .long   0                       # Exception handler offset171; X86-NEXT: .short  0                       # Exception handler section172; X86-NEXT: .long   8192                    # Flags (defines frame register)173; X86-NEXT: .p2align 2174; X86-NEXT: [[FPROC_END]]:175; X86-NEXT: .short  2176; X86-NEXT: .short  4431177; X86-NEXT: [[COMPILE_END]]:178; X86-NEXT: .p2align 2179; Line table subsection for f180; X86: .cv_linetable 2, _f, [[END_OF_F]]181; X86: .cv_filechecksums182; X86: .cv_stringtable183 184; OBJ32:    Section {185; OBJ32:      Name: .debug$S (2E 64 65 62 75 67 24 53)186; OBJ32:      Characteristics [ (0x42300040)187; OBJ32:      ]188; OBJ32:      Subsection [189; OBJ32-NEXT:   SubSectionType: Symbols (0xF1)190; OBJ32: 	Compile3Sym191; OBJ32:      ]192; OBJ32:      Subsection [193; OBJ32-NEXT:   SubSectionType: FrameData (0xF5)194; OBJ32:      ]195; OBJ32:      Subsection [196; OBJ32-NEXT:   SubSectionType: Symbols (0xF1)197; OBJ32:        {{.*}}Proc{{.*}}Sym {198; OBJ32:          Kind: S_LPROC32_ID (0x1146)199; OBJ32:          CodeSize: 0x6200; OBJ32:          DisplayName: x201; OBJ32:          LinkageName: _x202; OBJ32:        }203; OBJ32:        ProcEnd {204; OBJ32:        }205; OBJ32-NEXT: ]206; OBJ32:      Subsection [207; OBJ32-NEXT:   SubSectionType: Lines (0xF2)208; OBJ32:      ]209; OBJ32:      Subsection [210; OBJ32-NEXT:   SubSectionType: FrameData (0xF5)211; OBJ32:      ]212; OBJ32:      Subsection [213; OBJ32-NEXT:   SubSectionType: Symbols (0xF1)214; OBJ32:        {{.*}}Proc{{.*}}Sym {215; OBJ32:          Kind: S_GPROC32_ID (0x1147)216; OBJ32:          CodeSize: 0x6217; OBJ32:          DisplayName: y218; OBJ32:          LinkageName: _y219; OBJ32:        }220; OBJ32:        ProcEnd {221; OBJ32:        }222; OBJ32-NEXT: ]223; OBJ32:      Subsection [224; OBJ32-NEXT:   SubSectionType: Lines (0xF2)225; OBJ32:      ]226; OBJ32:      Subsection [227; OBJ32-NEXT:   SubSectionType: FrameData (0xF5)228; OBJ32:      ]229; OBJ32:      Subsection [230; OBJ32-NEXT:   SubSectionType: Symbols (0xF1)231; OBJ32:        {{.*}}Proc{{.*}}Sym {232; OBJ32:          Kind: S_GPROC32_ID (0x1147)233; OBJ32:          CodeSize: 0x10234; OBJ32:          DisplayName: f235; OBJ32:          LinkageName: _f236; OBJ32:        }237; OBJ32:        ProcEnd {238; OBJ32:        }239; OBJ32-NEXT: ]240; OBJ32:      Subsection [241; OBJ32-NEXT:   SubSectionType: Lines (0xF2)242; OBJ32:      ]243; OBJ32:      FunctionLineTable [244; OBJ32-NEXT:   Name: _x245; OBJ32-NEXT:   Flags: 0x1246; OBJ32-NEXT:   CodeSize: 0x6247; OBJ32-NEXT:   FilenameSegment [248; OBJ32-NEXT:     Filename: D:\source.c249; OBJ32-NEXT:     +0x0 [250; OBJ32-NEXT:       LineNumberStart: 4251; OBJ32-NEXT:       LineNumberEndDelta: 0252; OBJ32-NEXT:       IsStatement: No253; OBJ32-NEXT:       ColStart: 42254; OBJ32-NEXT:       ColEnd: 0255; OBJ32-NEXT:     ]256; OBJ32-NEXT:     +0x5 [257; OBJ32-NEXT:       LineNumberStart: 5258; OBJ32-NEXT:       LineNumberEndDelta: 0259; OBJ32-NEXT:       IsStatement: No260; OBJ32-NEXT:       ColStart: 43261; OBJ32-NEXT:       ColEnd: 0262; OBJ32-NEXT:     ]263; OBJ32-NEXT:   ]264; OBJ32-NEXT: ]265; OBJ32-NEXT: FunctionLineTable [266; OBJ32-NEXT:   LinkageName: _y267; OBJ32-NEXT:   Flags: 0x1268; OBJ32-NEXT:   CodeSize: 0x6269; OBJ32-NEXT:   FilenameSegment [270; OBJ32-NEXT:     Filename: D:\source.c271; OBJ32-NEXT:     +0x0 [272; OBJ32-NEXT:       LineNumberStart: 8273; OBJ32-NEXT:       LineNumberEndDelta: 0274; OBJ32-NEXT:       IsStatement: No275; OBJ32-NEXT:       ColStart: 52276; OBJ32-NEXT:       ColEnd: 0277; OBJ32-NEXT:     ]278; OBJ32-NEXT:     +0x5 [279; OBJ32-NEXT:       LineNumberStart: 9280; OBJ32-NEXT:       LineNumberEndDelta: 0281; OBJ32-NEXT:       IsStatement: No282; OBJ32-NEXT:       ColStart: 53283; OBJ32-NEXT:       ColEnd: 0284; OBJ32-NEXT:     ]285; OBJ32-NEXT:   ]286; OBJ32-NEXT: ]287; OBJ32-NEXT: FunctionLineTable [288; OBJ32-NEXT:   LinkageName: _f289; OBJ32-NEXT:   Flags: 0x1290; OBJ32-NEXT:   CodeSize: 0x10291; OBJ32-NEXT:   FilenameSegment [292; OBJ32-NEXT:     Filename: D:\source.c293; OBJ32-NEXT:     +0x0 [294; OBJ32-NEXT:       LineNumberStart: 12295; OBJ32-NEXT:       LineNumberEndDelta: 0296; OBJ32-NEXT:       IsStatement: No297; OBJ32-NEXT:       ColStart: 62298; OBJ32-NEXT:       ColEnd: 0299; OBJ32-NEXT:     ]300; OBJ32-NEXT:     +0x5 [301; OBJ32-NEXT:       LineNumberStart: 13302; OBJ32-NEXT:       LineNumberEndDelta: 0303; OBJ32-NEXT:       IsStatement: No304; OBJ32-NEXT:       ColStart: 63305; OBJ32-NEXT:       ColEnd: 0306; OBJ32-NEXT:     ]307; OBJ32-NEXT:     +0xA [308; OBJ32-NEXT:       LineNumberStart: 14309; OBJ32-NEXT:       LineNumberEndDelta: 0310; OBJ32-NEXT:       IsStatement: No311; OBJ32-NEXT:       ColStart: 72312; OBJ32-NEXT:       ColEnd: 0313; OBJ32-NEXT:     ]314; OBJ32-NEXT:     +0xF [315; OBJ32-NEXT:       LineNumberStart: 15316; OBJ32-NEXT:       LineNumberEndDelta: 0317; OBJ32-NEXT:       IsStatement: No318; OBJ32-NEXT:       ColStart: 73319; OBJ32-NEXT:       ColEnd: 0320; OBJ32-NEXT:     ]321; OBJ32-NEXT:   ]322; OBJ32-NEXT: ]323 324 325; X64-LABEL: x:326; X64-NEXT: .L{{.*}}:327; X64:      .cv_file 1 "D:\\source.c"328; X64:      .cv_loc 0 1 3 0 # source.c:3:0329; X64:      # %bb.330; X64:      subq    $40, %rsp331; X64:      .cv_loc 0 1 4 42 # source.c:4:42332; X64-NEXT: callq   z333; X64:      .cv_loc 0 1 5 43 # source.c:5:43334; X64:      addq    $40, %rsp335; X64-NEXT: ret336; X64:      [[END_OF_X:.?Lfunc_end.*]]:337;338; X64-LABEL: y:339; X64-NEXT: .L{{.*}}:340; X64:      .cv_loc 1 1 7 0 # source.c:7:0341; X64:      # %bb.342; X64:      subq    $40, %rsp343; X64:      .cv_loc 1 1 8 52 # source.c:8:52344; X64-NEXT: callq   z345; X64:      .cv_loc 1 1 9 53 # source.c:9:53346; X64:      addq    $40, %rsp347; X64-NEXT: ret348; X64:      [[END_OF_Y:.?Lfunc_end.*]]:349;350; X64-LABEL: f:351; X64-NEXT: .L{{.*}}:352; X64:      .cv_loc 2 1 11 0 # source.c:11:0353; X64:      # %bb.354; X64:      subq    $40, %rsp355; X64:      .cv_loc 2 1 12 62 # source.c:12:62356; X64-NEXT: callq   x357; X64:      .cv_loc 2 1 13 63 # source.c:13:63358; X64:      callq   y359; X64:      .cv_loc 2 1 14 72 # source.c:14:72360; X64:      callq   z361; X64:      .cv_loc 2 1 15 73 # source.c:15:73362; X64:      addq    $40, %rsp363; X64-NEXT: ret364; X64:      [[END_OF_F:.?Lfunc_end.*]]:365;366 367; X64-LABEL: .section        .debug$S,"dr"368; X64-NEXT: .p2align 2369; X64-NEXT: .long   4370; X64-NEXT: .long   241371; X64-NEXT: .long [[COMPILE_END:.*]]-[[COMPILE_START:.*]] #372; Compiler information record373; X64-NEXT: [[COMPILE_START]]:374; X64-NEXT: .short [[C1_END:.*]]-[[C1_START:.*]] #375; X64:      [[COMPILE_END]]:376; X64-NEXT: .p2align 2377; Symbol subsection for x378; X64-NEXT: .long   241379; X64-NEXT: .long  [[F1_END:.*]]-[[F1_START:.*]] #380; X64-NEXT: [[F1_START]]:381; X64-NEXT: .short [[PROC_SEGMENT_END:.*]]-[[PROC_SEGMENT_START:.*]] #382; X64-NEXT: [[PROC_SEGMENT_START]]:383; X64-NEXT: .short  4422384; X64-NEXT: .long   0385; X64-NEXT: .long   0386; X64-NEXT: .long   0387; X64-NEXT: .long [[END_OF_X]]-x388; X64-NEXT: .long   0389; X64-NEXT: .long   0390; X64-NEXT: .long   4098391; X64-NEXT: .secrel32 x392; X64-NEXT: .secidx x393; X64-NEXT: .byte   128394; X64-NEXT: .asciz "x"395; X64-NEXT: .p2align 2396; X64-NEXT: [[PROC_SEGMENT_END]]:397; X64-NEXT: .short  [[FPROC_END:[^ ]*]]-[[FPROC_BEG:[^ ]*]]           # Record length398; X64-NEXT: [[FPROC_BEG]]:399; X64-NEXT: .short  4114                    # Record kind: S_FRAMEPROC400; X64-NEXT: .long   40                       # FrameSize401; X64-NEXT: .long   0                       # Padding402; X64-NEXT: .long   0                       # Offset of padding403; X64-NEXT: .long   0                       # Bytes of callee saved registers404; X64-NEXT: .long   0                       # Exception handler offset405; X64-NEXT: .short  0                       # Exception handler section406; X64-NEXT: .long   90112                   # Flags (defines frame register)407; X64-NEXT: .p2align 2408; X64-NEXT: [[FPROC_END]]:409; X64-NEXT: .short  2410; X64-NEXT: .short  4431411; X64-NEXT: [[F1_END]]:412; X64-NEXT: .p2align 2413; Line table subsection for x414; X64: .cv_linetable 0, x, [[END_OF_X]]415; Symbol subsection for y416; X64-NEXT: .long   241417; X64-NEXT: .long [[COMPILE_END:.*]]-[[COMPILE_START:.*]] #418; X64-NEXT: [[COMPILE_START]]:419; X64-NEXT: .short [[PROC_SEGMENT_END:.*]]-[[PROC_SEGMENT_START:.*]] #420; X64-NEXT: [[PROC_SEGMENT_START]]:421; X64-NEXT: .short  4423422; X64-NEXT: .long   0423; X64-NEXT: .long   0424; X64-NEXT: .long   0425; X64-NEXT: .long [[END_OF_Y]]-y426; X64-NEXT: .long   0427; X64-NEXT: .long   0428; X64-NEXT: .long   4099429; X64-NEXT: .secrel32 y430; X64-NEXT: .secidx y431; X64-NEXT: .byte   128432; X64-NEXT: .asciz "y"433; X64-NEXT: .p2align 2434; X64-NEXT: [[PROC_SEGMENT_END]]:435; X64-NEXT: .short  [[FPROC_END:[^ ]*]]-[[FPROC_BEG:[^ ]*]]           # Record length436; X64-NEXT: [[FPROC_BEG]]:437; X64-NEXT: .short  4114                    # Record kind: S_FRAMEPROC438; X64-NEXT: .long   40                       # FrameSize439; X64-NEXT: .long   0                       # Padding440; X64-NEXT: .long   0                       # Offset of padding441; X64-NEXT: .long   0                       # Bytes of callee saved registers442; X64-NEXT: .long   0                       # Exception handler offset443; X64-NEXT: .short  0                       # Exception handler section444; X64-NEXT: .long   90112                   # Flags (defines frame register)445; X64-NEXT: .p2align 2446; X64-NEXT: [[FPROC_END]]:447; X64-NEXT: .short  2448; X64-NEXT: .short  4431449; X64-NEXT: [[COMPILE_END]]:450; X64-NEXT: .p2align 2451; Line table subsection for y452; X64: .cv_linetable 1, y, [[END_OF_Y]]453; Symbol subsection for f454; X64-NEXT: .long   241455; X64-NEXT: .long [[COMPILE_END:.*]]-[[COMPILE_START:.*]] #456; X64:      [[COMPILE_START]]:457; X64-NEXT: .short [[PROC_SEGMENT_END:.*]]-[[PROC_SEGMENT_START:.*]] #458; X64-NEXT: [[PROC_SEGMENT_START]]:459; X64-NEXT: .short  4423460; X64-NEXT: .long   0461; X64-NEXT: .long   0462; X64-NEXT: .long   0463; X64-NEXT: .long [[END_OF_F]]-f464; X64-NEXT: .long   0465; X64-NEXT: .long   0466; X64-NEXT: .long   4100467; X64-NEXT: .secrel32 f468; X64-NEXT: .secidx f469; X64-NEXT: .byte   128470; X64-NEXT: .asciz "f"471; X64-NEXT: .p2align 2472; X64-NEXT: [[PROC_SEGMENT_END]]:473; X64-NEXT: .short  [[FPROC_END:[^ ]*]]-[[FPROC_BEG:[^ ]*]]           # Record length474; X64-NEXT: [[FPROC_BEG]]:475; X64-NEXT: .short  4114                    # Record kind: S_FRAMEPROC476; X64-NEXT: .long   40                       # FrameSize477; X64-NEXT: .long   0                       # Padding478; X64-NEXT: .long   0                       # Offset of padding479; X64-NEXT: .long   0                       # Bytes of callee saved registers480; X64-NEXT: .long   0                       # Exception handler offset481; X64-NEXT: .short  0                       # Exception handler section482; X64-NEXT: .long   90112                   # Flags (defines frame register)483; X64-NEXT: .p2align 2484; X64-NEXT: [[FPROC_END]]:485; X64-NEXT: .short  2486; X64-NEXT: .short  4431487; X64-NEXT: [[COMPILE_END]]:488; X64-NEXT: .p2align 2489; Line table subsection for f490; X64: .cv_linetable 2, f, [[END_OF_F]]491; File index to string table offset subsection492; X64: .cv_filechecksums493; String table494; X64: .cv_stringtable495 496; OBJ64:    Section {497; OBJ64:      Name: .debug$S (2E 64 65 62 75 67 24 53)498; OBJ64:      Characteristics [ (0x42300040)499; OBJ64:      ]500; OBJ64:      Relocations [501; OBJ64-NEXT:   0x70 IMAGE_REL_AMD64_SECREL x502; OBJ64-NEXT:   0x74 IMAGE_REL_AMD64_SECTION x503; OBJ64-NEXT:   0xA8 IMAGE_REL_AMD64_SECREL x504; OBJ64-NEXT:   0xAC IMAGE_REL_AMD64_SECTION x505; OBJ64-NEXT:   0x10C IMAGE_REL_AMD64_SECREL y506; OBJ64-NEXT:   0x110 IMAGE_REL_AMD64_SECTION y507; OBJ64-NEXT:   0x144 IMAGE_REL_AMD64_SECREL y508; OBJ64-NEXT:   0x148 IMAGE_REL_AMD64_SECTION y509; OBJ64-NEXT:   0x1A8 IMAGE_REL_AMD64_SECREL f510; OBJ64-NEXT:   0x1AC IMAGE_REL_AMD64_SECTION f511; OBJ64-NEXT:   0x1E0 IMAGE_REL_AMD64_SECREL f512; OBJ64-NEXT:   0x1E4 IMAGE_REL_AMD64_SECTION f513; OBJ64-NEXT: ]514; OBJ64:      Subsection [515; OBJ64-NEXT:   SubSectionType: Symbols (0xF1)516; OBJ64:        {{.*}}Proc{{.*}}Sym {517; OBJ64:          Kind: S_LPROC32_ID (0x1146)518; OBJ64:          CodeSize: 0xE519; OBJ64:          DisplayName: x520; OBJ64:          LinkageName: x521; OBJ64:        }522; OBJ64:        ProcEnd {523; OBJ64:        }524; OBJ64-NEXT: ]525; OBJ64:      Subsection [526; OBJ64-NEXT:   SubSectionType: Lines (0xF2)527; OBJ64:      ]528; OBJ64:      Subsection [529; OBJ64-NEXT:   SubSectionType: Symbols (0xF1)530; OBJ64:        {{.*}}Proc{{.*}}Sym {531; OBJ64:          Kind: S_GPROC32_ID (0x1147)532; OBJ64:          CodeSize: 0xE533; OBJ64:          DisplayName: y534; OBJ64:          LinkageName: y535; OBJ64:        }536; OBJ64:        ProcEnd {537; OBJ64:        }538; OBJ64-NEXT: ]539; OBJ64:      Subsection [540; OBJ64-NEXT:   SubSectionType: Lines (0xF2)541; OBJ64:      ]542; OBJ64:      Subsection [543; OBJ64-NEXT:   SubSectionType: Symbols (0xF1)544; OBJ64:        {{.*}}Proc{{.*}}Sym {545; OBJ64:          Kind: S_GPROC32_ID (0x1147)546; OBJ64:          CodeSize: 0x18547; OBJ64:          DisplayName: f548; OBJ64:          LinkageName: f549; OBJ64:        }550; OBJ64:        ProcEnd {551; OBJ64:        }552; OBJ64-NEXT: ]553; OBJ64:      Subsection [554; OBJ64-NEXT:   SubSectionType: Lines (0xF2)555; OBJ64:      ]556; OBJ64:      FunctionLineTable [557; OBJ64-NEXT:   LinkageName: x558; OBJ64-NEXT:   Flags: 0x1559; OBJ64-NEXT:   CodeSize: 0xE560; OBJ64-NEXT:   FilenameSegment [561; OBJ64-NEXT:     Filename: D:\source.c562; OBJ64-NEXT:     +0x0 [563; OBJ64-NEXT:       LineNumberStart: 3564; OBJ64-NEXT:       LineNumberEndDelta: 0565; OBJ64-NEXT:       IsStatement: No566; OBJ64-NEXT:       ColStart: 0567; OBJ64-NEXT:       ColEnd: 0568; OBJ64-NEXT:     ]569; OBJ64-NEXT:     +0x4 [570; OBJ64-NEXT:       LineNumberStart: 4571; OBJ64-NEXT:       LineNumberEndDelta: 0572; OBJ64-NEXT:       IsStatement: No573; OBJ64-NEXT:       ColStart: 42574; OBJ64-NEXT:       ColEnd: 0575; OBJ64-NEXT:     ]576; OBJ64-NEXT:     +0x9 [577; OBJ64-NEXT:       LineNumberStart: 5578; OBJ64-NEXT:       LineNumberEndDelta: 0579; OBJ64-NEXT:       IsStatement: No580; OBJ64-NEXT:       ColStart: 43581; OBJ64-NEXT:       ColEnd: 0582; OBJ64-NEXT:     ]583; OBJ64-NEXT:   ]584; OBJ64-NEXT: ]585; OBJ64-NEXT: FunctionLineTable [586; OBJ64-NEXT:   LinkageName: y587; OBJ64-NEXT:   Flags: 0x1588; OBJ64-NEXT:   CodeSize: 0xE589; OBJ64-NEXT:   FilenameSegment [590; OBJ64-NEXT:     Filename: D:\source.c591; OBJ64-NEXT:     +0x0 [592; OBJ64-NEXT:       LineNumberStart: 7593; OBJ64-NEXT:       LineNumberEndDelta: 0594; OBJ64-NEXT:       IsStatement: No595; OBJ64-NEXT:       ColStart: 0596; OBJ64-NEXT:       ColEnd: 0597; OBJ64-NEXT:     ]598; OBJ64-NEXT:     +0x4 [599; OBJ64-NEXT:       LineNumberStart: 8600; OBJ64-NEXT:       LineNumberEndDelta: 0601; OBJ64-NEXT:       IsStatement: No602; OBJ64-NEXT:       ColStart: 52603; OBJ64-NEXT:       ColEnd: 0604; OBJ64-NEXT:     ]605; OBJ64-NEXT:     +0x9 [606; OBJ64-NEXT:       LineNumberStart: 9607; OBJ64-NEXT:       LineNumberEndDelta: 0608; OBJ64-NEXT:       IsStatement: No609; OBJ64-NEXT:       ColStart: 53610; OBJ64-NEXT:       ColEnd: 0611; OBJ64-NEXT:     ]612; OBJ64-NEXT:   ]613; OBJ64-NEXT: ]614; OBJ64-NEXT: FunctionLineTable [615; OBJ64-NEXT:   LinkageName: f616; OBJ64-NEXT:   Flags: 0x1617; OBJ64-NEXT:   CodeSize: 0x18618; OBJ64-NEXT:   FilenameSegment [619; OBJ64-NEXT:     Filename: D:\source.c620; OBJ64-NEXT:     +0x0 [621; OBJ64-NEXT:       LineNumberStart: 11622; OBJ64-NEXT:       LineNumberEndDelta: 0623; OBJ64-NEXT:       IsStatement: No624; OBJ64-NEXT:       ColStart: 0625; OBJ64-NEXT:       ColEnd: 0626; OBJ64-NEXT:     ]627; OBJ64-NEXT:     +0x4 [628; OBJ64-NEXT:       LineNumberStart: 12629; OBJ64-NEXT:       LineNumberEndDelta: 0630; OBJ64-NEXT:       IsStatement: No631; OBJ64-NEXT:       ColStart: 62632; OBJ64-NEXT:       ColEnd: 0633; OBJ64-NEXT:     ]634; OBJ64-NEXT:     +0x9 [635; OBJ64-NEXT:       LineNumberStart: 13636; OBJ64-NEXT:       LineNumberEndDelta: 0637; OBJ64-NEXT:       IsStatement: No638; OBJ64-NEXT:       ColStart: 63639; OBJ64-NEXT:       ColEnd: 0640; OBJ64-NEXT:     ]641; OBJ64-NEXT:     +0xE [642; OBJ64-NEXT:       LineNumberStart: 14643; OBJ64-NEXT:       LineNumberEndDelta: 0644; OBJ64-NEXT:       IsStatement: No645; OBJ64-NEXT:       ColStart: 72646; OBJ64-NEXT:       ColEnd: 0647; OBJ64-NEXT:     ]648; OBJ64-NEXT:     +0x13 [649; OBJ64-NEXT:       LineNumberStart: 15650; OBJ64-NEXT:       LineNumberEndDelta: 0651; OBJ64-NEXT:       IsStatement: No652; OBJ64-NEXT:       ColStart: 73653; OBJ64-NEXT:       ColEnd: 0654; OBJ64-NEXT:     ]655; OBJ64-NEXT:   ]656; OBJ64-NEXT: ]657 658; Function Attrs: nounwind659define internal void @x() #0 !dbg !4 {660entry:661  call void @z(), !dbg !14662  ret void, !dbg !15663}664 665declare void @z() #1666 667; Function Attrs: nounwind668define void @y() #0 !dbg !9 {669entry:670  call void @z(), !dbg !16671  ret void, !dbg !17672}673 674; Function Attrs: nounwind675define void @f() #0 !dbg !10 {676entry:677  call void @x(), !dbg !18678  call void @y(), !dbg !19679  call void @z(), !dbg !20680  ret void, !dbg !21681}682 683attributes #0 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "use-soft-float"="false" }684attributes #1 = { "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "use-soft-float"="false" }685 686!llvm.dbg.cu = !{!0}687!llvm.module.flags = !{!11, !12}688!llvm.ident = !{!13}689 690!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.5 ", isOptimized: false, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !2, imports: !2)691!1 = !DIFile(filename: "<unknown>", directory: "D:\5C")692!2 = !{}693!4 = distinct !DISubprogram(name: "x", line: 3, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 3, file: !5, scope: !6, type: !7, retainedNodes: !2)694!5 = !DIFile(filename: "source.c", directory: "D:\5C")695!6 = !DIFile(filename: "source.c", directory: "D:C")696!7 = !DISubroutineType(types: !8)697!8 = !{null}698!9 = distinct !DISubprogram(name: "y", line: 7, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 7, file: !5, scope: !6, type: !7, retainedNodes: !2)699!10 = distinct !DISubprogram(name: "f", line: 11, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 11, file: !5, scope: !6, type: !7, retainedNodes: !2)700!11 = !{i32 2, !"CodeView", i32 1}701!12 = !{i32 1, !"Debug Info Version", i32 3}702!13 = !{!"clang version 3.5 "}703!14 = !DILocation(line: 4, column: 42, scope: !4)704!15 = !DILocation(line: 5, column: 43, scope: !4)705!16 = !DILocation(line: 8, column: 52, scope: !9)706!17 = !DILocation(line: 9, column: 53, scope: !9)707!18 = !DILocation(line: 12, column: 62, scope: !10)708!19 = !DILocation(line: 13, column: 63, scope: !10)709!20 = !DILocation(line: 14, column: 72, scope: !10)710!21 = !DILocation(line: 15, column: 73, scope: !10)711