brintos

brintos / llvm-project-archived public Read only

0
0
Text · 23.4 KiB · 8e99e1f Raw
674 lines · plain
1; RUN: llc < %s | FileCheck %s --check-prefix=ASM2; RUN: llc -filetype=obj < %s | llvm-readobj --codeview - | FileCheck %s --check-prefix=OBJ3 4; C source:5; int getval(void);6; void usevals(int, ...);7; int csr1() {8;   int a = getval();9;   usevals(a);10;   usevals(a);11;   return a;12; }13; int csr2() {14;   int a = getval();15;   int b = getval();16;   usevals(a, b);17;   usevals(a, b);18;   return a;19; }20; int csr3() {21;   int a = getval();22;   int b = getval();23;   int c = getval();24;   usevals(a, b, c);25;   usevals(a, b, c);26;   return a;27; }28; int csr4() {29;   int a = getval();30;   int b = getval();31;   int c = getval();32;   int d = getval();33;   usevals(a, b, c, d);34;   usevals(a, b, c, d);35;   return a;36; }37; int spill() {38;   int a = getval();39;   int b = getval();40;   int c = getval();41;   int d = getval();42;   int e = getval();43;   usevals(a, b, c, d, e);44;   usevals(a, b, c, d, e);45;   return a;46; }47 48; ModuleID = 't.c'49source_filename = "t.c"50target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"51target triple = "i386-pc-windows-msvc19.11.25508"52 53; Function Attrs: nounwind54define i32 @csr1() local_unnamed_addr #0 !dbg !8 {55entry:56  %call = tail call i32 @getval() #3, !dbg !1457  tail call void @llvm.dbg.value(metadata i32 %call, metadata !13, metadata !DIExpression()), !dbg !1558  tail call void (i32, ...) @usevals(i32 %call) #3, !dbg !1659  tail call void (i32, ...) @usevals(i32 %call) #3, !dbg !1760  ret i32 %call, !dbg !1861}62 63; ASM-LABEL: _csr1:                                  # @csr164; ASM:         .cv_fpo_proc    _csr165; ASM:         pushl   %esi66; ASM:         .cv_fpo_pushreg %esi67; ASM:         .cv_fpo_endprologue68; ASM:         #DEBUG_VALUE: csr1:a <- $esi69; ASM:         retl70; ASM:         .cv_fpo_endproc71 72; OBJ-LABEL: SubSectionType: FrameData (0xF5)73; OBJ-NEXT: SubSectionSize:74; OBJ-NEXT: LinkageName: _csr175; OBJ-NEXT: FrameData {76; OBJ-NEXT:   RvaStart: 0x077; OBJ-NEXT:   CodeSize: 0x1E78; OBJ-NEXT:   LocalSize: 0x079; OBJ-NEXT:   ParamsSize: 0x080; OBJ-NEXT:   MaxStackSize: 0x081; OBJ-NEXT:   PrologSize: 0x182; OBJ-NEXT:   SavedRegsSize: 0x083; OBJ-NEXT:   Flags [ (0x4)84; OBJ-NEXT:     IsFunctionStart (0x4)85; OBJ-NEXT:   ]86; OBJ-NEXT:   FrameFunc [87; OBJ-NEXT:     $T0 .raSearch =88; OBJ-NEXT:     $eip $T0 ^ =89; OBJ-NEXT:     $esp $T0 4 + =90; OBJ-NEXT:   ]91; OBJ-NEXT: }92; OBJ-NEXT: FrameData {93; OBJ-NEXT:   RvaStart: 0x194; OBJ-NEXT:   CodeSize: 0x1D95; OBJ-NEXT:   LocalSize: 0x096; OBJ-NEXT:   ParamsSize: 0x097; OBJ-NEXT:   MaxStackSize: 0x098; OBJ-NEXT:   PrologSize: 0x099; OBJ-NEXT:   SavedRegsSize: 0x4100; OBJ-NEXT:   Flags [ (0x0)101; OBJ-NEXT:   ]102; OBJ-NEXT:   FrameFunc [103; OBJ-NEXT:     $T0 .raSearch =104; OBJ-NEXT:     $eip $T0 ^ =105; OBJ-NEXT:     $esp $T0 4 + =106; OBJ-NEXT:     $esi $T0 4 - ^ =107; OBJ-NEXT:   ]108; OBJ-NEXT: }109; OBJ-NOT: FrameData110 111declare i32 @getval() local_unnamed_addr #1112 113declare void @usevals(i32, ...) local_unnamed_addr #1114 115; Function Attrs: nounwind116define i32 @csr2() local_unnamed_addr #0 !dbg !19 {117entry:118  %call = tail call i32 @getval() #3, !dbg !23119  tail call void @llvm.dbg.value(metadata i32 %call, metadata !21, metadata !DIExpression()), !dbg !24120  %call1 = tail call i32 @getval() #3, !dbg !25121  tail call void @llvm.dbg.value(metadata i32 %call1, metadata !22, metadata !DIExpression()), !dbg !26122  tail call void (i32, ...) @usevals(i32 %call, i32 %call1) #3, !dbg !27123  tail call void (i32, ...) @usevals(i32 %call, i32 %call1) #3, !dbg !28124  ret i32 %call, !dbg !29125}126 127; ASM-LABEL: _csr2:                                  # @csr2128; ASM:         .cv_fpo_proc    _csr2129; ASM:         pushl   %edi130; ASM:         .cv_fpo_pushreg %edi131; ASM:         pushl   %esi132; ASM:         .cv_fpo_pushreg %esi133; ASM:         .cv_fpo_endprologue134; ASM:         #DEBUG_VALUE: csr2:a <- $esi135; ASM:         #DEBUG_VALUE: csr2:b <- $edi136; ASM:         retl137; ASM:         .cv_fpo_endproc138 139; OBJ-LABEL: SubSectionType: FrameData (0xF5)140; OBJ-NEXT: SubSectionSize:141; OBJ-NEXT: LinkageName: _csr2142; OBJ-NEXT: FrameData {143; OBJ-NEXT:   RvaStart: 0x0144; OBJ-NEXT:   CodeSize: 0x29145; OBJ-NEXT:   LocalSize: 0x0146; OBJ-NEXT:   ParamsSize: 0x0147; OBJ-NEXT:   MaxStackSize: 0x0148; OBJ-NEXT:   PrologSize: 0x2149; OBJ-NEXT:   SavedRegsSize: 0x0150; OBJ-NEXT:   Flags [ (0x4)151; OBJ-NEXT:     IsFunctionStart (0x4)152; OBJ-NEXT:   ]153; OBJ-NEXT:   FrameFunc [154; OBJ-NEXT:     $T0 .raSearch =155; OBJ-NEXT:     $eip $T0 ^ =156; OBJ-NEXT:     $esp $T0 4 + =157; OBJ-NEXT:   ]158; OBJ-NEXT: }159; OBJ-NEXT: FrameData {160; OBJ-NEXT:   RvaStart: 0x1161; OBJ-NEXT:   CodeSize: 0x28162; OBJ-NEXT:   LocalSize: 0x0163; OBJ-NEXT:   ParamsSize: 0x0164; OBJ-NEXT:   MaxStackSize: 0x0165; OBJ-NEXT:   PrologSize: 0x1166; OBJ-NEXT:   SavedRegsSize: 0x4167; OBJ-NEXT:   Flags [ (0x0)168; OBJ-NEXT:   ]169; OBJ-NEXT:   FrameFunc [170; OBJ-NEXT:     $T0 .raSearch =171; OBJ-NEXT:     $eip $T0 ^ =172; OBJ-NEXT:     $esp $T0 4 + =173; OBJ-NEXT:     $edi $T0 4 - ^ =174; OBJ-NEXT:   ]175; OBJ-NEXT: }176; OBJ-NEXT: FrameData {177; OBJ-NEXT:   RvaStart: 0x2178; OBJ-NEXT:   CodeSize: 0x27179; OBJ-NEXT:   LocalSize: 0x0180; OBJ-NEXT:   ParamsSize: 0x0181; OBJ-NEXT:   MaxStackSize: 0x0182; OBJ-NEXT:   PrologSize: 0x0183; OBJ-NEXT:   SavedRegsSize: 0x8184; OBJ-NEXT:   Flags [ (0x0)185; OBJ-NEXT:   ]186; OBJ-NEXT:   FrameFunc [187; OBJ-NEXT:     $T0 .raSearch =188; OBJ-NEXT:     $eip $T0 ^ =189; OBJ-NEXT:     $esp $T0 4 + =190; OBJ-NEXT:     $edi $T0 4 - ^ =191; OBJ-NEXT:     $esi $T0 8 - ^ =192; OBJ-NEXT:   ]193; OBJ-NEXT: }194; OBJ-NOT: FrameData195 196; Function Attrs: nounwind197define i32 @csr3() local_unnamed_addr #0 !dbg !30 {198entry:199  %call = tail call i32 @getval() #3, !dbg !35200  tail call void @llvm.dbg.value(metadata i32 %call, metadata !32, metadata !DIExpression()), !dbg !36201  %call1 = tail call i32 @getval() #3, !dbg !37202  tail call void @llvm.dbg.value(metadata i32 %call1, metadata !33, metadata !DIExpression()), !dbg !38203  %call2 = tail call i32 @getval() #3, !dbg !39204  tail call void @llvm.dbg.value(metadata i32 %call2, metadata !34, metadata !DIExpression()), !dbg !40205  tail call void (i32, ...) @usevals(i32 %call, i32 %call1, i32 %call2) #3, !dbg !41206  tail call void (i32, ...) @usevals(i32 %call, i32 %call1, i32 %call2) #3, !dbg !42207  ret i32 %call, !dbg !43208}209 210; ASM-LABEL: _csr3:                                  # @csr3211; ASM:         .cv_fpo_proc    _csr3212; ASM:         pushl   %ebx213; ASM:         .cv_fpo_pushreg %ebx214; ASM:         pushl   %edi215; ASM:         .cv_fpo_pushreg %edi216; ASM:         pushl   %esi217; ASM:         .cv_fpo_pushreg %esi218; ASM:         .cv_fpo_endprologue219; ASM:         #DEBUG_VALUE: csr3:a <- $esi220; ASM:         #DEBUG_VALUE: csr3:b <- $edi221; ASM:         #DEBUG_VALUE: csr3:c <- $ebx222; ASM:         retl223; ASM:         .cv_fpo_endproc224 225; OBJ-LABEL: SubSectionType: FrameData (0xF5)226; OBJ-NEXT: SubSectionSize:227; OBJ-NEXT: LinkageName: _csr3228; OBJ-NEXT: FrameData {229; OBJ-NEXT:   RvaStart: 0x0230; OBJ-NEXT:   CodeSize: 0x34231; OBJ-NEXT:   LocalSize: 0x0232; OBJ-NEXT:   ParamsSize: 0x0233; OBJ-NEXT:   MaxStackSize: 0x0234; OBJ-NEXT:   PrologSize: 0x3235; OBJ-NEXT:   SavedRegsSize: 0x0236; OBJ-NEXT:   Flags [ (0x4)237; OBJ-NEXT:     IsFunctionStart (0x4)238; OBJ-NEXT:   ]239; OBJ-NEXT:   FrameFunc [240; OBJ-NEXT:     $T0 .raSearch =241; OBJ-NEXT:     $eip $T0 ^ =242; OBJ-NEXT:     $esp $T0 4 + =243; OBJ-NEXT:   ]244; OBJ-NEXT: }245; OBJ-NEXT: FrameData {246; OBJ-NEXT:   RvaStart: 0x1247; OBJ-NEXT:   CodeSize: 0x33248; OBJ-NEXT:   LocalSize: 0x0249; OBJ-NEXT:   ParamsSize: 0x0250; OBJ-NEXT:   MaxStackSize: 0x0251; OBJ-NEXT:   PrologSize: 0x2252; OBJ-NEXT:   SavedRegsSize: 0x4253; OBJ-NEXT:   Flags [ (0x0)254; OBJ-NEXT:   ]255; OBJ-NEXT:   FrameFunc [256; OBJ-NEXT:     $T0 .raSearch =257; OBJ-NEXT:     $eip $T0 ^ =258; OBJ-NEXT:     $esp $T0 4 + =259; OBJ-NEXT:     $ebx $T0 4 - ^ =260; OBJ-NEXT:   ]261; OBJ-NEXT: }262; OBJ-NEXT: FrameData {263; OBJ-NEXT:   RvaStart: 0x2264; OBJ-NEXT:   CodeSize: 0x32265; OBJ-NEXT:   LocalSize: 0x0266; OBJ-NEXT:   ParamsSize: 0x0267; OBJ-NEXT:   MaxStackSize: 0x0268; OBJ-NEXT:   PrologSize: 0x1269; OBJ-NEXT:   SavedRegsSize: 0x8270; OBJ-NEXT:   Flags [ (0x0)271; OBJ-NEXT:   ]272; OBJ-NEXT:   FrameFunc [273; OBJ-NEXT:     $T0 .raSearch =274; OBJ-NEXT:     $eip $T0 ^ =275; OBJ-NEXT:     $esp $T0 4 + =276; OBJ-NEXT:     $ebx $T0 4 - ^ =277; OBJ-NEXT:     $edi $T0 8 - ^ =278; OBJ-NEXT:   ]279; OBJ-NEXT: }280; OBJ-NEXT: FrameData {281; OBJ-NEXT:   RvaStart: 0x3282; OBJ-NEXT:   CodeSize: 0x31283; OBJ-NEXT:   LocalSize: 0x0284; OBJ-NEXT:   ParamsSize: 0x0285; OBJ-NEXT:   MaxStackSize: 0x0286; OBJ-NEXT:   PrologSize: 0x0287; OBJ-NEXT:   SavedRegsSize: 0xC288; OBJ-NEXT:   Flags [ (0x0)289; OBJ-NEXT:   ]290; OBJ-NEXT:   FrameFunc [291; OBJ-NEXT:     $T0 .raSearch =292; OBJ-NEXT:     $eip $T0 ^ =293; OBJ-NEXT:     $esp $T0 4 + =294; OBJ-NEXT:     $ebx $T0 4 - ^ =295; OBJ-NEXT:     $edi $T0 8 - ^ =296; OBJ-NEXT:     $esi $T0 12 - ^ =297; OBJ-NEXT:   ]298; OBJ-NEXT: }299; OBJ-NOT: FrameData300 301; Function Attrs: nounwind302define i32 @csr4() local_unnamed_addr #0 !dbg !44 {303entry:304  %call = tail call i32 @getval() #3, !dbg !50305  tail call void @llvm.dbg.value(metadata i32 %call, metadata !46, metadata !DIExpression()), !dbg !51306  %call1 = tail call i32 @getval() #3, !dbg !52307  tail call void @llvm.dbg.value(metadata i32 %call1, metadata !47, metadata !DIExpression()), !dbg !53308  %call2 = tail call i32 @getval() #3, !dbg !54309  tail call void @llvm.dbg.value(metadata i32 %call2, metadata !48, metadata !DIExpression()), !dbg !55310  %call3 = tail call i32 @getval() #3, !dbg !56311  tail call void @llvm.dbg.value(metadata i32 %call3, metadata !49, metadata !DIExpression()), !dbg !57312  tail call void (i32, ...) @usevals(i32 %call, i32 %call1, i32 %call2, i32 %call3) #3, !dbg !58313  tail call void (i32, ...) @usevals(i32 %call, i32 %call1, i32 %call2, i32 %call3) #3, !dbg !59314  ret i32 %call, !dbg !60315}316 317; ASM-LABEL: _csr4:                                  # @csr4318; ASM:         .cv_fpo_proc    _csr4319; ASM:         pushl   %ebp320; ASM:         .cv_fpo_pushreg %ebp321; ASM:         pushl   %ebx322; ASM:         .cv_fpo_pushreg %ebx323; ASM:         pushl   %edi324; ASM:         .cv_fpo_pushreg %edi325; ASM:         pushl   %esi326; ASM:         .cv_fpo_pushreg %esi327; ASM:         .cv_fpo_endprologue328; ASM:         #DEBUG_VALUE: csr4:a <- $esi329; ASM:         #DEBUG_VALUE: csr4:b <- $edi330; ASM:         #DEBUG_VALUE: csr4:c <- $ebx331; ASM:         #DEBUG_VALUE: csr4:d <- $ebp332; ASM:         retl333; ASM:         .cv_fpo_endproc334 335; OBJ-LABEL: SubSectionType: FrameData (0xF5)336; OBJ-NEXT: SubSectionSize:337; OBJ-NEXT: LinkageName: _csr4338; OBJ-NEXT: FrameData {339; OBJ-NEXT:   RvaStart: 0x0340; OBJ-NEXT:   CodeSize: 0x3F341; OBJ-NEXT:   LocalSize: 0x0342; OBJ-NEXT:   ParamsSize: 0x0343; OBJ-NEXT:   MaxStackSize: 0x0344; OBJ-NEXT:   PrologSize: 0x4345; OBJ-NEXT:   SavedRegsSize: 0x0346; OBJ-NEXT:   Flags [ (0x4)347; OBJ-NEXT:     IsFunctionStart (0x4)348; OBJ-NEXT:   ]349; OBJ-NEXT:   FrameFunc [350; OBJ-NEXT:     $T0 .raSearch =351; OBJ-NEXT:     $eip $T0 ^ =352; OBJ-NEXT:     $esp $T0 4 + =353; OBJ-NEXT:   ]354; OBJ-NEXT: }355; OBJ-NEXT: FrameData {356; OBJ-NEXT:   RvaStart: 0x1357; OBJ-NEXT:   CodeSize: 0x3E358; OBJ-NEXT:   LocalSize: 0x0359; OBJ-NEXT:   ParamsSize: 0x0360; OBJ-NEXT:   MaxStackSize: 0x0361; OBJ-NEXT:   PrologSize: 0x3362; OBJ-NEXT:   SavedRegsSize: 0x4363; OBJ-NEXT:   Flags [ (0x0)364; OBJ-NEXT:   ]365; OBJ-NEXT:   FrameFunc [366; OBJ-NEXT:     $T0 .raSearch =367; OBJ-NEXT:     $eip $T0 ^ =368; OBJ-NEXT:     $esp $T0 4 + =369; OBJ-NEXT:     $ebp $T0 4 - ^ =370; OBJ-NEXT:   ]371; OBJ-NEXT: }372; OBJ-NEXT: FrameData {373; OBJ-NEXT:   RvaStart: 0x2374; OBJ-NEXT:   CodeSize: 0x3D375; OBJ-NEXT:   LocalSize: 0x0376; OBJ-NEXT:   ParamsSize: 0x0377; OBJ-NEXT:   MaxStackSize: 0x0378; OBJ-NEXT:   PrologSize: 0x2379; OBJ-NEXT:   SavedRegsSize: 0x8380; OBJ-NEXT:   Flags [ (0x0)381; OBJ-NEXT:   ]382; OBJ-NEXT:   FrameFunc [383; OBJ-NEXT:     $T0 .raSearch =384; OBJ-NEXT:     $eip $T0 ^ =385; OBJ-NEXT:     $esp $T0 4 + =386; OBJ-NEXT:     $ebp $T0 4 - ^ =387; OBJ-NEXT:     $ebx $T0 8 - ^ =388; OBJ-NEXT:   ]389; OBJ-NEXT: }390; OBJ-NEXT: FrameData {391; OBJ-NEXT:   RvaStart: 0x3392; OBJ-NEXT:   CodeSize: 0x3C393; OBJ-NEXT:   LocalSize: 0x0394; OBJ-NEXT:   ParamsSize: 0x0395; OBJ-NEXT:   MaxStackSize: 0x0396; OBJ-NEXT:   PrologSize: 0x1397; OBJ-NEXT:   SavedRegsSize: 0xC398; OBJ-NEXT:   Flags [ (0x0)399; OBJ-NEXT:   ]400; OBJ-NEXT:   FrameFunc [401; OBJ-NEXT:     $T0 .raSearch =402; OBJ-NEXT:     $eip $T0 ^ =403; OBJ-NEXT:     $esp $T0 4 + =404; OBJ-NEXT:     $ebp $T0 4 - ^ =405; OBJ-NEXT:     $ebx $T0 8 - ^ =406; OBJ-NEXT:     $edi $T0 12 - ^ =407; OBJ-NEXT:   ]408; OBJ-NEXT: }409; OBJ-NEXT: FrameData {410; OBJ-NEXT:   RvaStart: 0x4411; OBJ-NEXT:   CodeSize: 0x3B412; OBJ-NEXT:   LocalSize: 0x0413; OBJ-NEXT:   ParamsSize: 0x0414; OBJ-NEXT:   MaxStackSize: 0x0415; OBJ-NEXT:   PrologSize: 0x0416; OBJ-NEXT:   SavedRegsSize: 0x10417; OBJ-NEXT:   Flags [ (0x0)418; OBJ-NEXT:   ]419; OBJ-NEXT:   FrameFunc [420; OBJ-NEXT:     $T0 .raSearch =421; OBJ-NEXT:     $eip $T0 ^ =422; OBJ-NEXT:     $esp $T0 4 + =423; OBJ-NEXT:     $ebp $T0 4 - ^ =424; OBJ-NEXT:     $ebx $T0 8 - ^ =425; OBJ-NEXT:     $edi $T0 12 - ^ =426; OBJ-NEXT:     $esi $T0 16 - ^ =427; OBJ-NEXT:   ]428; OBJ-NEXT: }429; OBJ-NOT: FrameData430 431; Function Attrs: nounwind432define i32 @spill() local_unnamed_addr #0 !dbg !61 {433entry:434  %call = tail call i32 @getval() #3, !dbg !68435  tail call void @llvm.dbg.value(metadata i32 %call, metadata !63, metadata !DIExpression()), !dbg !69436  %call1 = tail call i32 @getval() #3, !dbg !70437  tail call void @llvm.dbg.value(metadata i32 %call1, metadata !64, metadata !DIExpression()), !dbg !71438  %call2 = tail call i32 @getval() #3, !dbg !72439  tail call void @llvm.dbg.value(metadata i32 %call2, metadata !65, metadata !DIExpression()), !dbg !73440  %call3 = tail call i32 @getval() #3, !dbg !74441  tail call void @llvm.dbg.value(metadata i32 %call3, metadata !66, metadata !DIExpression()), !dbg !75442  %call4 = tail call i32 @getval() #3, !dbg !76443  tail call void @llvm.dbg.value(metadata i32 %call4, metadata !67, metadata !DIExpression()), !dbg !77444  tail call void (i32, ...) @usevals(i32 %call, i32 %call1, i32 %call2, i32 %call3, i32 %call4) #3, !dbg !78445  tail call void (i32, ...) @usevals(i32 %call, i32 %call1, i32 %call2, i32 %call3, i32 %call4) #3, !dbg !79446  ret i32 %call, !dbg !80447}448 449; ASM-LABEL: _spill:                                  # @spill450; ASM:         .cv_fpo_proc    _spill451; ASM:         pushl   %ebp452; ASM:         .cv_fpo_pushreg %ebp453; ASM:         pushl   %ebx454; ASM:         .cv_fpo_pushreg %ebx455; ASM:         pushl   %edi456; ASM:         .cv_fpo_pushreg %edi457; ASM:         pushl   %esi458; ASM:         .cv_fpo_pushreg %esi459; ASM:         subl    $8, %esp460; ASM:         .cv_fpo_stackalloc 8461; ASM:         .cv_fpo_endprologue462; ASM:         retl463; ASM:         .cv_fpo_endproc464 465; OBJ-LABEL: SubSectionType: FrameData (0xF5)466; OBJ-NEXT: SubSectionSize:467; OBJ-NEXT: LinkageName: _spill468; OBJ-NEXT: FrameData {469; OBJ-NEXT:   RvaStart: 0x0470; OBJ-NEXT:   CodeSize: 0x5A471; OBJ-NEXT:   LocalSize: 0x0472; OBJ-NEXT:   ParamsSize: 0x0473; OBJ-NEXT:   MaxStackSize: 0x0474; OBJ-NEXT:   PrologSize: 0x7475; OBJ-NEXT:   SavedRegsSize: 0x0476; OBJ-NEXT:   Flags [ (0x4)477; OBJ-NEXT:     IsFunctionStart (0x4)478; OBJ-NEXT:   ]479; OBJ-NEXT:   FrameFunc [480; OBJ-NEXT:     $T0 .raSearch =481; OBJ-NEXT:     $eip $T0 ^ =482; OBJ-NEXT:     $esp $T0 4 + =483; OBJ-NEXT:   ]484; OBJ-NEXT: }485; OBJ-NEXT: FrameData {486; OBJ-NEXT:   RvaStart: 0x1487; OBJ-NEXT:   CodeSize: 0x59488; OBJ-NEXT:   LocalSize: 0x0489; OBJ-NEXT:   ParamsSize: 0x0490; OBJ-NEXT:   MaxStackSize: 0x0491; OBJ-NEXT:   PrologSize: 0x6492; OBJ-NEXT:   SavedRegsSize: 0x4493; OBJ-NEXT:   Flags [ (0x0)494; OBJ-NEXT:   ]495; OBJ-NEXT:   FrameFunc [496; OBJ-NEXT:     $T0 .raSearch =497; OBJ-NEXT:     $eip $T0 ^ =498; OBJ-NEXT:     $esp $T0 4 + =499; OBJ-NEXT:     $ebp $T0 4 - ^ =500; OBJ-NEXT:   ]501; OBJ-NEXT: }502; OBJ-NEXT: FrameData {503; OBJ-NEXT:   RvaStart: 0x2504; OBJ-NEXT:   CodeSize: 0x58505; OBJ-NEXT:   LocalSize: 0x0506; OBJ-NEXT:   ParamsSize: 0x0507; OBJ-NEXT:   MaxStackSize: 0x0508; OBJ-NEXT:   PrologSize: 0x5509; OBJ-NEXT:   SavedRegsSize: 0x8510; OBJ-NEXT:   Flags [ (0x0)511; OBJ-NEXT:   ]512; OBJ-NEXT:   FrameFunc [513; OBJ-NEXT:     $T0 .raSearch =514; OBJ-NEXT:     $eip $T0 ^ =515; OBJ-NEXT:     $esp $T0 4 + =516; OBJ-NEXT:     $ebp $T0 4 - ^ =517; OBJ-NEXT:     $ebx $T0 8 - ^ =518; OBJ-NEXT:   ]519; OBJ-NEXT: }520; OBJ-NEXT: FrameData {521; OBJ-NEXT:   RvaStart: 0x3522; OBJ-NEXT:   CodeSize: 0x57523; OBJ-NEXT:   LocalSize: 0x0524; OBJ-NEXT:   ParamsSize: 0x0525; OBJ-NEXT:   MaxStackSize: 0x0526; OBJ-NEXT:   PrologSize: 0x4527; OBJ-NEXT:   SavedRegsSize: 0xC528; OBJ-NEXT:   Flags [ (0x0)529; OBJ-NEXT:   ]530; OBJ-NEXT:   FrameFunc [531; OBJ-NEXT:     $T0 .raSearch =532; OBJ-NEXT:     $eip $T0 ^ =533; OBJ-NEXT:     $esp $T0 4 + =534; OBJ-NEXT:     $ebp $T0 4 - ^ =535; OBJ-NEXT:     $ebx $T0 8 - ^ =536; OBJ-NEXT:     $edi $T0 12 - ^ =537; OBJ-NEXT:   ]538; OBJ-NEXT: }539; OBJ-NEXT: FrameData {540; OBJ-NEXT:   RvaStart: 0x4541; OBJ-NEXT:   CodeSize: 0x56542; OBJ-NEXT:   LocalSize: 0x0543; OBJ-NEXT:   ParamsSize: 0x0544; OBJ-NEXT:   MaxStackSize: 0x0545; OBJ-NEXT:   PrologSize: 0x3546; OBJ-NEXT:   SavedRegsSize: 0x10547; OBJ-NEXT:   Flags [ (0x0)548; OBJ-NEXT:   ]549; OBJ-NEXT:   FrameFunc [550; OBJ-NEXT:     $T0 .raSearch =551; OBJ-NEXT:     $eip $T0 ^ =552; OBJ-NEXT:     $esp $T0 4 + =553; OBJ-NEXT:     $ebp $T0 4 - ^ =554; OBJ-NEXT:     $ebx $T0 8 - ^ =555; OBJ-NEXT:     $edi $T0 12 - ^ =556; OBJ-NEXT:     $esi $T0 16 - ^ =557; OBJ-NEXT:   ]558; OBJ-NEXT: }559; OBJ-NEXT: FrameData {560; OBJ-NEXT:   RvaStart: 0x7561; OBJ-NEXT:   CodeSize: 0x53562; OBJ-NEXT:   LocalSize: 0x8563; OBJ-NEXT:   ParamsSize: 0x0564; OBJ-NEXT:   MaxStackSize: 0x0565; OBJ-NEXT:   PrologSize: 0x0566; OBJ-NEXT:   SavedRegsSize: 0x10567; OBJ-NEXT:   Flags [ (0x0)568; OBJ-NEXT:   ]569; OBJ-NEXT:   FrameFunc [570; OBJ-NEXT:     $T0 .raSearch =571; OBJ-NEXT:     $eip $T0 ^ =572; OBJ-NEXT:     $esp $T0 4 + =573; OBJ-NEXT:     $ebp $T0 4 - ^ =574; OBJ-NEXT:     $ebx $T0 8 - ^ =575; OBJ-NEXT:     $edi $T0 12 - ^ =576; OBJ-NEXT:     $esi $T0 16 - ^ =577; OBJ-NEXT:   ]578; OBJ-NEXT: }579; OBJ-NOT: FrameData580 581; Function Attrs: nounwind readnone speculatable582declare void @llvm.dbg.value(metadata, metadata, metadata) #2583 584attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "use-soft-float"="false" }585attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "use-soft-float"="false" }586attributes #2 = { nounwind readnone speculatable }587attributes #3 = { nounwind }588 589!llvm.dbg.cu = !{!0}590!llvm.module.flags = !{!3, !4, !5, !6}591!llvm.ident = !{!7}592 593!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 6.0.0 ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)594!1 = !DIFile(filename: "t.c", directory: "C:\5Csrc\5Cllvm-project\5Cbuild", checksumkind: CSK_MD5, checksum: "0b1c85f8a0bfb41380df1fcaeadde306")595!2 = !{}596!3 = !{i32 1, !"NumRegisterParameters", i32 0}597!4 = !{i32 2, !"CodeView", i32 1}598!5 = !{i32 2, !"Debug Info Version", i32 3}599!6 = !{i32 1, !"wchar_size", i32 2}600!7 = !{!"clang version 6.0.0 "}601!8 = distinct !DISubprogram(name: "csr1", scope: !1, file: !1, line: 3, type: !9, isLocal: false, isDefinition: true, scopeLine: 3, isOptimized: true, unit: !0, retainedNodes: !12)602!9 = !DISubroutineType(types: !10)603!10 = !{!11}604!11 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)605!12 = !{!13}606!13 = !DILocalVariable(name: "a", scope: !8, file: !1, line: 4, type: !11)607!14 = !DILocation(line: 4, column: 11, scope: !8)608!15 = !DILocation(line: 4, column: 7, scope: !8)609!16 = !DILocation(line: 5, column: 3, scope: !8)610!17 = !DILocation(line: 6, column: 3, scope: !8)611!18 = !DILocation(line: 7, column: 3, scope: !8)612!19 = distinct !DISubprogram(name: "csr2", scope: !1, file: !1, line: 9, type: !9, isLocal: false, isDefinition: true, scopeLine: 9, isOptimized: true, unit: !0, retainedNodes: !20)613!20 = !{!21, !22}614!21 = !DILocalVariable(name: "a", scope: !19, file: !1, line: 10, type: !11)615!22 = !DILocalVariable(name: "b", scope: !19, file: !1, line: 11, type: !11)616!23 = !DILocation(line: 10, column: 11, scope: !19)617!24 = !DILocation(line: 10, column: 7, scope: !19)618!25 = !DILocation(line: 11, column: 11, scope: !19)619!26 = !DILocation(line: 11, column: 7, scope: !19)620!27 = !DILocation(line: 12, column: 3, scope: !19)621!28 = !DILocation(line: 13, column: 3, scope: !19)622!29 = !DILocation(line: 14, column: 3, scope: !19)623!30 = distinct !DISubprogram(name: "csr3", scope: !1, file: !1, line: 16, type: !9, isLocal: false, isDefinition: true, scopeLine: 16, isOptimized: true, unit: !0, retainedNodes: !31)624!31 = !{!32, !33, !34}625!32 = !DILocalVariable(name: "a", scope: !30, file: !1, line: 17, type: !11)626!33 = !DILocalVariable(name: "b", scope: !30, file: !1, line: 18, type: !11)627!34 = !DILocalVariable(name: "c", scope: !30, file: !1, line: 19, type: !11)628!35 = !DILocation(line: 17, column: 11, scope: !30)629!36 = !DILocation(line: 17, column: 7, scope: !30)630!37 = !DILocation(line: 18, column: 11, scope: !30)631!38 = !DILocation(line: 18, column: 7, scope: !30)632!39 = !DILocation(line: 19, column: 11, scope: !30)633!40 = !DILocation(line: 19, column: 7, scope: !30)634!41 = !DILocation(line: 20, column: 3, scope: !30)635!42 = !DILocation(line: 21, column: 3, scope: !30)636!43 = !DILocation(line: 22, column: 3, scope: !30)637!44 = distinct !DISubprogram(name: "csr4", scope: !1, file: !1, line: 24, type: !9, isLocal: false, isDefinition: true, scopeLine: 24, isOptimized: true, unit: !0, retainedNodes: !45)638!45 = !{!46, !47, !48, !49}639!46 = !DILocalVariable(name: "a", scope: !44, file: !1, line: 25, type: !11)640!47 = !DILocalVariable(name: "b", scope: !44, file: !1, line: 26, type: !11)641!48 = !DILocalVariable(name: "c", scope: !44, file: !1, line: 27, type: !11)642!49 = !DILocalVariable(name: "d", scope: !44, file: !1, line: 28, type: !11)643!50 = !DILocation(line: 25, column: 11, scope: !44)644!51 = !DILocation(line: 25, column: 7, scope: !44)645!52 = !DILocation(line: 26, column: 11, scope: !44)646!53 = !DILocation(line: 26, column: 7, scope: !44)647!54 = !DILocation(line: 27, column: 11, scope: !44)648!55 = !DILocation(line: 27, column: 7, scope: !44)649!56 = !DILocation(line: 28, column: 11, scope: !44)650!57 = !DILocation(line: 28, column: 7, scope: !44)651!58 = !DILocation(line: 29, column: 3, scope: !44)652!59 = !DILocation(line: 30, column: 3, scope: !44)653!60 = !DILocation(line: 31, column: 3, scope: !44)654!61 = distinct !DISubprogram(name: "spill", scope: !1, file: !1, line: 33, type: !9, isLocal: false, isDefinition: true, scopeLine: 33, isOptimized: true, unit: !0, retainedNodes: !62)655!62 = !{!63, !64, !65, !66, !67}656!63 = !DILocalVariable(name: "a", scope: !61, file: !1, line: 34, type: !11)657!64 = !DILocalVariable(name: "b", scope: !61, file: !1, line: 35, type: !11)658!65 = !DILocalVariable(name: "c", scope: !61, file: !1, line: 36, type: !11)659!66 = !DILocalVariable(name: "d", scope: !61, file: !1, line: 37, type: !11)660!67 = !DILocalVariable(name: "e", scope: !61, file: !1, line: 38, type: !11)661!68 = !DILocation(line: 34, column: 11, scope: !61)662!69 = !DILocation(line: 34, column: 7, scope: !61)663!70 = !DILocation(line: 35, column: 11, scope: !61)664!71 = !DILocation(line: 35, column: 7, scope: !61)665!72 = !DILocation(line: 36, column: 11, scope: !61)666!73 = !DILocation(line: 36, column: 7, scope: !61)667!74 = !DILocation(line: 37, column: 11, scope: !61)668!75 = !DILocation(line: 37, column: 7, scope: !61)669!76 = !DILocation(line: 38, column: 11, scope: !61)670!77 = !DILocation(line: 38, column: 7, scope: !61)671!78 = !DILocation(line: 39, column: 3, scope: !61)672!79 = !DILocation(line: 40, column: 3, scope: !61)673!80 = !DILocation(line: 41, column: 3, scope: !61)674