llvm.org GIT mirror llvm / 5d0334a
Remove the obsolete offset parameter from @llvm.dbg.value There is no situation where this rarely-used argument cannot be substituted with a DIExpression and removing it allows us to simplify the DWARF backend. Note that this patch does not yet remove any of the newly dead code. rdar://problem/33580047 Differential Revision: https://reviews.llvm.org/D35951 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309426 91177308-0d34-0410-b5e6-96231b3b80d8 Adrian Prantl 2 years ago
173 changed file(s) with 715 addition(s) and 682 deletion(s). Raw diff Collapse all Expand all
40174017
40184018 .. code-block:: llvm
40194019
4020 call void @llvm.dbg.value(metadata !24, i64 0, metadata !25)
4020 call void @llvm.dbg.value(metadata !24, metadata !25, metadata !26)
40214021
40224022 Metadata can be attached to an instruction. Here metadata ``!21`` is attached
40234023 to the ``add`` instruction using the ``!dbg`` identifier:
206206
207207 .. code-block:: llvm
208208
209 void @llvm.dbg.value(metadata, i64, metadata, metadata)
209 void @llvm.dbg.value(metadata, metadata, metadata)
210210
211211 This intrinsic provides information when a user source variable is set to a new
212 value. The first argument is the new value (wrapped as metadata). The second
213 argument is the offset in the user source variable where the new value is
214 written. The third argument is a `local variable
215 `_ containing a description of the variable. The
216 fourth argument is a `complex expression `_.
212 value. The first argument is the new value (wrapped as metadata). The third
213 argument is a `local variable `_ containing a
214 description of the variable. The fourth argument is a `complex expression
215 `_.
217216
218217 Object lifetimes and scoping
219218 ============================
728728
729729 /// Insert a new llvm.dbg.value intrinsic call.
730730 /// \param Val llvm::Value of the variable
731 /// \param Offset Offset
732731 /// \param VarInfo Variable's debug info descriptor.
733732 /// \param Expr A complex location expression.
734733 /// \param DL Debug info location.
735734 /// \param InsertAtEnd Location for the new intrinsic.
736 Instruction *insertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset,
735 Instruction *insertDbgValueIntrinsic(llvm::Value *Val,
737736 DILocalVariable *VarInfo,
738737 DIExpression *Expr,
739738 const DILocation *DL,
741740
742741 /// Insert a new llvm.dbg.value intrinsic call.
743742 /// \param Val llvm::Value of the variable
744 /// \param Offset Offset
745743 /// \param VarInfo Variable's debug info descriptor.
746744 /// \param Expr A complex location expression.
747745 /// \param DL Debug info location.
748746 /// \param InsertBefore Location for the new intrinsic.
749 Instruction *insertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset,
747 Instruction *insertDbgValueIntrinsic(llvm::Value *Val,
750748 DILocalVariable *VarInfo,
751749 DIExpression *Expr,
752750 const DILocation *DL,
121121 return getVariableLocation(/* AllowNullOp = */ false);
122122 }
123123
124 uint64_t getOffset() const {
125 return cast(
126 const_cast(getArgOperand(1)))->getZExtValue();
127 }
128
129124 DILocalVariable *getVariable() const {
130125 return cast(getRawVariable());
131126 }
135130 }
136131
137132 Metadata *getRawVariable() const {
133 return cast(getArgOperand(1))->getMetadata();
134 }
135
136 Metadata *getRawExpression() const {
138137 return cast(getArgOperand(2))->getMetadata();
139 }
140
141 Metadata *getRawExpression() const {
142 return cast(getArgOperand(3))->getMetadata();
143138 }
144139
145140 // Methods for support type inquiry through isa, cast, and dyn_cast:
578578 llvm_metadata_ty,
579579 llvm_metadata_ty]>;
580580 def int_dbg_value : Intrinsic<[],
581 [llvm_metadata_ty, llvm_i64_ty,
581 [llvm_metadata_ty,
582582 llvm_metadata_ty,
583583 llvm_metadata_ty]>;
584584 }
681681 if (!V) {
682682 // Currently the optimizer can produce this; insert an undef to
683683 // help debugging. Probably the optimizer should not do this.
684 MIRBuilder.buildIndirectDbgValue(0, DI.getOffset(), DI.getVariable(),
684 MIRBuilder.buildIndirectDbgValue(0, 0, DI.getVariable(),
685685 DI.getExpression());
686686 } else if (const auto *CI = dyn_cast(V)) {
687 MIRBuilder.buildConstDbgValue(*CI, DI.getOffset(), DI.getVariable(),
687 MIRBuilder.buildConstDbgValue(*CI, 0, DI.getVariable(),
688688 DI.getExpression());
689689 } else {
690690 unsigned Reg = getOrCreateVReg(*V);
692692 // direct/indirect thing shouldn't really be handled by something as
693693 // implicit as reg+noreg vs reg+imm in the first palce, but it seems
694694 // pretty baked in right now.
695 if (DI.getOffset() != 0)
696 MIRBuilder.buildIndirectDbgValue(Reg, DI.getOffset(), DI.getVariable(),
697 DI.getExpression());
698 else
699 MIRBuilder.buildDirectDbgValue(Reg, DI.getVariable(),
700 DI.getExpression());
695 MIRBuilder.buildDirectDbgValue(Reg, DI.getVariable(), DI.getExpression());
701696 }
702697 return true;
703698 }
12131213 // help debugging. Probably the optimizer should not do this.
12141214 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
12151215 .addReg(0U)
1216 .addImm(DI->getOffset())
1216 .addImm(0U)
12171217 .addMetadata(DI->getVariable())
12181218 .addMetadata(DI->getExpression());
12191219 } else if (const auto *CI = dyn_cast(V)) {
12201220 if (CI->getBitWidth() > 64)
12211221 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
12221222 .addCImm(CI)
1223 .addImm(DI->getOffset())
1223 .addImm(0U)
12241224 .addMetadata(DI->getVariable())
12251225 .addMetadata(DI->getExpression());
12261226 else
12271227 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
12281228 .addImm(CI->getZExtValue())
1229 .addImm(DI->getOffset())
1229 .addImm(0U)
12301230 .addMetadata(DI->getVariable())
12311231 .addMetadata(DI->getExpression());
12321232 } else if (const auto *CF = dyn_cast(V)) {
12331233 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
12341234 .addFPImm(CF)
1235 .addImm(DI->getOffset())
1235 .addImm(0U)
12361236 .addMetadata(DI->getVariable())
12371237 .addMetadata(DI->getExpression());
12381238 } else if (unsigned Reg = lookUpRegForValue(V)) {
12391239 // FIXME: This does not handle register-indirect values at offset 0.
1240 bool IsIndirect = DI->getOffset() != 0;
1241 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, IsIndirect, Reg,
1242 DI->getOffset(), DI->getVariable(), DI->getExpression());
1240 bool IsIndirect = false;
1241 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, IsIndirect, Reg, 0,
1242 DI->getVariable(), DI->getExpression());
12431243 } else {
12441244 // We can't yet handle anything else here because it would require
12451245 // generating code, thus altering codegen because of debug info.
10031003 DIExpression *Expr = DI->getExpression();
10041004 assert(Variable->isValidLocationForIntrinsic(dl) &&
10051005 "Expected inlined-at fields to agree");
1006 uint64_t Offset = DI->getOffset();
1006 uint64_t Offset = 0;
10071007 SDDbgValue *SDV;
10081008 if (Val.getNode()) {
10091009 if (!EmitFuncArgumentDbgValue(V, Variable, Expr, dl, Offset, false,
51385138
51395139 DILocalVariable *Variable = DI.getVariable();
51405140 DIExpression *Expression = DI.getExpression();
5141 uint64_t Offset = DI.getOffset();
5141 uint64_t Offset = 0;
51425142 const Value *V = DI.getValue();
51435143 if (!V)
51445144 return nullptr;
419419 }
420420 break;
421421 }
422 case 'd': {
423 if (Name == "dbg.value" && F->arg_size() == 4) {
424 rename(F);
425 NewFn = Intrinsic::getDeclaration(F->getParent(), Intrinsic::dbg_value);
426 return true;
427 }
428 break;
429 }
422430 case 'i':
423431 case 'l': {
424432 bool IsLifetimeStart = Name.startswith("lifetime.start");
20542062 NewCall = Builder.CreateCall(NewFn, {CI->getArgOperand(0)});
20552063 break;
20562064
2065 case Intrinsic::dbg_value:
2066 // Upgrade from the old version that had an extra offset argument.
2067 assert(CI->getNumArgOperands() == 4);
2068 // Drop nonzero offsets instead of attempting to upgrade them.
2069 if (auto *Offset = dyn_cast_or_null(CI->getArgOperand(1)))
2070 if (Offset->isZeroValue()) {
2071 NewCall = Builder.CreateCall(
2072 NewFn,
2073 {CI->getArgOperand(0), CI->getArgOperand(2), CI->getArgOperand(3)});
2074 break;
2075 }
2076 CI->eraseFromParent();
2077 return;
2078
20572079 case Intrinsic::x86_xop_vfrcz_ss:
20582080 case Intrinsic::x86_xop_vfrcz_sd:
20592081 NewCall = Builder.CreateCall(NewFn, {CI->getArgOperand(1)});
822822 return withDebugLoc(CallInst::Create(DeclareFn, Args, "", InsertAtEnd), DL);
823823 }
824824
825 Instruction *DIBuilder::insertDbgValueIntrinsic(Value *V, uint64_t Offset,
825 Instruction *DIBuilder::insertDbgValueIntrinsic(Value *V,
826826 DILocalVariable *VarInfo,
827827 DIExpression *Expr,
828828 const DILocation *DL,
839839 trackIfUnresolved(VarInfo);
840840 trackIfUnresolved(Expr);
841841 Value *Args[] = {getDbgIntrinsicValueImpl(VMContext, V),
842 ConstantInt::get(Type::getInt64Ty(VMContext), Offset),
843842 MetadataAsValue::get(VMContext, VarInfo),
844843 MetadataAsValue::get(VMContext, Expr)};
845844 return withDebugLoc(CallInst::Create(ValueFn, Args, "", InsertBefore), DL);
846845 }
847846
848 Instruction *DIBuilder::insertDbgValueIntrinsic(Value *V, uint64_t Offset,
847 Instruction *DIBuilder::insertDbgValueIntrinsic(Value *V,
849848 DILocalVariable *VarInfo,
850849 DIExpression *Expr,
851850 const DILocation *DL,
862861 trackIfUnresolved(VarInfo);
863862 trackIfUnresolved(Expr);
864863 Value *Args[] = {getDbgIntrinsicValueImpl(VMContext, V),
865 ConstantInt::get(Type::getInt64Ty(VMContext), Offset),
866864 MetadataAsValue::get(VMContext, VarInfo),
867865 MetadataAsValue::get(VMContext, Expr)};
868866
10721072 --PrevI;
10731073 if (DbgValueInst *DVI = dyn_cast(PrevI))
10741074 if (DVI->getValue() == I->getOperand(0) &&
1075 DVI->getOffset() == 0 &&
10761075 DVI->getVariable() == DIVar &&
10771076 DVI->getExpression() == DIExpr)
10781077 return true;
10911090 findDbgValues(DbgValues, APN);
10921091 for (auto *DVI : DbgValues) {
10931092 assert(DVI->getValue() == APN);
1094 assert(DVI->getOffset() == 0);
10951093 if ((DVI->getVariable() == DIVar) && (DVI->getExpression() == DIExpr))
10961094 return true;
10971095 }
11351133 DV = ExtendedArg;
11361134 }
11371135 if (!LdStHasDebugValue(DIVar, DIExpr, SI))
1138 Builder.insertDbgValueIntrinsic(DV, 0, DIVar, DIExpr, DDI->getDebugLoc(),
1136 Builder.insertDbgValueIntrinsic(DV, DIVar, DIExpr, DDI->getDebugLoc(),
11391137 SI);
11401138 }
11411139
11551153 // preferable to keep tracking both the loaded value and the original
11561154 // address in case the alloca can not be elided.
11571155 Instruction *DbgValue = Builder.insertDbgValueIntrinsic(
1158 LI, 0, DIVar, DIExpr, DDI->getDebugLoc(), (Instruction *)nullptr);
1156 LI, DIVar, DIExpr, DDI->getDebugLoc(), (Instruction *)nullptr);
11591157 DbgValue->insertAfter(LI);
11601158 }
11611159
11771175 // insertion point.
11781176 // FIXME: Insert dbg.value markers in the successors when appropriate.
11791177 if (InsertionPt != BB->end())
1180 Builder.insertDbgValueIntrinsic(APN, 0, DIVar, DIExpr, DDI->getDebugLoc(),
1178 Builder.insertDbgValueIntrinsic(APN, DIVar, DIExpr, DDI->getDebugLoc(),
11811179 &*InsertionPt);
11821180 }
11831181
12211219 // This is a call by-value or some other instruction that
12221220 // takes a pointer to the variable. Insert a *value*
12231221 // intrinsic that describes the alloca.
1224 DIB.insertDbgValueIntrinsic(AI, 0, DDI->getVariable(),
1222 DIB.insertDbgValueIntrinsic(AI, DDI->getVariable(),
12251223 DDI->getExpression(), DDI->getDebugLoc(),
12261224 CI);
12271225 }
13011299 DIExpr = Builder.createExpression(Ops);
13021300 }
13031301
1304 Builder.insertDbgValueIntrinsic(NewAddress, DVI->getOffset(), DIVar, DIExpr,
1305 Loc, DVI);
1302 Builder.insertDbgValueIntrinsic(NewAddress, DIVar, DIExpr, Loc, DVI);
13061303 DVI->eraseFromParent();
13071304 }
13081305
13501347 Offset.getSExtValue(),
13511348 DIExpression::WithStackValue);
13521349 DVI->setOperand(0, MDWrap(I.getOperand(0)));
1353 DVI->setOperand(3, MetadataAsValue::get(I.getContext(), DIExpr));
1350 DVI->setOperand(2, MetadataAsValue::get(I.getContext(), DIExpr));
13541351 DEBUG(dbgs() << "SALVAGE: " << *DVI << '\n');
13551352 }
13561353 }
13621359 DIBuilder DIB(M, /*AllowUnresolved*/ false);
13631360 DIExpr = DIExpression::prepend(DIExpr, DIExpression::WithDeref);
13641361 DVI->setOperand(0, MDWrap(I.getOperand(0)));
1365 DVI->setOperand(3, MetadataAsValue::get(I.getContext(), DIExpr));
1362 DVI->setOperand(2, MetadataAsValue::get(I.getContext(), DIExpr));
13661363 DEBUG(dbgs() << "SALVAGE: " << *DVI << '\n');
13671364 }
13681365 }
0 ; Test upgrade of dbg.dvalue intrinsics with offsets.
1 ;
2 ; RUN: llvm-dis < %s.bc | FileCheck %s
3 ; RUN: verify-uselistorder < %s.bc
4
5 define void @f() !dbg !3 {
6 entry:
7 ; CHECK-NOT: call void @llvm.dbg.value
8 ; CHECK: call void @llvm.dbg.value(metadata i32 42, metadata !8, metadata !9), !dbg !10
9 call void @llvm.dbg.value(metadata i32 42, i64 0, metadata !8, metadata !9), !dbg !10
10 ; CHECK-NOT: call void @llvm.dbg.value
11 call void @llvm.dbg.value(metadata i32 0, i64 1, metadata !8, metadata !9), !dbg !10
12 ret void
13 }
14
15 ; CHECK: declare void @llvm.dbg.value(metadata, metadata, metadata)
16 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
17
18 !llvm.dbg.cu = !{!0}
19 !llvm.module.flags = !{!2}
20
21 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "llc r309174", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
22 !1 = !DIFile(filename: "a.c", directory: "/")
23 !2 = !{i32 1, !"Debug Info Version", i32 3}
24 !3 = distinct !DISubprogram(name: "f", scope: !1, file: !1, line: 1, type: !4, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !7)
25 !4 = !DISubroutineType(types: !5)
26 !5 = !{!6}
27 !6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
28 !7 = !{!8}
29 !8 = !DILocalVariable(name: "i", scope: !3, file: !1, line: 2, type: !6)
30 !9 = !DIExpression()
31 !10 = !DILocation(line: 2, scope: !3)
44
55 define hidden i32 @__addvsi3(i32 %a, i32 %b) nounwind {
66 entry:
7 tail call void @llvm.dbg.value(metadata i32 %b, i64 0, metadata !0, metadata !DIExpression()), !dbg !DILocation(scope: !1)
7 tail call void @llvm.dbg.value(metadata i32 %b, metadata !0, metadata !DIExpression()), !dbg !DILocation(scope: !1)
88 %0 = add nsw i32 %b, %a, !dbg !9 ; [#uses=1]
99 ret i32 %0, !dbg !11
1010 }
1111
12 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
12 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
1313
1414 !llvm.dbg.cu = !{!3}
1515 !llvm.module.flags = !{!15}
88 ; Function Attrs: nounwind optsize
99 define void @x0(i8* nocapture %buf, i32 %nbytes) #0 {
1010 entry:
11 tail call void @llvm.dbg.value(metadata i8* %buf, i64 0, metadata !8, metadata !14), !dbg !15
12 tail call void @llvm.dbg.value(metadata i32 %nbytes, i64 0, metadata !16, metadata !14), !dbg !18
11 tail call void @llvm.dbg.value(metadata i8* %buf, metadata !8, metadata !14), !dbg !15
12 tail call void @llvm.dbg.value(metadata i32 %nbytes, metadata !16, metadata !14), !dbg !18
1313 %tmp = load i32, i32* @length, !dbg !19
1414 %cmp = icmp eq i32 %tmp, -1, !dbg !19
1515 %cmp.not = xor i1 %cmp, true
1616 %cmp3 = icmp ult i32 %tmp, %nbytes, !dbg !19
1717 %or.cond = and i1 %cmp.not, %cmp3
18 tail call void @llvm.dbg.value(metadata i32 %tmp, i64 0, metadata !16, metadata !14), !dbg !19
18 tail call void @llvm.dbg.value(metadata i32 %tmp, metadata !16, metadata !14), !dbg !19
1919 %nbytes.addr.0 = select i1 %or.cond, i32 %tmp, i32 %nbytes
20 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !21, metadata !14), !dbg !22
20 tail call void @llvm.dbg.value(metadata i32 0, metadata !21, metadata !14), !dbg !22
2121 br label %while.cond, !dbg !23
2222
2323 while.cond: ; preds = %while.body, %entry
4646 declare i32 @x1() #1
4747
4848 ; Function Attrs: nounwind readnone
49 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
49 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
5050
5151 attributes #0 = { nounwind optsize }
5252 attributes #1 = { optsize }
88 define i32 @_Z3fooi4SVal(i32 %i, %struct.SVal* noalias %location) nounwind ssp !dbg !17 {
99 entry:
1010 %"alloca point" = bitcast i32 0 to i32
11 call void @llvm.dbg.value(metadata i32 %i, i64 0, metadata !23, metadata !DIExpression()), !dbg !24
12 call void @llvm.dbg.value(metadata %struct.SVal* %location, i64 0, metadata !25, metadata !DIExpression()), !dbg !24
11 call void @llvm.dbg.value(metadata i32 %i, metadata !23, metadata !DIExpression()), !dbg !24
12 call void @llvm.dbg.value(metadata %struct.SVal* %location, metadata !25, metadata !DIExpression()), !dbg !24
1313 %0 = icmp ne i32 %i, 0, !dbg !27
1414 br i1 %0, label %bb, label %bb1, !dbg !27
1515
3636 define linkonce_odr void @_ZN4SValC1Ev(%struct.SVal* %this) nounwind ssp align 2 !dbg !16 {
3737 entry:
3838 %"alloca point" = bitcast i32 0 to i32
39 call void @llvm.dbg.value(metadata %struct.SVal* %this, i64 0, metadata !31, metadata !DIExpression()), !dbg !34
39 call void @llvm.dbg.value(metadata %struct.SVal* %this, metadata !31, metadata !DIExpression()), !dbg !34
4040 %0 = getelementptr inbounds %struct.SVal, %struct.SVal* %this, i32 0, i32 0, !dbg !34
4141 store i8* null, i8** %0, align 8, !dbg !34
4242 %1 = getelementptr inbounds %struct.SVal, %struct.SVal* %this, i32 0, i32 1, !dbg !34
6767 %7 = load i32, i32* %6, align 8, !dbg !43
6868 store i32 %7, i32* %5, align 8, !dbg !43
6969 %8 = call i32 @_Z3fooi4SVal(i32 2, %struct.SVal* noalias %0) nounwind, !dbg !43
70 call void @llvm.dbg.value(metadata i32 %8, i64 0, metadata !44, metadata !DIExpression()), !dbg !43
70 call void @llvm.dbg.value(metadata i32 %8, metadata !44, metadata !DIExpression()), !dbg !43
7171 br label %return, !dbg !45
7272
7373 return:
7474 ret i32 0, !dbg !45
7575 }
7676
77 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
77 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
7878
7979 !llvm.dbg.cu = !{!3}
8080 !llvm.module.flags = !{!49}
3030 ; Function Attrs: nounwind optsize
3131 define zeroext i8 @get1(i8 zeroext %a) #0 !dbg !16 {
3232 entry:
33 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !20, metadata !23), !dbg !24
33 tail call void @llvm.dbg.value(metadata i8 %a, metadata !20, metadata !23), !dbg !24
3434 %0 = load i8, i8* @x1, align 4, !dbg !24
35 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !21, metadata !23), !dbg !24
35 tail call void @llvm.dbg.value(metadata i8 %0, metadata !21, metadata !23), !dbg !24
3636 store i8 %a, i8* @x1, align 4, !dbg !24
3737 ret i8 %0, !dbg !25
3838 }
3939
4040 ; Function Attrs: nounwind readnone
41 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
41 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
4242
4343 ; Function Attrs: nounwind optsize
4444 define zeroext i8 @get2(i8 zeroext %a) #0 !dbg !26 {
4545 entry:
46 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !28, metadata !23), !dbg !31
46 tail call void @llvm.dbg.value(metadata i8 %a, metadata !28, metadata !23), !dbg !31
4747 %0 = load i8, i8* @x2, align 4, !dbg !31
48 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !29, metadata !23), !dbg !31
48 tail call void @llvm.dbg.value(metadata i8 %0, metadata !29, metadata !23), !dbg !31
4949 store i8 %a, i8* @x2, align 4, !dbg !31
5050 ret i8 %0, !dbg !32
5151 }
5454
5555 define zeroext i8 @get3(i8 zeroext %a) #0 !dbg !33 {
5656 entry:
57 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !35, metadata !23), !dbg !38
57 tail call void @llvm.dbg.value(metadata i8 %a, metadata !35, metadata !23), !dbg !38
5858 %0 = load i8, i8* @x3, align 4, !dbg !38
59 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !36, metadata !23), !dbg !38
59 tail call void @llvm.dbg.value(metadata i8 %0, metadata !36, metadata !23), !dbg !38
6060 store i8 %a, i8* @x3, align 4, !dbg !38
6161 ret i8 %0, !dbg !39
6262 }
6565
6666 define zeroext i8 @get4(i8 zeroext %a) #0 !dbg !40 {
6767 entry:
68 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !42, metadata !23), !dbg !45
68 tail call void @llvm.dbg.value(metadata i8 %a, metadata !42, metadata !23), !dbg !45
6969 %0 = load i8, i8* @x4, align 4, !dbg !45
70 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !43, metadata !23), !dbg !45
70 tail call void @llvm.dbg.value(metadata i8 %0, metadata !43, metadata !23), !dbg !45
7171 store i8 %a, i8* @x4, align 4, !dbg !45
7272 ret i8 %0, !dbg !46
7373 }
7676
7777 define zeroext i8 @get5(i8 zeroext %a) #0 !dbg !47 {
7878 entry:
79 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !49, metadata !23), !dbg !52
79 tail call void @llvm.dbg.value(metadata i8 %a, metadata !49, metadata !23), !dbg !52
8080 %0 = load i8, i8* @x5, align 4, !dbg !52
81 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !50, metadata !23), !dbg !52
81 tail call void @llvm.dbg.value(metadata i8 %0, metadata !50, metadata !23), !dbg !52
8282 store i8 %a, i8* @x5, align 4, !dbg !52
8383 ret i8 %0, !dbg !53
8484 }
3030
3131 ; Function Attrs: nounwind optsize ssp
3232 define i32 @get1(i32 %a) #0 !dbg !10 {
33 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !14, metadata !17), !dbg !18
33 tail call void @llvm.dbg.value(metadata i32 %a, metadata !14, metadata !17), !dbg !18
3434 %1 = load i32, i32* @x1, align 4, !dbg !19
35 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !15, metadata !17), !dbg !19
35 tail call void @llvm.dbg.value(metadata i32 %1, metadata !15, metadata !17), !dbg !19
3636 store i32 %a, i32* @x1, align 4, !dbg !19
3737 ret i32 %1, !dbg !19
3838 }
4040 ; Function Attrs: nounwind optsize ssp
4141
4242 define i32 @get2(i32 %a) #0 !dbg !20 {
43 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !22, metadata !17), !dbg !25
43 tail call void @llvm.dbg.value(metadata i32 %a, metadata !22, metadata !17), !dbg !25
4444 %1 = load i32, i32* @x2, align 4, !dbg !26
45 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !23, metadata !17), !dbg !26
45 tail call void @llvm.dbg.value(metadata i32 %1, metadata !23, metadata !17), !dbg !26
4646 store i32 %a, i32* @x2, align 4, !dbg !26
4747 ret i32 %1, !dbg !26
4848 }
5050 ; Function Attrs: nounwind optsize ssp
5151
5252 define i32 @get3(i32 %a) #0 !dbg !27 {
53 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !29, metadata !17), !dbg !32
53 tail call void @llvm.dbg.value(metadata i32 %a, metadata !29, metadata !17), !dbg !32
5454 %1 = load i32, i32* @x3, align 4, !dbg !33
55 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !30, metadata !17), !dbg !33
55 tail call void @llvm.dbg.value(metadata i32 %1, metadata !30, metadata !17), !dbg !33
5656 store i32 %a, i32* @x3, align 4, !dbg !33
5757 ret i32 %1, !dbg !33
5858 }
6060 ; Function Attrs: nounwind optsize ssp
6161
6262 define i32 @get4(i32 %a) #0 !dbg !34 {
63 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !36, metadata !17), !dbg !39
63 tail call void @llvm.dbg.value(metadata i32 %a, metadata !36, metadata !17), !dbg !39
6464 %1 = load i32, i32* @x4, align 4, !dbg !40
65 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !37, metadata !17), !dbg !40
65 tail call void @llvm.dbg.value(metadata i32 %1, metadata !37, metadata !17), !dbg !40
6666 store i32 %a, i32* @x4, align 4, !dbg !40
6767 ret i32 %1, !dbg !40
6868 }
7070 ; Function Attrs: nounwind optsize ssp
7171
7272 define i32 @get5(i32 %a) #0 !dbg !41 {
73 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !43, metadata !17), !dbg !46
73 tail call void @llvm.dbg.value(metadata i32 %a, metadata !43, metadata !17), !dbg !46
7474 %1 = load i32, i32* @x5, align 4, !dbg !47
75 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !44, metadata !17), !dbg !47
75 tail call void @llvm.dbg.value(metadata i32 %1, metadata !44, metadata !17), !dbg !47
7676 store i32 %a, i32* @x5, align 4, !dbg !47
7777 ret i32 %1, !dbg !47
7878 }
7979
8080 ; Function Attrs: nounwind readnone
8181
82 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
82 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
8383
8484 attributes #0 = { nounwind optsize ssp }
8585 attributes #1 = { nounwind readnone }
66 ; Function Attrs: minsize nounwind optsize readonly
77 define %struct.s* @s_idx(%struct.s* readonly %xl) local_unnamed_addr #0 !dbg !8 {
88 entry:
9 tail call void @llvm.dbg.value(metadata %struct.s* %xl, i64 0, metadata !17, metadata !18), !dbg !19
9 tail call void @llvm.dbg.value(metadata %struct.s* %xl, metadata !17, metadata !18), !dbg !19
1010 br label %while.cond, !dbg !20
1111
1212 while.cond: ; preds = %while.body, %entry
1717 while.body: ; preds = %while.cond
1818 %next = getelementptr inbounds %struct.s, %struct.s* %xl.addr.0, i32 0, i32 0
1919 %0 = load %struct.s*, %struct.s** %next, align 4
20 tail call void @llvm.dbg.value(metadata %struct.s* %0, i64 0, metadata !17, metadata !18), !dbg !19
20 tail call void @llvm.dbg.value(metadata %struct.s* %0, metadata !17, metadata !18), !dbg !19
2121 br label %while.cond
2222
2323 while.end: ; preds = %while.cond
2525 }
2626
2727 ; Function Attrs: nounwind readnone
28 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
28 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
2929
3030 !llvm.dbg.cu = !{!0}
3131 !llvm.module.flags = !{!3, !4, !5, !6}
2727
2828 for.body2: ; preds = %for.cond1
2929 store i32 %storemerge11, i32* @b, align 4, !dbg !26
30 tail call void @llvm.dbg.value(metadata i32* null, i64 0, metadata !20, metadata !27), !dbg !28
30 tail call void @llvm.dbg.value(metadata i32* null, metadata !20, metadata !27), !dbg !28
3131 %0 = load i64, i64* @a, align 8, !dbg !29
3232 %xor = xor i64 %0, %e.1.ph, !dbg !29
3333 %conv3 = trunc i64 %xor to i32, !dbg !29
34 tail call void @llvm.dbg.value(metadata i32 %conv3, i64 0, metadata !19, metadata !27), !dbg !29
34 tail call void @llvm.dbg.value(metadata i32 %conv3, metadata !19, metadata !27), !dbg !29
3535 %tobool4 = icmp eq i32 %conv3, 0, !dbg !29
3636 br i1 %tobool4, label %land.end, label %land.rhs, !dbg !29
3737
6969 declare i32 @fn3(...) #1
7070
7171 ; Function Attrs: nounwind readnone
72 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
72 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
7373
7474 attributes #0 = { nounwind ssp "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
7575 attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
66 %struct.tag_s = type { i32, i32, i32 }
77
88 define void @foo(%struct.tag_s* nocapture %this, %struct.tag_s* %c, i64 %x, i64 %y, %struct.tag_s* nocapture %ptr1, %struct.tag_s* nocapture %ptr2) nounwind ssp "no-frame-pointer-elim"="true" !dbg !1 {
9 tail call void @llvm.dbg.value(metadata %struct.tag_s* %this, i64 0, metadata !5, metadata !DIExpression()), !dbg !20
10 tail call void @llvm.dbg.value(metadata %struct.tag_s* %c, i64 0, metadata !13, metadata !DIExpression()), !dbg !21
11 tail call void @llvm.dbg.value(metadata i64 %x, i64 0, metadata !14, metadata !DIExpression()), !dbg !22
12 tail call void @llvm.dbg.value(metadata i64 %y, i64 0, metadata !17, metadata !DIExpression()), !dbg !23
9 tail call void @llvm.dbg.value(metadata %struct.tag_s* %this, metadata !5, metadata !DIExpression()), !dbg !20
10 tail call void @llvm.dbg.value(metadata %struct.tag_s* %c, metadata !13, metadata !DIExpression()), !dbg !21
11 tail call void @llvm.dbg.value(metadata i64 %x, metadata !14, metadata !DIExpression()), !dbg !22
12 tail call void @llvm.dbg.value(metadata i64 %y, metadata !17, metadata !DIExpression()), !dbg !23
1313 ;CHECK: @DEBUG_VALUE: foo:y <- [%R7+8]
14 tail call void @llvm.dbg.value(metadata %struct.tag_s* %ptr1, i64 0, metadata !18, metadata !DIExpression()), !dbg !24
15 tail call void @llvm.dbg.value(metadata %struct.tag_s* %ptr2, i64 0, metadata !19, metadata !DIExpression()), !dbg !25
14 tail call void @llvm.dbg.value(metadata %struct.tag_s* %ptr1, metadata !18, metadata !DIExpression()), !dbg !24
15 tail call void @llvm.dbg.value(metadata %struct.tag_s* %ptr2, metadata !19, metadata !DIExpression()), !dbg !25
1616 %1 = icmp eq %struct.tag_s* %c, null, !dbg !26
1717 br i1 %1, label %3, label %2, !dbg !26
1818
2626
2727 declare void @foobar(i64, i64)
2828
29 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
29 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
3030
3131 !llvm.dbg.cu = !{!0}
3232 !llvm.module.flags = !{!33}
3838
3939 declare i8* @objc_msgSend(i8*, i8*, ...)
4040
41 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
41 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
4242
4343 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind
4444
4646 %1 = alloca %0*, align 4
4747 %bounds = alloca %struct.CR, align 4
4848 %data = alloca %struct.CR, align 4
49 call void @llvm.dbg.value(metadata i8* %.block_descriptor, i64 0, metadata !27, metadata !DIExpression()), !dbg !129
49 call void @llvm.dbg.value(metadata i8* %.block_descriptor, metadata !27, metadata !DIExpression()), !dbg !129
5050 store %0* %loadedMydata, %0** %1, align 4
5151 call void @llvm.dbg.declare(metadata %0** %1, metadata !130, metadata !DIExpression()), !dbg !131
5252 %2 = bitcast %struct.CR* %bounds to %1*
1919
2020 for.body9: ; preds = %for.body9, %entry
2121 %add19 = fadd <4 x float> undef, , !dbg !39
22 tail call void @llvm.dbg.value(metadata <4 x float> %add19, i64 0, metadata !27, metadata !DIExpression()), !dbg !39
22 tail call void @llvm.dbg.value(metadata <4 x float> %add19, metadata !27, metadata !DIExpression()), !dbg !39
2323 %add20 = fadd <4 x float> undef, , !dbg !39
24 tail call void @llvm.dbg.value(metadata <4 x float> %add20, i64 0, metadata !28, metadata !DIExpression()), !dbg !39
24 tail call void @llvm.dbg.value(metadata <4 x float> %add20, metadata !28, metadata !DIExpression()), !dbg !39
2525 br i1 %cond, label %for.end54, label %for.body9, !dbg !44
2626
2727 for.end54: ; preds = %for.body9
3636
3737 declare i32 @printf(i8* nocapture, ...) nounwind
3838
39 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
39 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
4040
4141 !llvm.module.flags = !{!56}
4242 !llvm.dbg.cu = !{!2}
1111
1212 define i32 @inlineprinter(i8* %ptr, double %val, i8 zeroext %c) nounwind optsize !dbg !9 {
1313 entry:
14 tail call void @llvm.dbg.value(metadata i8* %ptr, i64 0, metadata !19, metadata !DIExpression()), !dbg !26
15 tail call void @llvm.dbg.value(metadata double %val, i64 0, metadata !20, metadata !DIExpression()), !dbg !26
16 tail call void @llvm.dbg.value(metadata i8 %c, i64 0, metadata !21, metadata !DIExpression()), !dbg !26
14 tail call void @llvm.dbg.value(metadata i8* %ptr, metadata !19, metadata !DIExpression()), !dbg !26
15 tail call void @llvm.dbg.value(metadata double %val, metadata !20, metadata !DIExpression()), !dbg !26
16 tail call void @llvm.dbg.value(metadata i8 %c, metadata !21, metadata !DIExpression()), !dbg !26
1717 %0 = zext i8 %c to i32, !dbg !27
1818 %1 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i8* %ptr, double %val, i32 %0) nounwind, !dbg !27
1919 ret i32 0, !dbg !29
2121
2222 define i32 @printer(i8* %ptr, double %val, i8 zeroext %c) nounwind optsize noinline !dbg !0 {
2323 entry:
24 tail call void @llvm.dbg.value(metadata i8* %ptr, i64 0, metadata !16, metadata !DIExpression()), !dbg !30
25 tail call void @llvm.dbg.value(metadata double %val, i64 0, metadata !17, metadata !DIExpression()), !dbg !30
26 tail call void @llvm.dbg.value(metadata i8 %c, i64 0, metadata !18, metadata !DIExpression()), !dbg !30
24 tail call void @llvm.dbg.value(metadata i8* %ptr, metadata !16, metadata !DIExpression()), !dbg !30
25 tail call void @llvm.dbg.value(metadata double %val, metadata !17, metadata !DIExpression()), !dbg !30
26 tail call void @llvm.dbg.value(metadata i8 %c, metadata !18, metadata !DIExpression()), !dbg !30
2727 %0 = zext i8 %c to i32, !dbg !31
2828 %1 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i8* %ptr, double %val, i32 %0) nounwind, !dbg !31
2929 ret i32 0, !dbg !33
3131
3232 declare i32 @printf(i8* nocapture, ...) nounwind
3333
34 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
34 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
3535
3636 define i32 @main(i32 %argc, i8** nocapture %argv) nounwind optsize !dbg !10 {
3737 entry:
38 tail call void @llvm.dbg.value(metadata i32 %argc, i64 0, metadata !22, metadata !DIExpression()), !dbg !34
39 tail call void @llvm.dbg.value(metadata i8** %argv, i64 0, metadata !23, metadata !DIExpression()), !dbg !34
38 tail call void @llvm.dbg.value(metadata i32 %argc, metadata !22, metadata !DIExpression()), !dbg !34
39 tail call void @llvm.dbg.value(metadata i8** %argv, metadata !23, metadata !DIExpression()), !dbg !34
4040 %0 = sitofp i32 %argc to double, !dbg !35
4141 %1 = fadd double %0, 5.555552e+05, !dbg !35
42 tail call void @llvm.dbg.value(metadata double %1, i64 0, metadata !24, metadata !DIExpression()), !dbg !35
42 tail call void @llvm.dbg.value(metadata double %1, metadata !24, metadata !DIExpression()), !dbg !35
4343 %2 = tail call i32 @puts(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str1, i32 0, i32 0)) nounwind, !dbg !36
4444 %3 = getelementptr inbounds i8, i8* bitcast (i32 (i32, i8**)* @main to i8*), i32 %argc, !dbg !37
4545 %4 = trunc i32 %argc to i8, !dbg !37
4646 %5 = add i8 %4, 97, !dbg !37
47 tail call void @llvm.dbg.value(metadata i8* %3, i64 0, metadata !49, metadata !DIExpression()) nounwind, !dbg !38
48 tail call void @llvm.dbg.value(metadata double %1, i64 0, metadata !50, metadata !DIExpression()) nounwind, !dbg !38
49 tail call void @llvm.dbg.value(metadata i8 %5, i64 0, metadata !51, metadata !DIExpression()) nounwind, !dbg !38
47 tail call void @llvm.dbg.value(metadata i8* %3, metadata !49, metadata !DIExpression()) nounwind, !dbg !38
48 tail call void @llvm.dbg.value(metadata double %1, metadata !50, metadata !DIExpression()) nounwind, !dbg !38
49 tail call void @llvm.dbg.value(metadata i8 %5, metadata !51, metadata !DIExpression()) nounwind, !dbg !38
5050 %6 = zext i8 %5 to i32, !dbg !39
5151 %7 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i8* %3, double %1, i32 %6) nounwind, !dbg !39
5252 %8 = tail call i32 @printer(i8* %3, double %1, i8 zeroext %5) nounwind, !dbg !40
2323 br i1 undef, label %for.end54, label %for.body9, !dbg !44
2424
2525 for.end54: ; preds = %for.body9
26 tail call void @llvm.dbg.value(metadata <4 x float> %add19, i64 0, metadata !27, metadata !DIExpression()), !dbg !39
26 tail call void @llvm.dbg.value(metadata <4 x float> %add19, metadata !27, metadata !DIExpression()), !dbg !39
2727 %tmp115 = extractelement <4 x float> %add19, i32 1
2828 %conv6.i75 = fpext float %tmp115 to double, !dbg !45
2929 %call.i82 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i32 0, i32 0), double undef, double %conv6.i75, double undef, double undef) nounwind, !dbg !45
3232
3333 declare i32 @printf(i8* nocapture, ...) nounwind
3434
35 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
35 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
3636
3737 !llvm.dbg.cu = !{!2}
3838 !llvm.module.flags = !{!56}
1111
1212 define i32 @inlineprinter(i8* %ptr, float %val, i8 zeroext %c) nounwind optsize ssp !dbg !0 {
1313 entry:
14 tail call void @llvm.dbg.value(metadata i8* %ptr, i64 0, metadata !8, metadata !DIExpression()), !dbg !24
15 tail call void @llvm.dbg.value(metadata float %val, i64 0, metadata !10, metadata !DIExpression()), !dbg !25
16 tail call void @llvm.dbg.value(metadata i8 %c, i64 0, metadata !12, metadata !DIExpression()), !dbg !26
14 tail call void @llvm.dbg.value(metadata i8* %ptr, metadata !8, metadata !DIExpression()), !dbg !24
15 tail call void @llvm.dbg.value(metadata float %val, metadata !10, metadata !DIExpression()), !dbg !25
16 tail call void @llvm.dbg.value(metadata i8 %c, metadata !12, metadata !DIExpression()), !dbg !26
1717 %conv = fpext float %val to double, !dbg !27
1818 %conv3 = zext i8 %c to i32, !dbg !27
1919 %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i8* %ptr, double %conv, i32 %conv3) nounwind optsize, !dbg !27
2424
2525 define i32 @printer(i8* %ptr, float %val, i8 zeroext %c) nounwind optsize noinline ssp !dbg !6 {
2626 entry:
27 tail call void @llvm.dbg.value(metadata i8* %ptr, i64 0, metadata !14, metadata !DIExpression()), !dbg !30
28 tail call void @llvm.dbg.value(metadata float %val, i64 0, metadata !15, metadata !DIExpression()), !dbg !31
29 tail call void @llvm.dbg.value(metadata i8 %c, i64 0, metadata !16, metadata !DIExpression()), !dbg !32
27 tail call void @llvm.dbg.value(metadata i8* %ptr, metadata !14, metadata !DIExpression()), !dbg !30
28 tail call void @llvm.dbg.value(metadata float %val, metadata !15, metadata !DIExpression()), !dbg !31
29 tail call void @llvm.dbg.value(metadata i8 %c, metadata !16, metadata !DIExpression()), !dbg !32
3030 %conv = fpext float %val to double, !dbg !33
3131 %conv3 = zext i8 %c to i32, !dbg !33
3232 %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i8* %ptr, double %conv, i32 %conv3) nounwind optsize, !dbg !33
3535
3636 define i32 @main(i32 %argc, i8** nocapture %argv) nounwind optsize ssp !dbg !7 {
3737 entry:
38 tail call void @llvm.dbg.value(metadata i32 %argc, i64 0, metadata !17, metadata !DIExpression()), !dbg !36
39 tail call void @llvm.dbg.value(metadata i8** %argv, i64 0, metadata !18, metadata !DIExpression()), !dbg !37
38 tail call void @llvm.dbg.value(metadata i32 %argc, metadata !17, metadata !DIExpression()), !dbg !36
39 tail call void @llvm.dbg.value(metadata i8** %argv, metadata !18, metadata !DIExpression()), !dbg !37
4040 %conv = sitofp i32 %argc to double, !dbg !38
4141 %add = fadd double %conv, 5.555552e+05, !dbg !38
4242 %conv1 = fptrunc double %add to float, !dbg !38
43 tail call void @llvm.dbg.value(metadata float %conv1, i64 0, metadata !22, metadata !DIExpression()), !dbg !38
43 tail call void @llvm.dbg.value(metadata float %conv1, metadata !22, metadata !DIExpression()), !dbg !38
4444 %call = tail call i32 @puts(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str1, i32 0, i32 0)) nounwind optsize, !dbg !39
4545 %add.ptr = getelementptr i8, i8* bitcast (i32 (i32, i8**)* @main to i8*), i32 %argc, !dbg !40
4646 %add5 = add nsw i32 %argc, 97, !dbg !40
4747 %conv6 = trunc i32 %add5 to i8, !dbg !40
48 tail call void @llvm.dbg.value(metadata i8* %add.ptr, i64 0, metadata !58, metadata !DIExpression()) nounwind, !dbg !41
49 tail call void @llvm.dbg.value(metadata float %conv1, i64 0, metadata !60, metadata !DIExpression()) nounwind, !dbg !42
50 tail call void @llvm.dbg.value(metadata i8 %conv6, i64 0, metadata !62, metadata !DIExpression()) nounwind, !dbg !43
48 tail call void @llvm.dbg.value(metadata i8* %add.ptr, metadata !58, metadata !DIExpression()) nounwind, !dbg !41
49 tail call void @llvm.dbg.value(metadata float %conv1, metadata !60, metadata !DIExpression()) nounwind, !dbg !42
50 tail call void @llvm.dbg.value(metadata i8 %conv6, metadata !62, metadata !DIExpression()) nounwind, !dbg !43
5151 %conv.i = fpext float %conv1 to double, !dbg !44
5252 %conv3.i = and i32 %add5, 255, !dbg !44
5353 %call.i = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i32 0, i32 0), i8* %add.ptr, double %conv.i, i32 %conv3.i) nounwind optsize, !dbg !44
5757
5858 declare i32 @puts(i8* nocapture) nounwind optsize
5959
60 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
60 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
6161
6262 !llvm.dbg.cu = !{!2}
6363 !llvm.module.flags = !{!53}
1414 define void @_Z3foov() optsize ssp !dbg !1 {
1515 entry:
1616 %call = tail call float @_Z3barv() optsize, !dbg !11
17 tail call void @llvm.dbg.value(metadata float %call, i64 0, metadata !5, metadata !DIExpression()), !dbg !11
17 tail call void @llvm.dbg.value(metadata float %call, metadata !5, metadata !DIExpression()), !dbg !11
1818 %call16 = tail call float @_Z2f2v() optsize, !dbg !12
1919 %cmp7 = fcmp olt float %call, %call16, !dbg !12
2020 br i1 %cmp7, label %for.body, label %for.end, !dbg !12
3737
3838 declare float @_Z2f3f(float) optsize
3939
40 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
40 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
4141
4242 !llvm.dbg.cu = !{!0}
4343 !llvm.module.flags = !{!20}
2727 ; Function Attrs: nounwind
2828 define %struct.B* @_ZN1BC2Ev(%struct.B* %this) unnamed_addr #0 align 2 !dbg !28 {
2929 entry:
30 tail call void @llvm.dbg.value(metadata %struct.B* %this, i64 0, metadata !30, metadata !38), !dbg !39
30 tail call void @llvm.dbg.value(metadata %struct.B* %this, metadata !30, metadata !38), !dbg !39
3131 %0 = getelementptr inbounds %struct.B, %struct.B* %this, i64 0, i32 0, !dbg !40
3232 %call = tail call %struct.A* @_ZN1AC2Ev(%struct.A* %0) #3, !dbg !40
3333 %1 = getelementptr inbounds %struct.B, %struct.B* %this, i64 0, i32 0, i32 0, !dbg !40
4040 ; Function Attrs: nounwind
4141 define %struct.B* @_ZN1BC1Ev(%struct.B* %this) unnamed_addr #0 align 2 !dbg !32 {
4242 entry:
43 tail call void @llvm.dbg.value(metadata %struct.B* %this, i64 0, metadata !34, metadata !38), !dbg !44
44 tail call void @llvm.dbg.value(metadata %struct.B* %this, i64 0, metadata !45, metadata !38) #3, !dbg !47
43 tail call void @llvm.dbg.value(metadata %struct.B* %this, metadata !34, metadata !38), !dbg !44
44 tail call void @llvm.dbg.value(metadata %struct.B* %this, metadata !45, metadata !38) #3, !dbg !47
4545 %0 = getelementptr inbounds %struct.B, %struct.B* %this, i64 0, i32 0, !dbg !48
4646 %call.i = tail call %struct.A* @_ZN1AC2Ev(%struct.A* %0) #3, !dbg !48
4747 %1 = getelementptr inbounds %struct.B, %struct.B* %this, i64 0, i32 0, i32 0, !dbg !48
5050 }
5151
5252 ; Function Attrs: nounwind readnone
53 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
53 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
5454
5555 attributes #0 = { nounwind }
5656 attributes #2 = { nounwind readnone }
1818 %size = alloca i32, align 4
1919 %0 = bitcast i32* %size to i8*, !dbg !15
2020 %call = call i8* @_Z3fooPv(i8* %0) #3, !dbg !15
21 call void @llvm.dbg.value(metadata i32* %size, i64 0, metadata !10, metadata !16), !dbg !17
21 call void @llvm.dbg.value(metadata i32* %size, metadata !10, metadata !16), !dbg !17
2222 ; CHECK: .debug_info contents:
2323 ; CHECK: DW_TAG_variable
2424 ; CHECK-NEXT: DW_AT_location
3333 declare i8* @_Z3fooPv(i8*) #1
3434
3535 ; Function Attrs: nounwind readnone
36 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
36 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
3737
3838 attributes #0 = { nounwind optsize }
3939 attributes #1 = { optsize }
9393 tail call void @llvm.dbg.declare(metadata [7 x i8]* %agg.tmp.sroa.4, metadata !56, metadata !77), !dbg !75
9494 tail call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !72, metadata !37), !dbg !78
9595 %0 = load i64, i64* @a, align 8, !dbg !79, !tbaa !40
96 tail call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !73, metadata !37), !dbg !80
96 tail call void @llvm.dbg.value(metadata %struct.B* %d, metadata !73, metadata !37), !dbg !80
9797 %call = call %struct.B* @_ZN1BC1El(%struct.B* %d, i64 %0), !dbg !80
98 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !72, metadata !81), !dbg !78
99 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !72, metadata !82), !dbg !78
100 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !56, metadata !81), !dbg !75
101 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !56, metadata !82), !dbg !75
98 call void @llvm.dbg.value(metadata i8 1, metadata !72, metadata !81), !dbg !78
99 call void @llvm.dbg.value(metadata i8 1, metadata !72, metadata !82), !dbg !78
100 call void @llvm.dbg.value(metadata i8 1, metadata !56, metadata !81), !dbg !75
101 call void @llvm.dbg.value(metadata i8 1, metadata !56, metadata !82), !dbg !75
102102 call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !56, metadata !37), !dbg !75
103103 %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 0, !dbg !83
104104 call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !83
122122
123123 invoke.cont: ; preds = %call.i.i.noexc
124124 call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !91
125 call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !73, metadata !37), !dbg !80
125 call void @llvm.dbg.value(metadata %struct.B* %d, metadata !73, metadata !37), !dbg !80
126126 %call1 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !92
127127 ret void, !dbg !92
128128
129129 lpad: ; preds = %call.i.i.noexc, %entry
130130 %3 = landingpad { i8*, i32 }
131131 cleanup, !dbg !92
132 call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !73, metadata !37), !dbg !80
132 call void @llvm.dbg.value(metadata %struct.B* %d, metadata !73, metadata !37), !dbg !80
133133 %call2 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !92
134134 resume { i8*, i32 } %3, !dbg !92
135135 }
142142 declare %struct.B* @_ZN1BD1Ev(%struct.B*) #3
143143
144144 ; Function Attrs: nounwind readnone
145 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
145 declare void @llvm.dbg.value(metadata, metadata, metadata) #0
146146
147147 ; Function Attrs: argmemonly nounwind
148148 declare void @llvm.lifetime.start(i64, i8* nocapture) #2
1515 ; }
1616 ; }
1717
18 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
18 declare void @llvm.dbg.value(metadata, metadata, metadata)
1919
2020 ; CHECK-LABEL: {{^}}kernel1:
2121 define amdgpu_kernel void @kernel1(
2222 i32 addrspace(1)* nocapture readonly %A,
2323 i32 addrspace(1)* nocapture %B) !dbg !7 {
2424 entry:
25 tail call void @llvm.dbg.value(metadata i32 addrspace(1)* %A, i64 0, metadata !13, metadata !19), !dbg !20
26 tail call void @llvm.dbg.value(metadata i32 addrspace(1)* %B, i64 0, metadata !14, metadata !19), !dbg !21
25 tail call void @llvm.dbg.value(metadata i32 addrspace(1)* %A, metadata !13, metadata !19), !dbg !20
26 tail call void @llvm.dbg.value(metadata i32 addrspace(1)* %B, metadata !14, metadata !19), !dbg !21
2727 %0 = load i32, i32 addrspace(1)* %A, align 4, !dbg !22, !tbaa !24
2828 %cmp = icmp eq i32 %0, 1, !dbg !28
2929 br i1 %cmp, label %if.then, label %if.end, !dbg !29
1414 ; Function Attrs: nounwind
1515 define arm_aapcscc void @_Z1hiiiif(i32, i32, i32, i32, float %x) #0 "no-frame-pointer-elim"="true" !dbg !4 {
1616 entry:
17 tail call void @llvm.dbg.value(metadata i32 %0, i64 0, metadata !12, metadata !DIExpression()), !dbg !18
18 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !13, metadata !DIExpression()), !dbg !18
19 tail call void @llvm.dbg.value(metadata i32 %2, i64 0, metadata !14, metadata !DIExpression()), !dbg !18
20 tail call void @llvm.dbg.value(metadata i32 %3, i64 0, metadata !15, metadata !DIExpression()), !dbg !18
21 tail call void @llvm.dbg.value(metadata float %x, i64 0, metadata !16, metadata !DIExpression()), !dbg !18
17 tail call void @llvm.dbg.value(metadata i32 %0, metadata !12, metadata !DIExpression()), !dbg !18
18 tail call void @llvm.dbg.value(metadata i32 %1, metadata !13, metadata !DIExpression()), !dbg !18
19 tail call void @llvm.dbg.value(metadata i32 %2, metadata !14, metadata !DIExpression()), !dbg !18
20 tail call void @llvm.dbg.value(metadata i32 %3, metadata !15, metadata !DIExpression()), !dbg !18
21 tail call void @llvm.dbg.value(metadata float %x, metadata !16, metadata !DIExpression()), !dbg !18
2222 %call = tail call arm_aapcscc i32 @_Z1fv() #3, !dbg !19
2323 %conv = sitofp i32 %call to float, !dbg !19
24 tail call void @llvm.dbg.value(metadata float %conv, i64 0, metadata !16, metadata !DIExpression()), !dbg !19
24 tail call void @llvm.dbg.value(metadata float %conv, metadata !16, metadata !DIExpression()), !dbg !19
2525 tail call arm_aapcscc void @_Z1gf(float %conv) #3, !dbg !19
2626 ret void, !dbg !20
2727 }
3131 declare arm_aapcscc i32 @_Z1fv()
3232
3333 ; Function Attrs: nounwind readnone
34 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
34 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
3535
3636 attributes #0 = { nounwind }
3737 attributes #2 = { nounwind readnone }
5151 %struct.timeval = type { i64, i32 }
5252
5353 declare void @llvm.dbg.declare(metadata, metadata, metadata)
54 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
54 declare void @llvm.dbg.value(metadata, metadata, metadata)
5555
5656 declare void @foo()
5757
5858 define i32 @parse_config_file() !dbg !4 {
5959 entry:
60 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !15, metadata !26), !dbg !27
60 tail call void @llvm.dbg.value(metadata i32 0, metadata !15, metadata !26), !dbg !27
6161 tail call void @llvm.dbg.declare(metadata %struct.timeval* undef, metadata !16, metadata !26), !dbg !29
62 tail call void @llvm.dbg.value(metadata i64 0, i64 0, metadata !16, metadata !30), !dbg !29
63 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !16, metadata !31), !dbg !29
62 tail call void @llvm.dbg.value(metadata i64 0, metadata !16, metadata !30), !dbg !29
63 tail call void @llvm.dbg.value(metadata i32 0, metadata !16, metadata !31), !dbg !29
6464 tail call void @foo() #3, !dbg !32
6565 ret i32 0, !dbg !33
6666 }
2828 ; Function Attrs: nounwind
2929 define %struct.B* @_ZN1BC2Ev(%struct.B* %this) unnamed_addr #0 align 2 !dbg !28 {
3030 entry:
31 tail call void @llvm.dbg.value(metadata %struct.B* %this, i64 0, metadata !30, metadata !40), !dbg !41
31 tail call void @llvm.dbg.value(metadata %struct.B* %this, metadata !30, metadata !40), !dbg !41
3232 %0 = getelementptr inbounds %struct.B, %struct.B* %this, i32 0, i32 0, !dbg !42
3333 %call = tail call %struct.A* @_ZN1AC2Ev(%struct.A* %0) #3, !dbg !42
3434 %1 = getelementptr inbounds %struct.B, %struct.B* %this, i32 0, i32 0, i32 0, !dbg !42
4141 ; Function Attrs: nounwind
4242 define %struct.B* @_ZN1BC1Ev(%struct.B* %this) unnamed_addr #0 align 2 !dbg !32 {
4343 entry:
44 tail call void @llvm.dbg.value(metadata %struct.B* %this, i64 0, metadata !34, metadata !40), !dbg !46
45 tail call void @llvm.dbg.value(metadata %struct.B* %this, i64 0, metadata !47, metadata !40) #3, !dbg !49
44 tail call void @llvm.dbg.value(metadata %struct.B* %this, metadata !34, metadata !40), !dbg !46
45 tail call void @llvm.dbg.value(metadata %struct.B* %this, metadata !47, metadata !40) #3, !dbg !49
4646 %0 = getelementptr inbounds %struct.B, %struct.B* %this, i32 0, i32 0, !dbg !50
4747 %call.i = tail call %struct.A* @_ZN1AC2Ev(%struct.A* %0) #3, !dbg !50
4848 %1 = getelementptr inbounds %struct.B, %struct.B* %this, i32 0, i32 0, i32 0, !dbg !50
5151 }
5252
5353 ; Function Attrs: nounwind readnone
54 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
54 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
5555
5656 attributes #0 = { nounwind }
5757 attributes #2 = { nounwind readnone }
1717
1818 define float @foo(float %p) !dbg !4 {
1919 entry:
20 tail call void @llvm.dbg.value(metadata float %p, i64 0, metadata !9, metadata !15), !dbg !16
20 tail call void @llvm.dbg.value(metadata float %p, metadata !9, metadata !15), !dbg !16
2121 ret float %p, !dbg !18
2222 }
2323
24 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
24 declare void @llvm.dbg.value(metadata, metadata, metadata)
2525
2626 !llvm.dbg.cu = !{!0}
2727 !llvm.module.flags = !{!10, !11}
2626 ; The VLA alloca should be described by a dbg.declare:
2727 ; CHECK: call void @llvm.dbg.declare(metadata float* %vla, metadata ![[VLA:.*]], metadata {{.*}})
2828 ; The VLA alloca and following store into the array should not be lowered to like this:
29 ; CHECK-NOT: call void @llvm.dbg.value(metadata float %r, i64 0, metadata ![[VLA]])
29 ; CHECK-NOT: call void @llvm.dbg.value(metadata float %r, metadata ![[VLA]])
3030 ; the backend interprets this as "vla has the location of %r".
3131 store float %r, float* %vla, align 4, !dbg !25, !tbaa !26
32 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18, metadata !DIExpression()), !dbg !30
32 tail call void @llvm.dbg.value(metadata i32 0, metadata !18, metadata !DIExpression()), !dbg !30
3333 %cmp8 = icmp sgt i32 %conv, 0, !dbg !30
3434 br i1 %cmp8, label %for.body, label %for.end, !dbg !30
3535
4040 %div = fdiv float %0, %r, !dbg !31
4141 store float %div, float* %arrayidx2, align 4, !dbg !31, !tbaa !26
4242 %inc = add nsw i32 %i.09, 1, !dbg !30
43 tail call void @llvm.dbg.value(metadata i32 %inc, i64 0, metadata !18, metadata !DIExpression()), !dbg !30
43 tail call void @llvm.dbg.value(metadata i32 %inc, metadata !18, metadata !DIExpression()), !dbg !30
4444 %exitcond = icmp eq i32 %inc, %conv, !dbg !30
4545 br i1 %exitcond, label %for.end, label %for.body.for.body_crit_edge, !dbg !30
4646
5757 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
5858
5959 ; Function Attrs: nounwind readnone
60 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
60 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
6161
6262 attributes #0 = { nounwind optsize readnone "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
6363 attributes #1 = { nounwind readnone }
1818 target triple = "armv7-apple-ios7.0"
1919
2020 ; Function Attrs: nounwind readnone
21 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
21 declare void @llvm.dbg.value(metadata, metadata, metadata) #0
2222
2323 define <3 x float> @_TFV4simd8float2x3g9subscriptFSiVS_6float3(i32, <3 x float>, <3 x float>) !dbg !5 {
2424 entry:
25 tail call void @llvm.dbg.value(metadata <3 x float> %1, i64 0, metadata !8, metadata !9), !dbg !10
26 tail call void @llvm.dbg.value(metadata <3 x float> %2, i64 0, metadata !8, metadata !11), !dbg !10
25 tail call void @llvm.dbg.value(metadata <3 x float> %1, metadata !8, metadata !9), !dbg !10
26 tail call void @llvm.dbg.value(metadata <3 x float> %2, metadata !8, metadata !11), !dbg !10
2727 %3 = icmp eq i32 %0, 0, !dbg !12
2828 br i1 %3, label %7, label %4, !dbg !12
2929
99 define void @_Z3foov() optsize ssp !dbg !1 {
1010 entry:
1111 %call = tail call float @_Z3barv() optsize, !dbg !11
12 tail call void @llvm.dbg.value(metadata float %call, i64 0, metadata !5, metadata !DIExpression()), !dbg !11
12 tail call void @llvm.dbg.value(metadata float %call, metadata !5, metadata !DIExpression()), !dbg !11
1313 %call16 = tail call float @_Z2f2v() optsize, !dbg !12
1414 %cmp7 = fcmp olt float %call, %call16, !dbg !12
1515 br i1 %cmp7, label %for.body, label %for.end, !dbg !12
3232
3333 declare float @_Z2f3f(float) optsize
3434
35 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
35 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
3636
3737 !llvm.dbg.cu = !{!0}
3838 !llvm.module.flags = !{!20}
1616 ; CHECK-NEXT: DW_AT_location [DW_FORM_block1] (<0x04> 10 00 93 08 )
1717 ; DW_AT_location ( constu 0x00000000, piece 0x00000008 )
1818 ; CHECK-NEXT: DW_AT_name {{.*}} "c"
19 tail call void @llvm.dbg.value(metadata i64 0, i64 0, metadata !14, metadata !17), !dbg !16
19 tail call void @llvm.dbg.value(metadata i64 0, metadata !14, metadata !17), !dbg !16
2020 ; Manually removed to disable location list emission:
21 ; tail call void @llvm.dbg.value(metadata i64 0, i64 0, metadata !14, metadata !18), !dbg !16
21 ; tail call void @llvm.dbg.value(metadata i64 0, metadata !14, metadata !18), !dbg !16
2222 ret void, !dbg !19
2323 }
2424
2626 declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
2727
2828 ; Function Attrs: nounwind readnone
29 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
29 declare void @llvm.dbg.value(metadata, metadata, metadata) #0
3030
3131 attributes #0 = { nounwind readnone }
3232
1818 ; SROA will split the complex double into two i64 values, because there is
1919 ; no native double data type available.
2020 ; Test that debug info for both values survives:
21 ; CHECK: call void @llvm.dbg.value(metadata i64 0, i64 0,
21 ; CHECK: call void @llvm.dbg.value(metadata i64 0,
2222 ; CHECK-SAME: metadata ![[C:.*]], metadata ![[REAL:.*]])
2323 store double 0.000000e+00, double* %c.imagp, align 8, !dbg !17
24 ; CHECK: call void @llvm.dbg.value(metadata i64 0, i64 0,
24 ; CHECK: call void @llvm.dbg.value(metadata i64 0,
2525 ; CHECK-SAME: metadata ![[C]], metadata ![[IMG:.*]])
2626 ret void, !dbg !18
2727 }
7979 ; Function Attrs: inlinehint noinline nounwind uwtable
8080 define linkonce_odr void @f(i32 %c) #2 comdat personality i8* bitcast (i32 (...)* @__C_specific_handler to i8*) !dbg !22 {
8181 entry:
82 tail call void @llvm.dbg.value(metadata i32 %c, i64 0, metadata !26, metadata !27), !dbg !28
82 tail call void @llvm.dbg.value(metadata i32 %c, metadata !26, metadata !27), !dbg !28
8383 %0 = load volatile i32, i32* @x, align 4, !dbg !29, !tbaa !11
8484 %inc = add nsw i32 %0, 1, !dbg !29
8585 store volatile i32 %inc, i32* @x, align 4, !dbg !29, !tbaa !11
113113 ; Function Attrs: nounwind
114114 define internal fastcc void @"\01?fin$0@0@f@@"() unnamed_addr #3 comdat($f) !dbg !41 {
115115 entry:
116 tail call void @llvm.dbg.value(metadata i8* null, i64 0, metadata !44, metadata !27), !dbg !48
117 tail call void @llvm.dbg.value(metadata i8 0, i64 0, metadata !46, metadata !27), !dbg !48
116 tail call void @llvm.dbg.value(metadata i8* null, metadata !44, metadata !27), !dbg !48
117 tail call void @llvm.dbg.value(metadata i8 0, metadata !46, metadata !27), !dbg !48
118118 %0 = load volatile i32, i32* @x, align 4, !dbg !49, !tbaa !11
119119 %inc = add nsw i32 %0, 1, !dbg !49
120120 store volatile i32 %inc, i32* @x, align 4, !dbg !49, !tbaa !11
126126 declare i32 @__C_specific_handler(...)
127127
128128 ; Function Attrs: nounwind readnone
129 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #5
129 declare void @llvm.dbg.value(metadata, metadata, metadata) #5
130130
131131 attributes #0 = { norecurse nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
132132 attributes #1 = { nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
55 define double @f(double %p1) !dbg !4 {
66 entry:
77 %sub = fsub double -0.000000e+00, %p1, !dbg !16
8 tail call void @llvm.dbg.value(metadata double %sub, i64 0, metadata !10, metadata !14), !dbg !15
8 tail call void @llvm.dbg.value(metadata double %sub, metadata !10, metadata !14), !dbg !15
99 ret double %sub
1010 }
1111
2121 ; OBJ: }
2222
2323 ; Function Attrs: nounwind readnone
24 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
24 declare void @llvm.dbg.value(metadata, metadata, metadata)
2525
2626 !llvm.dbg.cu = !{!0}
2727 !llvm.module.flags = !{!11, !12}
3131 ; Function Attrs: nounwind uwtable
3232 define void @"\01?constant_var@@YAXXZ"() #0 !dbg !4 {
3333 entry:
34 tail call void @llvm.dbg.value(metadata i32 42, i64 0, metadata !8, metadata !14), !dbg !15
34 tail call void @llvm.dbg.value(metadata i32 42, metadata !8, metadata !14), !dbg !15
3535 tail call void @"\01?useint@@YAXH@Z"(i32 42) #3, !dbg !16
3636 tail call void @"\01?useint@@YAXH@Z"(i32 42) #3, !dbg !17
3737 ret void, !dbg !18
4040 declare void @"\01?useint@@YAXH@Z"(i32) #1
4141
4242 ; Function Attrs: nounwind readnone
43 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
43 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
4444
4545 attributes #0 = { nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
4646 attributes #1 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
9999
100100 if.then: ; preds = %entry
101101 %call1 = tail call i32 bitcast (i32 (...)* @vardef to i32 ()*)() #4, !dbg !17
102 tail call void @llvm.dbg.value(metadata i32 %call1, i64 0, metadata !12, metadata !18), !dbg !19
102 tail call void @llvm.dbg.value(metadata i32 %call1, metadata !12, metadata !18), !dbg !19
103103 %call2 = tail call i32 bitcast (i32 (...)* @barrier to i32 ()*)() #4, !dbg !20
104104 %tobool3 = icmp eq i32 %call2, 0, !dbg !20
105105 br i1 %tobool3, label %if.end, label %if.then4, !dbg !22
130130 declare void @use(i32) local_unnamed_addr #1
131131
132132 ; Function Attrs: nounwind readnone
133 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #3
133 declare void @llvm.dbg.value(metadata, metadata, metadata) #3
134134
135135 attributes #0 = { nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "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"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
136136 attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "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"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
248248 define i32 @loop_csr() local_unnamed_addr #0 !dbg !7 {
249249 entry:
250250 tail call void @llvm.dbg.declare(metadata %struct.IntPair* undef, metadata !12, metadata !17), !dbg !18
251 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !12, metadata !19), !dbg !18
252 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !12, metadata !20), !dbg !18
253 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !12, metadata !19), !dbg !18
254 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !12, metadata !20), !dbg !18
251 tail call void @llvm.dbg.value(metadata i32 0, metadata !12, metadata !19), !dbg !18
252 tail call void @llvm.dbg.value(metadata i32 0, metadata !12, metadata !20), !dbg !18
253 tail call void @llvm.dbg.value(metadata i32 0, metadata !12, metadata !19), !dbg !18
254 tail call void @llvm.dbg.value(metadata i32 0, metadata !12, metadata !20), !dbg !18
255255 store i32 0, i32* @i, align 4, !dbg !21, !tbaa !24
256256 %0 = load i32, i32* @n, align 4, !dbg !28, !tbaa !24
257257 %cmp9 = icmp sgt i32 %0, 0, !dbg !29
260260 for.body: ; preds = %entry, %for.body
261261 %o.sroa.0.011 = phi i32 [ %call, %for.body ], [ 0, %entry ]
262262 %o.sroa.5.010 = phi i32 [ %call2, %for.body ], [ 0, %entry ]
263 tail call void @llvm.dbg.value(metadata i32 %o.sroa.0.011, i64 0, metadata !12, metadata !19), !dbg !18
264 tail call void @llvm.dbg.value(metadata i32 %o.sroa.5.010, i64 0, metadata !12, metadata !20), !dbg !18
263 tail call void @llvm.dbg.value(metadata i32 %o.sroa.0.011, metadata !12, metadata !19), !dbg !18
264 tail call void @llvm.dbg.value(metadata i32 %o.sroa.5.010, metadata !12, metadata !20), !dbg !18
265265 %call = tail call i32 @g(i32 %o.sroa.0.011) #5, !dbg !31
266 tail call void @llvm.dbg.value(metadata i32 %call, i64 0, metadata !12, metadata !19), !dbg !18
266 tail call void @llvm.dbg.value(metadata i32 %call, metadata !12, metadata !19), !dbg !18
267267 %call2 = tail call i32 @g(i32 %o.sroa.5.010) #5, !dbg !33
268 tail call void @llvm.dbg.value(metadata i32 %call2, i64 0, metadata !12, metadata !20), !dbg !18
268 tail call void @llvm.dbg.value(metadata i32 %call2, metadata !12, metadata !20), !dbg !18
269269 %1 = load i32, i32* @i, align 4, !dbg !21, !tbaa !24
270270 %inc = add nsw i32 %1, 1, !dbg !21
271271 store i32 %inc, i32* @i, align 4, !dbg !21, !tbaa !24
290290 entry:
291291 %o.sroa.1.0.extract.shift = lshr i64 %o.coerce, 32
292292 %o.sroa.1.0.extract.trunc = trunc i64 %o.sroa.1.0.extract.shift to i32
293 tail call void @llvm.dbg.value(metadata i32 %o.sroa.1.0.extract.trunc, i64 0, metadata !47, metadata !20), !dbg !48
293 tail call void @llvm.dbg.value(metadata i32 %o.sroa.1.0.extract.trunc, metadata !47, metadata !20), !dbg !48
294294 tail call void @llvm.dbg.declare(metadata %struct.PadRight* undef, metadata !47, metadata !17), !dbg !48
295295 ret i32 %o.sroa.1.0.extract.trunc, !dbg !49
296296 }
299299 define i32 @pad_left(i64 %o.coerce) local_unnamed_addr #3 !dbg !50 {
300300 entry:
301301 %o.sroa.0.0.extract.trunc = trunc i64 %o.coerce to i32
302 tail call void @llvm.dbg.value(metadata i32 %o.sroa.0.0.extract.trunc, i64 0, metadata !58, metadata !19), !dbg !59
302 tail call void @llvm.dbg.value(metadata i32 %o.sroa.0.0.extract.trunc, metadata !58, metadata !19), !dbg !59
303303 tail call void @llvm.dbg.declare(metadata %struct.PadLeft* undef, metadata !58, metadata !17), !dbg !59
304304 ret i32 %o.sroa.0.0.extract.trunc, !dbg !60
305305 }
311311 tail call void @llvm.dbg.declare(metadata %struct.PadLeft* undef, metadata !72, metadata !17), !dbg !75
312312 %p.sroa.3.0..sroa_idx2 = getelementptr inbounds %struct.Nested, %struct.Nested* %o, i64 0, i32 0, i64 1, i32 1, !dbg !76
313313 %p.sroa.3.0.copyload = load i32, i32* %p.sroa.3.0..sroa_idx2, align 4, !dbg !76
314 tail call void @llvm.dbg.value(metadata i32 %p.sroa.3.0.copyload, i64 0, metadata !72, metadata !20), !dbg !75
314 tail call void @llvm.dbg.value(metadata i32 %p.sroa.3.0.copyload, metadata !72, metadata !20), !dbg !75
315315 ret i32 %p.sroa.3.0.copyload, !dbg !77
316316 }
317317
319319 define i32 @bitpiece_spill() local_unnamed_addr #0 !dbg !78 {
320320 entry:
321321 tail call void @llvm.dbg.declare(metadata %struct.IntPair* undef, metadata !80, metadata !17), !dbg !81
322 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !80, metadata !19), !dbg !81
322 tail call void @llvm.dbg.value(metadata i32 0, metadata !80, metadata !19), !dbg !81
323323 %call = tail call i32 @g(i32 0) #5, !dbg !82
324 tail call void @llvm.dbg.value(metadata i32 %call, i64 0, metadata !80, metadata !20), !dbg !81
324 tail call void @llvm.dbg.value(metadata i32 %call, metadata !80, metadata !20), !dbg !81
325325 tail call void asm sideeffect "", "~{rax},~{rbx},~{rcx},~{rdx},~{rsi},~{rdi},~{rbp},~{r8},~{r9},~{r10},~{r11},~{r12},~{r13},~{r14},~{r15},~{dirflag},~{fpsr},~{flags}"() #5, !dbg !83, !srcloc !84
326326 ret i32 %call, !dbg !85
327327 }
328328
329329 ; Function Attrs: nounwind readnone
330 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
330 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
331331
332332 attributes #0 = { nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "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"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
333333 attributes #1 = { nounwind readnone }
197197 ; Function Attrs: nounwind uwtable
198198 define void @f(i32 %p) #0 !dbg !12 {
199199 entry:
200 tail call void @llvm.dbg.value(metadata i32 %p, i64 0, metadata !16, metadata !23), !dbg !24
200 tail call void @llvm.dbg.value(metadata i32 %p, metadata !16, metadata !23), !dbg !24
201201 %tobool = icmp eq i32 %p, 0, !dbg !25
202202 %call2 = tail call i32 @getint() #3, !dbg !26
203203 br i1 %tobool, label %if.else, label %if.then, !dbg !27
204204
205205 if.then: ; preds = %entry
206 tail call void @llvm.dbg.value(metadata i32 %call2, i64 0, metadata !17, metadata !23), !dbg !28
207 tail call void @llvm.dbg.value(metadata i32 %call2, i64 0, metadata !29, metadata !23), !dbg !35
206 tail call void @llvm.dbg.value(metadata i32 %call2, metadata !17, metadata !23), !dbg !28
207 tail call void @llvm.dbg.value(metadata i32 %call2, metadata !29, metadata !23), !dbg !35
208208 %add.i = add nsw i32 %call2, 1, !dbg !37
209 tail call void @llvm.dbg.value(metadata i32 %add.i, i64 0, metadata !34, metadata !23), !dbg !38
209 tail call void @llvm.dbg.value(metadata i32 %add.i, metadata !34, metadata !23), !dbg !38
210210 %0 = load volatile i32, i32* @x, align 4, !dbg !39, !tbaa !40
211211 %inc.i = add nsw i32 %0, 1, !dbg !39
212212 store volatile i32 %inc.i, i32* @x, align 4, !dbg !39, !tbaa !40
213 tail call void @llvm.dbg.value(metadata i32 %add.i, i64 0, metadata !20, metadata !23), !dbg !44
213 tail call void @llvm.dbg.value(metadata i32 %add.i, metadata !20, metadata !23), !dbg !44
214214 tail call void @putint(i32 %add.i) #3, !dbg !45
215215 br label %if.end, !dbg !46
216216
217217 if.else: ; preds = %entry
218 tail call void @llvm.dbg.value(metadata i32 %call2, i64 0, metadata !21, metadata !23), !dbg !47
218 tail call void @llvm.dbg.value(metadata i32 %call2, metadata !21, metadata !23), !dbg !47
219219 tail call void @putint(i32 %call2) #3, !dbg !48
220220 br label %if.end
221221
228228 declare void @putint(i32) #1
229229
230230 ; Function Attrs: nounwind readnone
231 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
231 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
232232
233233 attributes #0 = { nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
234234 attributes #1 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
164164 ; Function Attrs: nounwind readnone
165165 define x86_thiscallcc void @"\01?thiscallcc@A@@QAEXXZ"(%struct.A* nocapture %this) #0 align 2 !dbg !6 {
166166 entry:
167 tail call void @llvm.dbg.value(metadata %struct.A* %this, i64 0, metadata !14, metadata !16), !dbg !17
167 tail call void @llvm.dbg.value(metadata %struct.A* %this, metadata !14, metadata !16), !dbg !17
168168 ret void, !dbg !18
169169 }
170170
193193 }
194194
195195 ; Function Attrs: nounwind readnone
196 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
196 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
197197
198198 attributes #0 = { nounwind readnone "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
199199 attributes #1 = { norecurse nounwind readnone "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
77
88 declare void @foo(...)
99
10 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
10 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
1111
1212 !llvm.dbg.cu = !{!0}
1313 !llvm.module.flags = !{!18}
2424 %a12 = load i64, i64* %a11, align 4, !dbg !7 ; [#uses=1]
2525 call void @llvm.dbg.declare(metadata i64* %data_addr.i17, metadata !8, metadata !DIExpression()) nounwind, !dbg !14
2626 store i64 %a12, i64* %data_addr.i17, align 8
27 call void @llvm.dbg.value(metadata !6, i64 0, metadata !15, metadata !DIExpression()) nounwind, !dbg !DILocation(scope: !16)
28 call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !19, metadata !DIExpression()) nounwind, !dbg !DILocation(scope: !16)
27 call void @llvm.dbg.value(metadata !6, metadata !15, metadata !DIExpression()) nounwind, !dbg !DILocation(scope: !16)
28 call void @llvm.dbg.value(metadata i32 0, metadata !19, metadata !DIExpression()) nounwind, !dbg !DILocation(scope: !16)
2929 call void @llvm.dbg.declare(metadata !6, metadata !23, metadata !DIExpression()) nounwind, !dbg !DILocation(scope: !24)
30 call void @llvm.dbg.value(metadata i64* %data_addr.i17, i64 0, metadata !34, metadata !DIExpression(DW_OP_deref)) nounwind, !dbg !DILocation(scope: !24)
30 call void @llvm.dbg.value(metadata i64* %data_addr.i17, metadata !34, metadata !DIExpression(DW_OP_deref)) nounwind, !dbg !DILocation(scope: !24)
3131 %a13 = load volatile i64, i64* %data_addr.i17, align 8 ; [#uses=1]
3232 %a14 = call i64 @llvm.bswap.i64(i64 %a13) nounwind ; [#uses=2]
3333 %a15 = add i64 %a10, %a14, !dbg !7 ; [#uses=1]
3939
4040 declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
4141
42 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
42 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
4343
4444 declare i32 @llvm.bswap.i32(i32) nounwind readnone
4545
1212 declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
1313
1414 ; Function Attrs: nounwind readnone
15 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
15 declare void @llvm.dbg.value(metadata, metadata, metadata) #0
1616
1717 ; Function Attrs: nounwind ssp
1818 define i32 @bar() #1 !dbg !8 {
1919 entry:
2020 %0 = load i32, i32* @i, align 4, !dbg !11
21 tail call void @llvm.dbg.value(metadata i32 %0, i64 0, metadata !13, metadata !24), !dbg !25
21 tail call void @llvm.dbg.value(metadata i32 %0, metadata !13, metadata !24), !dbg !25
2222 tail call void @llvm.dbg.declare(metadata !5, metadata !18, metadata !24), !dbg !26
2323 %1 = mul nsw i32 %0, %0, !dbg !27
2424 store i32 %1, i32* @i, align 4, !dbg !11
3838 define i32 @_Z8function1Si(i32 %s.coerce, i32 %i) #0 !dbg !9 {
3939 entry:
4040 tail call void @llvm.dbg.declare(metadata %struct.S* undef, metadata !14, metadata !DIExpression()), !dbg !20
41 tail call void @llvm.dbg.value(metadata i32 %i, i64 0, metadata !15, metadata !DIExpression()), !dbg !20
41 tail call void @llvm.dbg.value(metadata i32 %i, metadata !15, metadata !DIExpression()), !dbg !20
4242 %add = add nsw i32 %i, %s.coerce, !dbg !20
4343 ret i32 %add, !dbg !20
4444 }
4747 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
4848
4949 ; Function Attrs: nounwind readnone
50 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
50 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
5151
5252 attributes #0 = { nounwind readnone uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
5353 attributes #1 = { nounwind readnone }
2626 ; CHECK: %call = tail call i32 @f2(i32 1) #{{[0-9]}}, !dbg
2727 %call = tail call i32 @f2(i32 1) #0, !dbg !15
2828 store i32 %call, i32* @a, align 4, !dbg !15, !tbaa !24
29 tail call void @llvm.dbg.value(metadata i32* @a, i64 0, metadata !22, metadata !28) #0, !dbg !29
29 tail call void @llvm.dbg.value(metadata i32* @a, metadata !22, metadata !28) #0, !dbg !29
3030 %0 = load i32, i32* @b, align 4, !dbg !29, !tbaa !24
3131 %tobool.i = icmp eq i32 %0, 0, !dbg !29
3232 br i1 %tobool.i, label %if.end.i, label %land.lhs.true.i.thread, !dbg !30
5757 declare i32 @f4(...)
5858
5959 ; Function Attrs: nounwind readnone
60 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
60 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
6161
6262 attributes #0 = { nounwind }
6363 attributes #1 = { nounwind readnone }
109109
110110 ;
111111 store i32 0, i32* %i.i, align 4, !dbg !39, !tbaa !41
112 tail call void @llvm.dbg.value(metadata %struct.C* %8, i64 0, metadata !27, metadata !DIExpression(DW_OP_deref)), !dbg !46
112 tail call void @llvm.dbg.value(metadata %struct.C* %8, metadata !27, metadata !DIExpression(DW_OP_deref)), !dbg !46
113113 call void @_ZN1C5m_fn3Ev(%struct.C* %8), !dbg !47
114114 unreachable, !dbg !47
115115 }
144144 %16 = add i64 %15, 0, !dbg !48
145145 %17 = inttoptr i64 %16 to i64*, !dbg !48
146146 store i64 -868083113472691727, i64* %17, !dbg !48
147 tail call void @llvm.dbg.value(metadata %struct.C* %this, i64 0, metadata !30, metadata !DIExpression()), !dbg !48
147 tail call void @llvm.dbg.value(metadata %struct.C* %this, metadata !30, metadata !DIExpression()), !dbg !48
148148 %call = call i32 @_ZN1A5m_fn1Ev(%struct.A* %8), !dbg !49
149149 %i.i = getelementptr inbounds %struct.C, %struct.C* %this, i64 0, i32 1, i32 0, !dbg !50
150150 %18 = ptrtoint i32* %i.i to i64, !dbg !50
197197 declare i32 @_ZN1A5m_fn1Ev(%struct.A*) #2
198198
199199 ; Function Attrs: nounwind readnone
200 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #3
200 declare void @llvm.dbg.value(metadata, metadata, metadata) #3
201201
202202 define internal void @asan.module_ctor() {
203203 tail call void @__asan_init_v3()
2929 define i32 @main() #0 !dbg !4 {
3030 entry:
3131 %c = alloca i32, align 4
32 tail call void @llvm.dbg.value(metadata i32 13, i64 0, metadata !10, metadata !16), !dbg !17
32 tail call void @llvm.dbg.value(metadata i32 13, metadata !10, metadata !16), !dbg !17
3333 store volatile i32 13, i32* %c, align 4, !dbg !18
3434 %call = tail call i32 @_Z4funcv(), !dbg !19
35 tail call void @llvm.dbg.value(metadata i32 %call, i64 0, metadata !10, metadata !16), !dbg !17
35 tail call void @llvm.dbg.value(metadata i32 %call, metadata !10, metadata !16), !dbg !17
3636 store volatile i32 %call, i32* %c, align 4, !dbg !19
37 tail call void @llvm.dbg.value(metadata i32* %c, i64 0, metadata !10, metadata !21), !dbg !17
37 tail call void @llvm.dbg.value(metadata i32* %c, metadata !10, metadata !21), !dbg !17
3838 %c.0.c.0. = load volatile i32, i32* %c, align 4, !dbg !20
3939 ret i32 %c.0.c.0., !dbg !20
4040 }
4242 declare i32 @_Z4funcv() #1
4343
4444 ; Function Attrs: nounwind readnone
45 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
45 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
4646
4747 attributes #0 = { uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
4848 attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
2323
2424 ; Function Attrs: uwtable
2525 define void @_Z2f2v() #0 !dbg !4 {
26 tail call void @llvm.dbg.value(metadata i32 undef, i64 0, metadata !16, metadata !DIExpression()), !dbg !18
27 tail call void @llvm.dbg.value(metadata i32 2, i64 0, metadata !20, metadata !DIExpression()), !dbg !18
26 tail call void @llvm.dbg.value(metadata i32 undef, metadata !16, metadata !DIExpression()), !dbg !18
27 tail call void @llvm.dbg.value(metadata i32 2, metadata !20, metadata !DIExpression()), !dbg !18
2828 tail call void @_Z2f3i(i32 2), !dbg !21
2929 ret void, !dbg !22
3030 }
3131
3232 ; Function Attrs: uwtable
3333 define void @_Z2f1ii(i32 %x, i32 %y) #0 !dbg !8 {
34 tail call void @llvm.dbg.value(metadata i32 %x, i64 0, metadata !13, metadata !DIExpression()), !dbg !23
35 tail call void @llvm.dbg.value(metadata i32 %y, i64 0, metadata !14, metadata !DIExpression()), !dbg !23
34 tail call void @llvm.dbg.value(metadata i32 %x, metadata !13, metadata !DIExpression()), !dbg !23
35 tail call void @llvm.dbg.value(metadata i32 %y, metadata !14, metadata !DIExpression()), !dbg !23
3636 tail call void @_Z2f3i(i32 %y), !dbg !24
3737 ret void, !dbg !25
3838 }
4040 declare void @_Z2f3i(i32) #1
4141
4242 ; Function Attrs: nounwind readnone
43 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
43 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
4444
4545 attributes #0 = { uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
4646 attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
33
44 define i32 @main() uwtable !dbg !5 {
55 entry:
6 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18, metadata !DIExpression()), !dbg !21
7 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !22, metadata !DIExpression()), !dbg !23
6 tail call void @llvm.dbg.value(metadata i32 0, metadata !18, metadata !DIExpression()), !dbg !21
7 tail call void @llvm.dbg.value(metadata i32 0, metadata !22, metadata !DIExpression()), !dbg !23
88 tail call void @smth(i32 0), !dbg !24
99 tail call void @smth(i32 0), !dbg !25
1010 ret i32 0, !dbg !19
1212
1313 declare void @smth(i32)
1414
15 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
15 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
1616
1717 !llvm.dbg.cu = !{!0}
1818 !llvm.module.flags = !{!27}
9898 ; Function Attrs: uwtable
9999 define void @_Z1bv() #0 !dbg !4 {
100100 entry:
101 tail call void @llvm.dbg.value(metadata i1 false, i64 0, metadata !25, metadata !DIExpression()), !dbg !27
101 tail call void @llvm.dbg.value(metadata i1 false, metadata !25, metadata !DIExpression()), !dbg !27
102102 tail call void @_Z1fi(i32 0), !dbg !28
103103 ret void, !dbg !29
104104 }
106106 ; Function Attrs: uwtable
107107 define void @_Z1ab(i1 zeroext %u) #0 !dbg !8 {
108108 entry:
109 tail call void @llvm.dbg.value(metadata i1 %u, i64 0, metadata !13, metadata !DIExpression()), !dbg !30
110 tail call void @llvm.dbg.value(metadata i1 %u, i64 0, metadata !31, metadata !DIExpression()), !dbg !33
109 tail call void @llvm.dbg.value(metadata i1 %u, metadata !13, metadata !DIExpression()), !dbg !30
110 tail call void @llvm.dbg.value(metadata i1 %u, metadata !31, metadata !DIExpression()), !dbg !33
111111 br i1 %u, label %if.then.i, label %_Z1xb.exit, !dbg !34
112112
113113 if.then.i: ; preds = %entry
114114 %0 = load i32, i32* @t, align 4, !dbg !35, !tbaa !36
115 tail call void @llvm.dbg.value(metadata i32 %0, i64 0, metadata !40, metadata !DIExpression()), !dbg !35
115 tail call void @llvm.dbg.value(metadata i32 %0, metadata !40, metadata !DIExpression()), !dbg !35
116116 tail call void @_Z1fi(i32 %0), !dbg !41
117117 br label %_Z1xb.exit, !dbg !42
118118
124124 declare void @_Z1fi(i32) #1
125125
126126 ; Function Attrs: nounwind readnone
127 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
127 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
128128
129129 attributes #0 = { uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
130130 attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
44 ; Function Attrs: nounwind ssp uwtable
55 define i32 @foo(i64 %s.coerce0, i32 %s.coerce1) #0 !dbg !4 {
66 entry:
7 call void @llvm.dbg.value(metadata i64 %s.coerce0, i64 0, metadata !20, metadata !24), !dbg !21
8 call void @llvm.dbg.value(metadata i32 %s.coerce1, i64 0, metadata !22, metadata !27), !dbg !21
7 call void @llvm.dbg.value(metadata i64 %s.coerce0, metadata !20, metadata !24), !dbg !21
8 call void @llvm.dbg.value(metadata i32 %s.coerce1, metadata !22, metadata !27), !dbg !21
99 ret i32 %s.coerce1, !dbg !23
1010 }
1111
1313 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
1414
1515 ; Function Attrs: nounwind readnone
16 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
16 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
1717
1818 attributes #0 = { nounwind ssp uwtable "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" }
1919 attributes #1 = { nounwind readnone }
9494 entry:
9595 tail call void @_Z3fn8v() #3, !dbg !23
9696 %0 = load %struct.C*, %struct.C** @x, align 8, !dbg !24, !tbaa !25
97 tail call void @llvm.dbg.value(metadata %struct.C* %0, i64 0, metadata !29, metadata !32) #3, !dbg !33
97 tail call void @llvm.dbg.value(metadata %struct.C* %0, metadata !29, metadata !32) #3, !dbg !33
9898 tail call void @_Z3fn8v() #3, !dbg !34
9999 %b.i = getelementptr inbounds %struct.C, %struct.C* %0, i64 0, i32 0, !dbg !35
100100 %1 = load i32, i32* %b.i, align 4, !dbg !35, !tbaa !37
116116
117117 define linkonce_odr void @_ZN1C5m_fn2Ev(%struct.C* nocapture readonly %this) #0 align 2 !dbg !30 {
118118 entry:
119 tail call void @llvm.dbg.value(metadata %struct.C* %this, i64 0, metadata !29, metadata !32), !dbg !44
119 tail call void @llvm.dbg.value(metadata %struct.C* %this, metadata !29, metadata !32), !dbg !44
120120 tail call void @_Z3fn8v() #3, !dbg !45
121121 %b = getelementptr inbounds %struct.C, %struct.C* %this, i64 0, i32 0, !dbg !46
122122 %0 = load i32, i32* %b, align 4, !dbg !46, !tbaa !37
130130 if.end: ; preds = %if.then, %entry
131131 tail call void @_Z3fn8v() #3, !dbg !48
132132 %1 = load %struct.C*, %struct.C** @x, align 8, !dbg !52, !tbaa !25
133 tail call void @llvm.dbg.value(metadata %struct.C* %1, i64 0, metadata !29, metadata !32) #3, !dbg !53
133 tail call void @llvm.dbg.value(metadata %struct.C* %1, metadata !29, metadata !32) #3, !dbg !53
134134 tail call void @_Z3fn8v() #3, !dbg !54
135135 %b.i.i = getelementptr inbounds %struct.C, %struct.C* %1, i64 0, i32 0, !dbg !55
136136 %2 = load i32, i32* %b.i.i, align 4, !dbg !55, !tbaa !37
155155 tailrecurse: ; preds = %tailrecurse.backedge, %entry
156156 tail call void @_Z3fn8v() #3, !dbg !59
157157 %0 = load %struct.C*, %struct.C** @x, align 8, !dbg !61, !tbaa !25
158 tail call void @llvm.dbg.value(metadata %struct.C* %0, i64 0, metadata !29, metadata !32) #3, !dbg !62
158 tail call void @llvm.dbg.value(metadata %struct.C* %0, metadata !29, metadata !32) #3, !dbg !62
159159 tail call void @_Z3fn8v() #3, !dbg !63
160160 %b.i.i = getelementptr inbounds %struct.C, %struct.C* %0, i64 0, i32 0, !dbg !64
161161 %1 = load i32, i32* %b.i.i, align 4, !dbg !64, !tbaa !37
189189 declare void @_Z3fn2iiii(i32, i32, i32, i32) #1
190190
191191 ; Function Attrs: nounwind readnone
192 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
192 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
193193
194194 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
195195 attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
99 ; Function Attrs: uwtable
1010 define void @main() #0 !dbg !4 {
1111 entry:
12 tail call void @llvm.dbg.value(metadata i32 42, i64 0, metadata !10, metadata !DIExpression()), !dbg !21
13 tail call void @llvm.dbg.value(metadata i32 117, i64 0, metadata !12, metadata !DIExpression()), !dbg !24
14 tail call void @llvm.dbg.value(metadata i16 7, i64 0, metadata !15, metadata !DIExpression()), !dbg !27
12 tail call void @llvm.dbg.value(metadata i32 42, metadata !10, metadata !DIExpression()), !dbg !21
13 tail call void @llvm.dbg.value(metadata i32 117, metadata !12, metadata !DIExpression()), !dbg !24
14 tail call void @llvm.dbg.value(metadata i16 7, metadata !15, metadata !DIExpression()), !dbg !27
1515 ret void, !dbg !29
1616 }
1717
1818 ; Function Attrs: nounwind readnone
19 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
19 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
2020
2121 attributes #0 = { uwtable }
2222 attributes #2 = { nounwind readnone }
2222
2323 define i32 @main(i32 %argc, i8** nocapture %argv) nounwind !dbg !12 {
2424 entry:
25 tail call void @llvm.dbg.value(metadata i32 %argc, i64 0, metadata !21, metadata !DIExpression()), !dbg !26
25 tail call void @llvm.dbg.value(metadata i32 %argc, metadata !21, metadata !DIExpression()), !dbg !26
2626 ; Avoid talking about the pointer size in debug info because that's target dependent
27 tail call void @llvm.dbg.value(metadata i8** %argv, i64 0, metadata !22, metadata !DIExpression(DW_OP_deref, DW_OP_deref)), !dbg !27
27 tail call void @llvm.dbg.value(metadata i8** %argv, metadata !22, metadata !DIExpression(DW_OP_deref, DW_OP_deref)), !dbg !27
2828 %puts = tail call i32 @puts(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str1, i32 0, i32 0)), !dbg !28
2929 tail call void @foo() nounwind, !dbg !30
3030 ret i32 0, !dbg !31
3131 }
3232
33 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
33 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
3434
3535 !llvm.dbg.cu = !{!0, !9}
3636 !llvm.module.flags = !{!33}
1212 declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
1313
1414 ; Function Attrs: nounwind readnone
15 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
15 declare void @llvm.dbg.value(metadata, metadata, metadata) #0
1616
1717 ; Function Attrs: nounwind ssp
1818 define i32 @bar() #1 !dbg !8 {
1919 entry:
2020 %0 = load i32, i32* @i, align 4, !dbg !11
21 tail call void @llvm.dbg.value(metadata i32 %0, i64 0, metadata !13, metadata !24), !dbg !25
21 tail call void @llvm.dbg.value(metadata i32 %0, metadata !13, metadata !24), !dbg !25
2222 tail call void @llvm.dbg.declare(metadata !5, metadata !18, metadata !24), !dbg !26
2323 %1 = mul nsw i32 %0, %0, !dbg !27
2424 store i32 %1, i32* @i, align 4, !dbg !11
2727 ; Function Attrs: nounwind
2828 define i32 @foo(i32 %x) #0 !dbg !4 {
2929 entry:
30 call void @llvm.dbg.value(metadata i32 %x, i64 0, metadata !12, metadata !DIExpression()), !dbg !13
30 call void @llvm.dbg.value(metadata i32 %x, metadata !12, metadata !DIExpression()), !dbg !13
3131 %tobool = icmp ne i32 %x, 0, !dbg !14
3232 br i1 %tobool, label %if.then, label %if.end, !dbg !14
3333
4646 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
4747
4848 ; Function Attrs: nounwind readnone
49 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
49 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
5050
5151 attributes #0 = { nounwind }
5252 attributes #1 = { nounwind readnone }
3434 define i32 @f0(i32 signext %a, i32 signext %b, i32 signext %c, i32 signext %d, i32 signext %e) !dbg !4 {
3535 entry:
3636 %x = alloca i32, align 4
37 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !9, metadata !DIExpression()), !dbg !27
38 tail call void @llvm.dbg.value(metadata i32 %b, i64 0, metadata !10, metadata !DIExpression()), !dbg !28
39 tail call void @llvm.dbg.value(metadata i32 %c, i64 0, metadata !11, metadata !DIExpression()), !dbg !29
40 tail call void @llvm.dbg.value(metadata i32 %d, i64 0, metadata !12, metadata !DIExpression()), !dbg !30
41 tail call void @llvm.dbg.value(metadata i32 %e, i64 0, metadata !13, metadata !DIExpression()), !dbg !31
37 tail call void @llvm.dbg.value(metadata i32 %a, metadata !9, metadata !DIExpression()), !dbg !27
38 tail call void @llvm.dbg.value(metadata i32 %b, metadata !10, metadata !DIExpression()), !dbg !28
39 tail call void @llvm.dbg.value(metadata i32 %c, metadata !11, metadata !DIExpression()), !dbg !29
40 tail call void @llvm.dbg.value(metadata i32 %d, metadata !12, metadata !DIExpression()), !dbg !30
41 tail call void @llvm.dbg.value(metadata i32 %e, metadata !13, metadata !DIExpression()), !dbg !31
4242 %0 = bitcast i32* %x to i8*, !dbg !32
4343 call void @llvm.lifetime.start(i64 4, i8* %0) #4, !dbg !32
4444 %add = add nsw i32 %b, %a, !dbg !33
4545 %add1 = add nsw i32 %add, %c, !dbg !34
4646 %add2 = add nsw i32 %add1, %d, !dbg !35
4747 %add3 = add nsw i32 %add2, %e, !dbg !36
48 tail call void @llvm.dbg.value(metadata i32 %add3, i64 0, metadata !14, metadata !DIExpression()), !dbg !37
48 tail call void @llvm.dbg.value(metadata i32 %add3, metadata !14, metadata !DIExpression()), !dbg !37
4949 store i32 %add3, i32* %x, align 4, !dbg !37, !tbaa !38
50 tail call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !14, metadata !26), !dbg !37
50 tail call void @llvm.dbg.value(metadata i32* %x, metadata !14, metadata !26), !dbg !37
5151 call void @foo(i32* nonnull %x) #4, !dbg !42
52 call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !14, metadata !26), !dbg !37
52 call void @llvm.dbg.value(metadata i32* %x, metadata !14, metadata !26), !dbg !37
5353 %1 = load i32, i32* %x, align 4, !dbg !43, !tbaa !38
5454 call void @llvm.lifetime.end(i64 4, i8* %0) #4, !dbg !44
5555 ret i32 %1, !dbg !45
7070 define i32 @f1(i32 signext %a, i32 signext %b, i32 signext %c, i32 signext %d, i32 signext %e) !dbg !15 {
7171 entry:
7272 %x = alloca i32, align 16
73 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !17, metadata !DIExpression()), !dbg !46
74 tail call void @llvm.dbg.value(metadata i32 %b, i64 0, metadata !18, metadata !DIExpression()), !dbg !47
75 tail call void @llvm.dbg.value(metadata i32 %c, i64 0, metadata !19, metadata !DIExpression()), !dbg !48
76 tail call void @llvm.dbg.value(metadata i32 %d, i64 0, metadata !20, metadata !DIExpression()), !dbg !49
77 tail call void @llvm.dbg.value(metadata i32 %e, i64 0, metadata !21, metadata !DIExpression()), !dbg !50
73 tail call void @llvm.dbg.value(metadata i32 %a, metadata !17, metadata !DIExpression()), !dbg !46
74 tail call void @llvm.dbg.value(metadata i32 %b, metadata !18, metadata !DIExpression()), !dbg !47
75 tail call void @llvm.dbg.value(metadata i32 %c, metadata !19, metadata !DIExpression()), !dbg !48
76 tail call void @llvm.dbg.value(metadata i32 %d, metadata !20, metadata !DIExpression()), !dbg !49
77 tail call void @llvm.dbg.value(metadata i32 %e, metadata !21, metadata !DIExpression()), !dbg !50
7878 %0 = bitcast i32* %x to i8*, !dbg !51
7979 call void @llvm.lifetime.start(i64 4, i8* %0) #4, !dbg !51
8080 %add = add nsw i32 %b, %a, !dbg !52
8181 %add1 = add nsw i32 %add, %c, !dbg !53
8282 %add2 = add nsw i32 %add1, %d, !dbg !54
8383 %add3 = add nsw i32 %add2, %e, !dbg !55
84 tail call void @llvm.dbg.value(metadata i32 %add3, i64 0, metadata !22, metadata !DIExpression()), !dbg !56
84 tail call void @llvm.dbg.value(metadata i32 %add3, metadata !22, metadata !DIExpression()), !dbg !56
8585 store i32 %add3, i32* %x, align 16, !dbg !56, !tbaa !38
86 tail call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !22, metadata !26), !dbg !56
86 tail call void @llvm.dbg.value(metadata i32* %x, metadata !22, metadata !26), !dbg !56
8787 call void @foo(i32* nonnull %x) #4, !dbg !57
88 call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !22, metadata !26), !dbg !56
88 call void @llvm.dbg.value(metadata i32* %x, metadata !22, metadata !26), !dbg !56
8989 %1 = load i32, i32* %x, align 16, !dbg !58, !tbaa !38
9090 call void @llvm.lifetime.end(i64 4, i8* %0) #4, !dbg !59
9191 ret i32 %1, !dbg !60
9292 }
9393
94 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
94 declare void @llvm.dbg.value(metadata, metadata, metadata)
9595
9696 !llvm.dbg.cu = !{!0}
9797 !llvm.module.flags = !{!23, !24}
4646 ; Function Attrs: nounwind readnone
4747 define x86_fastcallcc i32 @"\01?f@@YIHHH@Z"(i32 inreg %a, i32 inreg %b) #0 !dbg !13 {
4848 entry:
49 tail call void @llvm.dbg.value(metadata i32 %b, i64 0, metadata !15, metadata !17), !dbg !18
50 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !16, metadata !17), !dbg !19
49 tail call void @llvm.dbg.value(metadata i32 %b, metadata !15, metadata !17), !dbg !18
50 tail call void @llvm.dbg.value(metadata i32 %a, metadata !16, metadata !17), !dbg !19
5151 %add = add nsw i32 %b, %a, !dbg !20
5252 ret i32 %add, !dbg !21
5353 }
5454
5555 ; Function Attrs: nounwind readnone
56 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
56 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
5757
5858 attributes #0 = { nounwind readnone "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
5959 attributes #1 = { nounwind readnone }
6363 entry:
6464 %call = tail call i32 @g(i32 0, i32 0) nounwind, !dbg !8
6565 store i32 %call, i32* @a, align 4, !dbg !8
66 tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !5, metadata !DIExpression()), !dbg !13
66 tail call void @llvm.dbg.value(metadata i32 1, metadata !5, metadata !DIExpression()), !dbg !13
6767 br label %while.body
6868
6969 while.body: ; preds = %entry, %while.body
7474 br i1 %tobool, label %while.end, label %while.body, !dbg !14
7575
7676 while.end: ; preds = %while.body
77 tail call void @llvm.dbg.value(metadata i32 %mul, i64 0, metadata !5, metadata !DIExpression()), !dbg !14
77 tail call void @llvm.dbg.value(metadata i32 %mul, metadata !5, metadata !DIExpression()), !dbg !14
7878 %call4 = tail call i32 @g(i32 %mul, i32 0) nounwind, !dbg !15
7979 store i32 %call4, i32* @a, align 4, !dbg !15
80 tail call void @llvm.dbg.value(metadata i32 2, i64 0, metadata !5, metadata !DIExpression()), !dbg !17
80 tail call void @llvm.dbg.value(metadata i32 2, metadata !5, metadata !DIExpression()), !dbg !17
8181 br label %while.body9
8282
8383 while.body9: ; preds = %while.end, %while.body9
8888 br i1 %tobool8, label %while.end13, label %while.body9, !dbg !18
8989
9090 while.end13: ; preds = %while.body9
91 tail call void @llvm.dbg.value(metadata i32 %mul12, i64 0, metadata !5, metadata !DIExpression()), !dbg !18
91 tail call void @llvm.dbg.value(metadata i32 %mul12, metadata !5, metadata !DIExpression()), !dbg !18
9292 %call15 = tail call i32 @g(i32 0, i32 %mul12) nounwind, !dbg !19
9393 store i32 %call15, i32* @a, align 4, !dbg !19
9494 ret void, !dbg !20
9696
9797 declare i32 @g(i32, i32)
9898
99 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
99 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
100100
101101 !llvm.dbg.cu = !{!2}
102102 !llvm.module.flags = !{!24}
1212 declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
1313
1414 ; Function Attrs: nounwind readnone
15 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
15 declare void @llvm.dbg.value(metadata, metadata, metadata) #0
1616
1717 ; Function Attrs: nounwind ssp
1818 define i32 @bar() #1 !dbg !8 {
1919 entry:
2020 %0 = load i32, i32* @i, align 4, !dbg !11
21 tail call void @llvm.dbg.value(metadata i32 %0, i64 0, metadata !13, metadata !24), !dbg !25
21 tail call void @llvm.dbg.value(metadata i32 %0, metadata !13, metadata !24), !dbg !25
2222 tail call void @llvm.dbg.declare(metadata !5, metadata !18, metadata !24), !dbg !26
2323 %1 = mul nsw i32 %0, %0, !dbg !27
2424 store i32 %1, i32* @i, align 4, !dbg !11
3939 declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
4040
4141 ; Function Attrs: nounwind readnone
42 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
42 declare void @llvm.dbg.value(metadata, metadata, metadata) #0
4343 ; The attributes are here to force the zero-sized range not to be at the start of
4444 ; the function, which has special interpretation in DWARF. The fact that this happens
4545 ; at all is probably an LLVM bug.
4646
4747 define void @fn1(i16 signext %p1) #1 !dbg !16 {
4848 entry:
49 tail call void @llvm.dbg.value(metadata i16 %p1, i64 0, metadata !20, metadata !23), !dbg !24
49 tail call void @llvm.dbg.value(metadata i16 %p1, metadata !20, metadata !23), !dbg !24
5050 tail call void @llvm.dbg.declare(metadata %struct.S0* undef, metadata !21, metadata !23), !dbg !25
5151 tail call void @llvm.dbg.declare(metadata %struct.S0* undef, metadata !22, metadata !23), !dbg !26
52 tail call void @llvm.dbg.value(metadata i32 3, i64 0, metadata !22, metadata !27), !dbg !26
53 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !22, metadata !28), !dbg !26
54 tail call void @llvm.dbg.value(metadata i16 %p1, i64 0, metadata !21, metadata !29), !dbg !25
55 tail call void @llvm.dbg.value(metadata i32 3, i64 0, metadata !21, metadata !27), !dbg !25
56 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !21, metadata !28), !dbg !25
52 tail call void @llvm.dbg.value(metadata i32 3, metadata !22, metadata !27), !dbg !26
53 tail call void @llvm.dbg.value(metadata i32 0, metadata !22, metadata !28), !dbg !26
54 tail call void @llvm.dbg.value(metadata i16 %p1, metadata !21, metadata !29), !dbg !25
55 tail call void @llvm.dbg.value(metadata i32 3, metadata !21, metadata !27), !dbg !25
56 tail call void @llvm.dbg.value(metadata i32 0, metadata !21, metadata !28), !dbg !25
5757 store i32 3, i32* bitcast (%struct.S0* @a to i32*), align 4, !dbg !30
5858 store i32 0, i32* getelementptr inbounds (%struct.S0, %struct.S0* @a, i64 0, i32 1), align 4, !dbg !30
5959 ret void, !dbg !31
3030 ; Function Attrs: nounwind ssp uwtable
3131 define void @f(i32* nocapture %p) local_unnamed_addr #0 !dbg !8 {
3232 entry:
33 tail call void @llvm.dbg.value(metadata i32* %p, i64 0, metadata !14, metadata !15), !dbg !16
33 tail call void @llvm.dbg.value(metadata i32* %p, metadata !14, metadata !15), !dbg !16
3434 store i32 42, i32* %p, align 4, !dbg !17, !tbaa !18
3535 ret void, !dbg !22
3636 }
4242 define i32 @main(i32 %argc, i8** nocapture readnone %argv) local_unnamed_addr #0 !dbg !23 {
4343 entry:
4444 %array = alloca [4 x i32], align 16
45 tail call void @llvm.dbg.value(metadata i32 %argc, i64 0, metadata !30, metadata !15), !dbg !36
46 tail call void @llvm.dbg.value(metadata i8** %argv, i64 0, metadata !31, metadata !15), !dbg !37
45 tail call void @llvm.dbg.value(metadata i32 %argc, metadata !30, metadata !15), !dbg !36
46 tail call void @llvm.dbg.value(metadata i8** %argv, metadata !31, metadata !15), !dbg !37
4747 %0 = bitcast [4 x i32]* %array to i8*, !dbg !38
4848 call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %0) #3, !dbg !38
4949 tail call void @llvm.dbg.declare(metadata [4 x i32]* %array, metadata !32, metadata !15), !dbg !39
6565 declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #2
6666
6767 ; Function Attrs: nounwind readnone speculatable
68 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
68 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
6969
7070 attributes #0 = { nounwind ssp uwtable }
7171 attributes #1 = { nounwind readnone speculatable }
1515 ; Test that we correctly lower dbg.declares for arrays.
1616 ;
1717 ; CHECK: define i32 @main
18 ; CHECK: call void @llvm.dbg.value(metadata i32 42, i64 0, metadata ![[ARRAY:[0-9]+]], metadata ![[EXPR:[0-9]+]])
18 ; CHECK: call void @llvm.dbg.value(metadata i32 42, metadata ![[ARRAY:[0-9]+]], metadata ![[EXPR:[0-9]+]])
1919 ; CHECK: ![[ARRAY]] = !DILocalVariable(name: "array",{{.*}} line: 6
2020 ; CHECK: ![[EXPR]] = !DIExpression(DW_OP_LLVM_fragment, 0, 32)
2121 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
2727 %x = alloca i32, align 4
2828 %0 = bitcast i32* %x to i8*, !dbg !14
2929 call void @llvm.lifetime.start(i64 4, i8* %0) #4, !dbg !14
30 tail call void @llvm.dbg.value(metadata i32 23, i64 0, metadata !9, metadata !15), !dbg !16
30 tail call void @llvm.dbg.value(metadata i32 23, metadata !9, metadata !15), !dbg !16
3131 store i32 23, i32* %x, align 4, !dbg !16, !tbaa !17
32 tail call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !9, metadata !DIExpression(DW_OP_deref)), !dbg !16
32 tail call void @llvm.dbg.value(metadata i32* %x, metadata !9, metadata !DIExpression(DW_OP_deref)), !dbg !16
3333 call void @g(i32* nonnull %x) #4, !dbg !21
34 call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !9, metadata !DIExpression(DW_OP_deref)), !dbg !16
34 call void @llvm.dbg.value(metadata i32* %x, metadata !9, metadata !DIExpression(DW_OP_deref)), !dbg !16
3535 %1 = load i32, i32* %x, align 4, !dbg !22, !tbaa !17
3636 %cmp = icmp eq i32 %1, 42, !dbg !24
3737 br i1 %cmp, label %if.then, label %if.end, !dbg !25
3838
3939 if.then: ; preds = %entry
40 call void @llvm.dbg.value(metadata i32 43, i64 0, metadata !9, metadata !15), !dbg !16
40 call void @llvm.dbg.value(metadata i32 43, metadata !9, metadata !15), !dbg !16
4141 store i32 43, i32* %x, align 4, !dbg !26, !tbaa !17
4242 br label %if.end, !dbg !26
4343
4444 if.end: ; preds = %if.then, %entry
4545 %2 = phi i32 [ 43, %if.then ], [ %1, %entry ], !dbg !27
46 call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !9, metadata !DIExpression(DW_OP_deref)), !dbg !16
46 call void @llvm.dbg.value(metadata i32* %x, metadata !9, metadata !DIExpression(DW_OP_deref)), !dbg !16
4747 call void @llvm.lifetime.end(i64 4, i8* %0) #4, !dbg !28
4848 ret i32 %2, !dbg !29
4949 }
5757 declare void @llvm.lifetime.end(i64, i8* nocapture) #1
5858
5959 ; Function Attrs: nounwind readnone
60 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #3
60 declare void @llvm.dbg.value(metadata, metadata, metadata) #3
6161
6262 attributes #0 = { nounwind ssp uwtable }
6363 attributes #1 = { argmemonly nounwind }
3232 %block.addr = alloca <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, void (...)* }>*, align 8
3333 store i8* %.block_descriptor, i8** %.block_descriptor.addr, align 8
3434 %0 = load i8*, i8** %.block_descriptor.addr
35 call void @llvm.dbg.value(metadata i8* %0, i64 0, metadata !47, metadata !43), !dbg !66
35 call void @llvm.dbg.value(metadata i8* %0, metadata !47, metadata !43), !dbg !66
3636 call void @llvm.dbg.declare(metadata i8* %.block_descriptor, metadata !47, metadata !43), !dbg !66
3737 %block = bitcast i8* %.block_descriptor to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, void (...)* }>*, !dbg !67
3838 store <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, void (...)* }>* %block, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, void (...)* }>** %block.addr, align 8
4949 }
5050
5151 ; Function Attrs: nounwind readnone
52 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
52 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
5353
5454
5555 attributes #0 = { nounwind ssp uwtable }
4141 ; Function Attrs: nounwind readnone ssp uwtable
4242 define i32 @_Z3foo1S(i32 %s.coerce) #0 !dbg !12 {
4343 entry:
44 tail call void @llvm.dbg.value(metadata i32 %s.coerce, i64 0, metadata !18, metadata !37), !dbg !38
45 tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !18, metadata !37), !dbg !38
44 tail call void @llvm.dbg.value(metadata i32 %s.coerce, metadata !18, metadata !37), !dbg !38
45 tail call void @llvm.dbg.value(metadata i32 1, metadata !18, metadata !37), !dbg !38
4646 ret i32 1, !dbg !39
4747 }
4848
4949 ; Function Attrs: nounwind readnone ssp uwtable
5050 define i32 @_Z3foo1C(i32 %c.coerce) #0 !dbg !19 {
5151 entry:
52 tail call void @llvm.dbg.value(metadata i32 %c.coerce, i64 0, metadata !23, metadata !37), !dbg !40
53 tail call void @llvm.dbg.value(metadata i32 2, i64 0, metadata !23, metadata !37), !dbg !40
52 tail call void @llvm.dbg.value(metadata i32 %c.coerce, metadata !23, metadata !37), !dbg !40
53 tail call void @llvm.dbg.value(metadata i32 2, metadata !23, metadata !37), !dbg !40
5454 ret i32 2, !dbg !41
5555 }
5656
5757 ; Function Attrs: nounwind readnone ssp uwtable
5858 define i32 @_Z3barv() #0 !dbg !24 {
5959 entry:
60 tail call void @llvm.dbg.value(metadata i32 3, i64 0, metadata !28, metadata !37), !dbg !42
60 tail call void @llvm.dbg.value(metadata i32 3, metadata !28, metadata !37), !dbg !42
6161 ret i32 3, !dbg !43
6262 }
6363
6464 ; Function Attrs: nounwind readnone
65 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
65 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
6666
6767 attributes #0 = { nounwind readnone ssp uwtable }
6868 attributes #1 = { nounwind readnone }
2929 %2 = alloca i64, align 8
3030 %3 = alloca i64, align 8
3131 store double 2.000000e+00, double* %1, align 8, !dbg !21
32 call void @llvm.dbg.value(metadata i64 0, i64 0, metadata !22, metadata !15), !dbg !24
33 call void @llvm.dbg.value(metadata i64 0, i64 0, metadata !25, metadata !15), !dbg !27
34 call void @llvm.dbg.value(metadata double 2.000000e+00, i64 0, metadata !19, metadata !15), !dbg !21
32 call void @llvm.dbg.value(metadata i64 0, metadata !22, metadata !15), !dbg !24
33 call void @llvm.dbg.value(metadata i64 0, metadata !25, metadata !15), !dbg !27
34 call void @llvm.dbg.value(metadata double 2.000000e+00, metadata !19, metadata !15), !dbg !21
3535 store i64 4611686018427387904, i64* %2, align 8, !dbg !24
36 call void @llvm.dbg.value(metadata i64 4611686018427387904, i64 0, metadata !22, metadata !15), !dbg !24
37 call void @llvm.dbg.value(metadata i64 4611686018427387904, i64 0, metadata !25, metadata !15), !dbg !27
36 call void @llvm.dbg.value(metadata i64 4611686018427387904, metadata !22, metadata !15), !dbg !24
37 call void @llvm.dbg.value(metadata i64 4611686018427387904, metadata !25, metadata !15), !dbg !27
3838 store i64 4611686018427387904, i64* %3, align 8, !dbg !27
3939 ret void, !dbg !28
4040 }
4141
4242 ; Function Attrs: nounwind readnone
4343 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
44 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
44 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
4545
4646
4747 attributes #0 = { nounwind ssp uwtable }
1111
1212 define i32 @foo() nounwind uwtable readnone optsize ssp !dbg !1 {
1313 entry:
14 tail call void @llvm.dbg.value(metadata i32 42, i64 0, metadata !6, metadata !DIExpression()), !dbg !9
14 tail call void @llvm.dbg.value(metadata i32 42, metadata !6, metadata !DIExpression()), !dbg !9
1515 ret i32 42, !dbg !10
1616 }
1717
18 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
18 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
1919
2020 !llvm.dbg.cu = !{!0}
2121 !llvm.module.flags = !{!15}
1616 ;CHECK-NEXT: .byte 42
1717 define i32 @foobar() nounwind readonly noinline ssp !dbg !0 {
1818 entry:
19 tail call void @llvm.dbg.value(metadata i32 42, i64 0, metadata !6, metadata !DIExpression()), !dbg !9
19 tail call void @llvm.dbg.value(metadata i32 42, metadata !6, metadata !DIExpression()), !dbg !9
2020 %call = tail call i32 @bar(), !dbg !11
21 tail call void @llvm.dbg.value(metadata i32 %call, i64 0, metadata !6, metadata !DIExpression()), !dbg !11
21 tail call void @llvm.dbg.value(metadata i32 %call, metadata !6, metadata !DIExpression()), !dbg !11
2222 %call2 = tail call i32 @bar(), !dbg !11
2323 %add = add nsw i32 %call2, %call, !dbg !12
2424 ret i32 %add, !dbg !10
2525 }
2626
27 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
27 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
2828 declare i32 @bar() nounwind readnone
2929
3030 !llvm.dbg.cu = !{!2}
55
66 define i128 @__foo(i128 %a, i128 %b) nounwind !dbg !3 {
77 entry:
8 tail call void @llvm.dbg.value(metadata i128 42 , i64 0, metadata !1, metadata !DIExpression()), !dbg !11
8 tail call void @llvm.dbg.value(metadata i128 42 , metadata !1, metadata !DIExpression()), !dbg !11
99 %add = add i128 %a, %b, !dbg !11
1010 ret i128 %add, !dbg !11
1111 }
1212
13 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
13 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
1414
1515 !llvm.dbg.cu = !{!5}
1616 !llvm.module.flags = !{!16}
1414
1515 define hidden i128 @__divti3(i128 %u, i128 %v) nounwind readnone !dbg !9 {
1616 entry:
17 tail call void @llvm.dbg.value(metadata i128 %u, i64 0, metadata !14, metadata !DIExpression()), !dbg !15
18 tail call void @llvm.dbg.value(metadata i64 0, i64 0, metadata !17, metadata !DIExpression()), !dbg !21
17 tail call void @llvm.dbg.value(metadata i128 %u, metadata !14, metadata !DIExpression()), !dbg !15
18 tail call void @llvm.dbg.value(metadata i64 0, metadata !17, metadata !DIExpression()), !dbg !21
1919 br i1 undef, label %bb2, label %bb4, !dbg !22
2020
2121 bb2: ; preds = %entry
22 tail call void @llvm.dbg.value(metadata i128 %u, i64 0, metadata !14, metadata !DIExpression()), !dbg !15
22 tail call void @llvm.dbg.value(metadata i128 %u, metadata !14, metadata !DIExpression()), !dbg !15
2323 br label %bb4, !dbg !23
2424
2525 bb4: ; preds = %bb2, %entry
3434
3535 declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
3636
37 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
37 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
3838
3939 declare %0 @llvm.uadd.with.overflow.i64(i64, i64) nounwind readnone
4040
5050 define i32 @foo() #0 !dbg !4 {
5151 entry:
5252 %i = alloca i32, align 4
53 call void @llvm.dbg.value(metadata i32 3, i64 0, metadata !10, metadata !DIExpression()), !dbg !15
53 call void @llvm.dbg.value(metadata i32 3, metadata !10, metadata !DIExpression()), !dbg !15
5454 %call = call i32 @f3(i32 3) #3, !dbg !16
55 call void @llvm.dbg.value(metadata i32 7, i64 0, metadata !10, metadata !DIExpression()), !dbg !18
55 call void @llvm.dbg.value(metadata i32 7, metadata !10, metadata !DIExpression()), !dbg !18
5656 %call1 = call i32 (...) @f1() #3, !dbg !19
57 call void @llvm.dbg.value(metadata i32 %call1, i64 0, metadata !10, metadata !DIExpression()), !dbg !19
57 call void @llvm.dbg.value(metadata i32 %call1, metadata !10, metadata !DIExpression()), !dbg !19
5858 store i32 %call1, i32* %i, align 4, !dbg !19, !tbaa !20
59 call void @llvm.dbg.value(metadata i32* %i, i64 0, metadata !10, metadata !DIExpression(DW_OP_deref)), !dbg !24
59 call void @llvm.dbg.value(metadata i32* %i, metadata !10, metadata !DIExpression(DW_OP_deref)), !dbg !24
6060 call void @f2(i32* %i) #3, !dbg !24
6161 ret i32 0, !dbg !25
6262 }
6868 declare void @f2(i32*)
6969
7070 ; Function Attrs: nounwind readnone
71 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
71 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
7272
7373 attributes #0 = { nounwind ssp uwtable }
7474 attributes #2 = { nounwind readnone }
1111 ; CHECK-NOT: ##DEBUG_VALUE:
1212
1313 declare <4 x i32> @__amdil_get_global_id_int()
14 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
14 declare void @llvm.dbg.value(metadata, metadata, metadata)
1515 define void @__OpenCL_test_kernel(i32 addrspace(1)* %ip) nounwind !dbg !0 {
1616 entry:
17 call void @llvm.dbg.value(metadata i32 addrspace(1)* %ip, i64 0, metadata !7, metadata !DIExpression()), !dbg !8
17 call void @llvm.dbg.value(metadata i32 addrspace(1)* %ip, metadata !7, metadata !DIExpression()), !dbg !8
1818 %0 = call <4 x i32> @__amdil_get_global_id_int() nounwind
1919 %1 = extractelement <4 x i32> %0, i32 0
20 call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !9, metadata !DIExpression()), !dbg !11
21 call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !21, metadata !DIExpression()), !dbg !14
20 call void @llvm.dbg.value(metadata i32 %1, metadata !9, metadata !DIExpression()), !dbg !11
21 call void @llvm.dbg.value(metadata i32 0, metadata !21, metadata !DIExpression()), !dbg !14
2222 %tmp2 = load i32, i32 addrspace(1)* %ip, align 4, !dbg !15
2323 %tmp3 = add i32 0, %tmp2, !dbg !15
24 call void @llvm.dbg.value(metadata i32 %tmp3, i64 0, metadata !13, metadata !DIExpression()), !dbg !15
24 call void @llvm.dbg.value(metadata i32 %tmp3, metadata !13, metadata !DIExpression()), !dbg !15
2525 %arrayidx = getelementptr i32, i32 addrspace(1)* %ip, i32 %1, !dbg !16
2626 store i32 %tmp3, i32 addrspace(1)* %arrayidx, align 4, !dbg !16
2727 ret void, !dbg !17
55 br label %while.cond
66
77 while.cond:
8 call void @llvm.dbg.value(metadata i64* %end, i64 0, metadata !5, metadata !6), !dbg !7
8 call void @llvm.dbg.value(metadata i64* %end, metadata !5, metadata !6), !dbg !7
99 %call = call i1 @fn(i64* %end, i64* %end, i64* null, i8* null, i64 0, i64* null, i32* null, i8* null), !dbg !7
1010 br label %while.body
1111
2020 ; CHECK: #DEBUG_VALUE: test:w <- [%RSP+8]
2121
2222 declare i1 @fn(i64*, i64*, i64*, i8*, i64, i64*, i32*, i8*)
23 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
23 declare void @llvm.dbg.value(metadata, metadata, metadata)
2424
2525 !llvm.dbg.cu = !{!0}
2626 !llvm.module.flags = !{!2,!3}
3737 ; Function Attrs: uwtable
3838 define void @_Z3fooi(i32 %param) local_unnamed_addr #0 !dbg !8 {
3939 entry:
40 tail call void @llvm.dbg.value(metadata i32 %param, i64 0, metadata !13, metadata !14), !dbg !15
40 tail call void @llvm.dbg.value(metadata i32 %param, metadata !13, metadata !14), !dbg !15
4141 %tobool = icmp eq i32 %param, 0, !dbg !16
4242 br i1 %tobool, label %if.end, label %if.then, !dbg !18
4343
5050 }
5151
5252 ; Function Attrs: nounwind readnone
53 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
53 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
5454
5555 declare void @_Z1fv() local_unnamed_addr #2
5656
5757 ; Function Attrs: nounwind readnone uwtable
5858 define void @_Z3barv() local_unnamed_addr #3 !dbg !22 {
5959 entry:
60 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !13, metadata !14), !dbg !24
60 tail call void @llvm.dbg.value(metadata i32 0, metadata !13, metadata !14), !dbg !24
6161 ret void, !dbg !26
6262 }
6363
4747 ; Function Attrs: nounwind optsize ssp
4848 define i32 @foo(%struct.S1* nocapture %sp, i32 %nums) #0 !dbg !15 {
4949 entry:
50 tail call void @llvm.dbg.value(metadata %struct.S1* %sp, i64 0, metadata !19, metadata !22), !dbg !23
51 tail call void @llvm.dbg.value(metadata i32 %nums, i64 0, metadata !21, metadata !22), !dbg !24
50 tail call void @llvm.dbg.value(metadata %struct.S1* %sp, metadata !19, metadata !22), !dbg !23
51 tail call void @llvm.dbg.value(metadata i32 %nums, metadata !21, metadata !22), !dbg !24
5252 %tmp2 = getelementptr inbounds %struct.S1, %struct.S1* %sp, i64 0, i32 1, !dbg !25
5353 store i32 %nums, i32* %tmp2, align 4, !dbg !25
5454 %call = tail call float* @bar(i32 %nums) #3, !dbg !27
6565 ; Function Attrs: nounwind optsize ssp
6666 define void @foobar() #0 !dbg !29 {
6767 entry:
68 tail call void @llvm.dbg.value(metadata %struct.S1* @p, i64 0, metadata !19, metadata !22) #4, !dbg !32
69 tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !21, metadata !22) #4, !dbg !35
68 tail call void @llvm.dbg.value(metadata %struct.S1* @p, metadata !19, metadata !22) #4, !dbg !32
69 tail call void @llvm.dbg.value(metadata i32 1, metadata !21, metadata !22) #4, !dbg !35
7070 store i32 1, i32* getelementptr inbounds (%struct.S1, %struct.S1* @p, i64 0, i32 1), align 8, !dbg !36
7171 %call.i = tail call float* @bar(i32 1) #3, !dbg !37
7272 store float* %call.i, float** getelementptr inbounds (%struct.S1, %struct.S1* @p, i64 0, i32 0), align 8, !dbg !37
7575
7676 ; Function Attrs: nounwind readnone
7777
78 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
78 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
7979
8080 attributes #0 = { nounwind optsize ssp }
8181 attributes #1 = { optsize }
1212
1313 define void @__OpenCL_nbt02_kernel(i32 addrspace(1)* %ip) nounwind !dbg !0 {
1414 entry:
15 call void @llvm.dbg.value(metadata i32 addrspace(1)* %ip, i64 0, metadata !8, metadata !DIExpression()), !dbg !9
15 call void @llvm.dbg.value(metadata i32 addrspace(1)* %ip, metadata !8, metadata !DIExpression()), !dbg !9
1616 %0 = call <4 x i32> @__amdil_get_local_id_int() nounwind
1717 %1 = extractelement <4 x i32> %0, i32 0
1818 br label %2
2727
2828 get_local_id.exit: ; preds = %4
2929 %6 = phi i32 [ %5, %4 ]
30 call void @llvm.dbg.value(metadata i32 %6, i64 0, metadata !10, metadata !DIExpression()), !dbg !12
30 call void @llvm.dbg.value(metadata i32 %6, metadata !10, metadata !DIExpression()), !dbg !12
3131 %7 = call <4 x i32> @__amdil_get_global_id_int() nounwind, !dbg !12
3232 %8 = extractelement <4 x i32> %7, i32 0, !dbg !12
3333 br label %9
4242
4343 get_global_id.exit: ; preds = %11
4444 %13 = phi i32 [ %12, %11 ]
45 call void @llvm.dbg.value(metadata i32 %13, i64 0, metadata !13, metadata !DIExpression()), !dbg !14
45 call void @llvm.dbg.value(metadata i32 %13, metadata !13, metadata !DIExpression()), !dbg !14
4646 %14 = call <4 x i32> @__amdil_get_local_size_int() nounwind
4747 %15 = extractelement <4 x i32> %14, i32 0
4848 br label %16
5757
5858 get_local_size.exit: ; preds = %18
5959 %20 = phi i32 [ %19, %18 ]
60 call void @llvm.dbg.value(metadata i32 %20, i64 0, metadata !15, metadata !DIExpression()), !dbg !16
60 call void @llvm.dbg.value(metadata i32 %20, metadata !15, metadata !DIExpression()), !dbg !16
6161 %tmp5 = add i32 %6, %13, !dbg !17
6262 %tmp7 = add i32 %tmp5, %20, !dbg !17
6363 store i32 %tmp7, i32 addrspace(1)* %ip, align 4, !dbg !17
7575
7676 declare <4 x i32> @__amdil_get_global_id_int() nounwind
7777
78 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
78 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
7979
8080 !llvm.dbg.cu = !{!2}
8181 !llvm.module.flags = !{!22}
1717
1818 define i32 @foo(i32 %dev, i64 %cmd, i8* %data, i32 %data2) nounwind optsize ssp !dbg !0 {
1919 entry:
20 call void @llvm.dbg.value(metadata i32 %dev, i64 0, metadata !12, metadata !DIExpression()), !dbg !13
20 call void @llvm.dbg.value(metadata i32 %dev, metadata !12, metadata !DIExpression()), !dbg !13
2121 %tmp.i = load i32, i32* @dfm, align 4, !dbg !14
2222 %cmp.i = icmp eq i32 %tmp.i, 0, !dbg !14
2323 br i1 %cmp.i, label %if.else, label %if.end.i, !dbg !14
4444 declare hidden fastcc i32 @bar(i32, i32* nocapture) nounwind optsize ssp
4545 declare hidden fastcc i32 @bar2(i32) nounwind optsize ssp
4646 declare hidden fastcc i32 @bar3(i32) nounwind optsize ssp
47 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
47 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
4848
4949 !llvm.dbg.cu = !{!2}
5050 !llvm.module.flags = !{!29}
33
44 define i32 @bar(%struct.a* nocapture %b) nounwind ssp !dbg !0 {
55 entry:
6 tail call void @llvm.dbg.value(metadata %struct.a* %b, i64 0, metadata !6, metadata !DIExpression()), !dbg !13
6 tail call void @llvm.dbg.value(metadata %struct.a* %b, metadata !6, metadata !DIExpression()), !dbg !13
77 %tmp1 = getelementptr inbounds %struct.a, %struct.a* %b, i64 0, i32 0, !dbg !14
88 %tmp2 = load i32, i32* %tmp1, align 4, !dbg !14
9 tail call void @llvm.dbg.value(metadata i32 %tmp2, i64 0, metadata !11, metadata !DIExpression()), !dbg !14
9 tail call void @llvm.dbg.value(metadata i32 %tmp2, metadata !11, metadata !DIExpression()), !dbg !14
1010 %call = tail call i32 (...) @foo(i32 %tmp2) nounwind , !dbg !18
1111 %add = add nsw i32 %tmp2, 1, !dbg !19
1212 ret i32 %add, !dbg !19
1414
1515 declare i32 @foo(...)
1616
17 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
17 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
1818
1919 !llvm.dbg.cu = !{!2}
2020 !llvm.module.flags = !{!24}
3939 ; Function Attrs: nounwind uwtable
4040 define i32 @main(i32 %argc, i8** nocapture readnone %argv) #0 !dbg !12 {
4141 entry:
42 tail call void @llvm.dbg.value(metadata i8** %argv, i64 0, metadata !19, metadata !21), !dbg !22
43 tail call void @llvm.dbg.value(metadata i32 %argc, i64 0, metadata !20, metadata !21), !dbg !23
42 tail call void @llvm.dbg.value(metadata i8** %argv, metadata !19, metadata !21), !dbg !22
43 tail call void @llvm.dbg.value(metadata i32 %argc, metadata !20, metadata !21), !dbg !23
4444 store volatile i32 1, i32* @x, align 4, !dbg !24, !tbaa !25
4545 tail call void @clobber() #2, !dbg !29
4646 store volatile i32 2, i32* @x, align 4, !dbg !30, !tbaa !25
6464 declare void @clobber()
6565
6666 ; Function Attrs: nounwind readnone
67 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
67 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
6868
6969 attributes #0 = { nounwind uwtable }
7070 attributes #1 = { nounwind readnone }
8787 "44.i": ; preds = %"42.i"
8888 %2 = load %a*, %a** undef, align 8, !dbg !12
8989 %3 = bitcast %a* %2 to %a*, !dbg !12
90 call void @llvm.dbg.value(metadata %a* %3, i64 0, metadata !6, metadata !DIExpression(DW_OP_deref)), !dbg !12
90 call void @llvm.dbg.value(metadata %a* %3, metadata !6, metadata !DIExpression(DW_OP_deref)), !dbg !12
9191 br label %may_unswitch_on.exit, !dbg !12
9292
9393 "45.i": ; preds = %"38.i"
108108 attributes #0 = { nounwind readnone }
109109 attributes #1 = { nounwind uwtable }
110110
111 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
111 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
112112
113113 !llvm.dbg.cu = !{!0}
114114 !llvm.module.flags = !{!22}
166166 %d = alloca %1*, align 8
167167 store i8* %.block_descriptor, i8** %1, align 8
168168 %3 = load i8*, i8** %1
169 call void @llvm.dbg.value(metadata i8* %3, i64 0, metadata !76, metadata !DIExpression()), !dbg !88
169 call void @llvm.dbg.value(metadata i8* %3, metadata !76, metadata !DIExpression()), !dbg !88
170170 call void @llvm.dbg.declare(metadata i8* %.block_descriptor, metadata !76, metadata !DIExpression()), !dbg !88
171171 %4 = bitcast i8* %.block_descriptor to <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>*, !dbg !88
172172 store <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>* %4, <{ i8*, i32, i32, i8*, %struct.__block_descriptor*, %0* }>** %2, align 8, !dbg !88
199199 ret void, !dbg !90
200200 }
201201
202 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
202 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
203203
204204 declare i8* @objc_msgSend_fixup(i8*, %struct._message_ref_t*, ...)
205205
5252 %0 = bitcast i32* %val to i8*, !dbg !22
5353 call void @llvm.lifetime.start(i64 4, i8* %0), !dbg !22
5454 %1 = load i32, i32* @data, align 4, !dbg !23, !tbaa !24
55 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !21, metadata !28), !dbg !29
55 tail call void @llvm.dbg.value(metadata i32 %1, metadata !21, metadata !28), !dbg !29
5656 store i32 %1, i32* %val, align 4, !dbg !30, !tbaa !24
57 tail call void @llvm.dbg.value(metadata i32* %val, i64 0, metadata !21, metadata !31), !dbg !29
57 tail call void @llvm.dbg.value(metadata i32* %val, metadata !21, metadata !31), !dbg !29
5858 call void @foo(i32 1, i32* nonnull %val), !dbg !32
5959 call void @foo(i32 2, i32* nonnull @data), !dbg !33
6060 %2 = load i32, i32* @zero, align 4, !dbg !34, !tbaa !24
7171 declare void @llvm.lifetime.end(i64, i8* nocapture) #0
7272
7373 ; Function Attrs: nounwind readnone
74 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
74 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
7575
7676 attributes #0 = { argmemonly nounwind }
7777 attributes #1 = { nounwind readnone }
3030 %call = call i8* @_Znwm(i64 4) #4, !dbg !19
3131 %_msret = load i64, i64* getelementptr inbounds ([8 x i64], [8 x i64]* @__msan_retval_tls, i64 0, i64 0), align 8, !dbg !19
3232 %3 = bitcast i8* %call to i32*, !dbg !19
33 tail call void @llvm.dbg.value(metadata i32* %3, i64 0, metadata !9, metadata !DIExpression()), !dbg !19
33 tail call void @llvm.dbg.value(metadata i32* %3, metadata !9, metadata !DIExpression()), !dbg !19
3434 %4 = inttoptr i64 %1 to i64*, !dbg !19
3535 store i64 %_msret, i64* %4, align 8, !dbg !19
3636 store volatile i32* %3, i32** %p, align 8, !dbg !19
37 tail call void @llvm.dbg.value(metadata i32** %p, i64 0, metadata !9, metadata !DIExpression()), !dbg !19
37 tail call void @llvm.dbg.value(metadata i32** %p, metadata !9, metadata !DIExpression()), !dbg !19
3838 %p.0.p.0. = load volatile i32*, i32** %p, align 8, !dbg !20
3939 %_msld = load i64, i64* %4, align 8, !dbg !20
4040 %_mscmp = icmp eq i64 %_msld, 0, !dbg !20
9595 %call.i = call i8* @_Znwm(i64 4) #4, !dbg !30
9696 %_msret = load i64, i64* getelementptr inbounds ([8 x i64], [8 x i64]* @__msan_retval_tls, i64 0, i64 0), align 8, !dbg !30
9797 %3 = bitcast i8* %call.i to i32*, !dbg !30
98 tail call void @llvm.dbg.value(metadata i32* %3, i64 0, metadata !32, metadata !DIExpression()), !dbg !30
98 tail call void @llvm.dbg.value(metadata i32* %3, metadata !32, metadata !DIExpression()), !dbg !30
9999 %4 = inttoptr i64 %1 to i64*, !dbg !30
100100 store i64 %_msret, i64* %4, align 8, !dbg !30
101101 store volatile i32* %3, i32** %p.i, align 8, !dbg !30
102 tail call void @llvm.dbg.value(metadata i32** %p.i, i64 0, metadata !32, metadata !DIExpression()), !dbg !30
102 tail call void @llvm.dbg.value(metadata i32** %p.i, metadata !32, metadata !DIExpression()), !dbg !30
103103 %p.i.0.p.0.p.0..i = load volatile i32*, i32** %p.i, align 8, !dbg !33
104104 %_msld = load i64, i64* %4, align 8, !dbg !33
105105 %_mscmp = icmp eq i64 %_msld, 0, !dbg !33
147147 declare void @__msan_init()
148148
149149 ; Function Attrs: nounwind readnone
150 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
150 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
151151
152152 ; Function Attrs: nounwind
153153 declare i32 @puts(i8* nocapture readonly) #3
1313 br i1 undef, label %exit, label %bb
1414
1515 bb: ; preds = %entry
16 call void @llvm.dbg.value(metadata i8* undef, i64 0, metadata !15, metadata !16), !dbg !17
16 call void @llvm.dbg.value(metadata i8* undef, metadata !15, metadata !16), !dbg !17
1717 br label %exit
1818
1919 exit: ; preds = %bb, %entry
2020 ret void
2121 }
2222
23 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
23 declare void @llvm.dbg.value(metadata, metadata, metadata)
2424
2525 !llvm.module.flags = !{!0, !1}
2626 !llvm.dbg.cu = !{!2}
2525 define i32 @inc(i32 %i) local_unnamed_addr #1 !dbg !7 {
2626 entry:
2727 %add = add nsw i32 %i, 1, !dbg !15
28 tail call void @llvm.dbg.value(metadata i32 %add, i64 0, metadata !12, metadata !13), !dbg !14
28 tail call void @llvm.dbg.value(metadata i32 %add, metadata !12, metadata !13), !dbg !14
2929 ret i32 %add, !dbg !16
3030 }
3131
32 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
32 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
3333
3434 attributes #1 = { nounwind readnone }
3535
2727 ; Function Attrs: nounwind readnone uwtable
2828 define i32 @_Z3fooi(i32 %bar) #0 !dbg !9 {
2929 entry:
30 tail call void @llvm.dbg.value(metadata i32 %bar, i64 0, metadata !13, metadata !14), !dbg !15
30 tail call void @llvm.dbg.value(metadata i32 %bar, metadata !13, metadata !14), !dbg !15
3131 ret i32 %bar, !dbg !15
3232 }
3333
3434 ; Function Attrs: nounwind readnone uwtable
3535 define i32 @_Z4foo2i(i32 %bar2) #0 !dbg !16 {
3636 entry:
37 tail call void @llvm.dbg.value(metadata i32 %bar2, i64 0, metadata !18, metadata !14), !dbg !19
37 tail call void @llvm.dbg.value(metadata i32 %bar2, metadata !18, metadata !14), !dbg !19
3838 ret i32 %bar2, !dbg !19
3939 }
4040
5050 }
5151
5252 ; Function Attrs: nounwind readnone
53 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
53 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
5454
5555 attributes #0 = { nounwind readnone uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
5656 attributes #1 = { nounwind readonly uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
33
44 %struct.cpp_dir = type { %struct.cpp_dir*, i8*, i32, i8, i8**, i8*, i8* (i8*, %struct.cpp_dir*)*, i64, i32, i8 }
55
6 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
6 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
77
88 define internal i8* @framework_construct_pathname(i8* %fname, %struct.cpp_dir* %dir) nounwind ssp !dbg !2 {
99 entry:
1212 bb: ; preds = %entry
1313 %tmp = icmp eq i32 undef, 0
1414 %tmp1 = add i32 0, 11
15 call void @llvm.dbg.value(metadata i32 %tmp1, i64 0, metadata !0, metadata !DIExpression()), !dbg !DILocation(scope: !1)
15 call void @llvm.dbg.value(metadata i32 %tmp1, metadata !0, metadata !DIExpression()), !dbg !DILocation(scope: !1)
1616 br i1 undef, label %bb18, label %bb31.preheader
1717
1818 bb31.preheader: ; preds = %bb19, %bb
2121
2222 define void @_ZN1DC2Ev(%class.D* nocapture %this) unnamed_addr nounwind uwtable align 2 !dbg !5 {
2323 entry:
24 tail call void @llvm.dbg.value(metadata %class.D* %this, i64 0, metadata !29, metadata !DIExpression()), !dbg !36
24 tail call void @llvm.dbg.value(metadata %class.D* %this, metadata !29, metadata !DIExpression()), !dbg !36
2525 %c1 = getelementptr inbounds %class.D, %class.D* %this, i64 0, i32 0, !dbg !37
2626 store i32 1, i32* %c1, align 4, !dbg !37
2727 %c2 = getelementptr inbounds %class.D, %class.D* %this, i64 0, i32 1, !dbg !42
3535
3636 define void @_ZN1DC2ERKS_(%class.D* nocapture %this, %class.D* nocapture %d) unnamed_addr nounwind uwtable align 2 !dbg !31 {
3737 entry:
38 tail call void @llvm.dbg.value(metadata %class.D* %this, i64 0, metadata !34, metadata !DIExpression()), !dbg !46
39 tail call void @llvm.dbg.value(metadata %class.D* %d, i64 0, metadata !35, metadata !DIExpression()), !dbg !46
38 tail call void @llvm.dbg.value(metadata %class.D* %this, metadata !34, metadata !DIExpression()), !dbg !46
39 tail call void @llvm.dbg.value(metadata %class.D* %d, metadata !35, metadata !DIExpression()), !dbg !46
4040 %c1 = getelementptr inbounds %class.D, %class.D* %d, i64 0, i32 0, !dbg !47
4141 %0 = load i32, i32* %c1, align 4, !dbg !47
4242 %c12 = getelementptr inbounds %class.D, %class.D* %this, i64 0, i32 0, !dbg !47
5656 ret void, !dbg !52
5757 }
5858
59 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
59 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
6060
6161 !llvm.dbg.cu = !{!0}
6262 !llvm.module.flags = !{!54}
9090 ; Function Attrs: nounwind uwtable
9191 define internal fastcc void @foo() #0 !dbg !8 {
9292 entry:
93 tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !13, metadata !DIExpression()), !dbg !30
94 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !14, metadata !DIExpression()), !dbg !31
93 tail call void @llvm.dbg.value(metadata i32 1, metadata !13, metadata !DIExpression()), !dbg !30
94 tail call void @llvm.dbg.value(metadata i32 0, metadata !14, metadata !DIExpression()), !dbg !31
9595 %c.promoted9 = load i32, i32* @c, align 4, !dbg !32, !tbaa !33
9696 br label %for.cond1.preheader, !dbg !31
9797
113113 for.body9: ; preds = %for.body9, %for.cond7.preheader
114114 %and2 = phi i32 [ %and.lcssa5, %for.cond7.preheader ], [ %and, %for.body9 ], !dbg !40
115115 %e.01 = phi i32 [ 0, %for.cond7.preheader ], [ %inc, %for.body9 ]
116 tail call void @llvm.dbg.value(metadata i32* @c, i64 0, metadata !19, metadata !DIExpression()), !dbg !40
116 tail call void @llvm.dbg.value(metadata i32* @c, metadata !19, metadata !DIExpression()), !dbg !40
117117 %and = and i32 %and2, 1, !dbg !32
118118 %inc = add i32 %e.01, 1, !dbg !39
119 tail call void @llvm.dbg.value(metadata i32 %inc, i64 0, metadata !18, metadata !DIExpression()), !dbg !39
119 tail call void @llvm.dbg.value(metadata i32 %inc, metadata !18, metadata !DIExpression()), !dbg !39
120120 %exitcond = icmp eq i32 %inc, 30, !dbg !39
121121 br i1 %exitcond, label %for.inc10, label %for.body9, !dbg !39
122122
123123 for.inc10: ; preds = %for.body9
124124 %inc11 = add nsw i32 %b.03, 1, !dbg !38
125 tail call void @llvm.dbg.value(metadata i32 %inc11, i64 0, metadata !15, metadata !DIExpression()), !dbg !38
125 tail call void @llvm.dbg.value(metadata i32 %inc11, metadata !15, metadata !DIExpression()), !dbg !38
126126 %exitcond11 = icmp eq i32 %inc11, 30, !dbg !38
127127 br i1 %exitcond11, label %for.inc13, label %for.cond7.preheader, !dbg !38
128128
129129 for.inc13: ; preds = %for.inc10
130130 %inc14 = add i32 %d.06, 1, !dbg !37
131 tail call void @llvm.dbg.value(metadata i32 %inc14, i64 0, metadata !16, metadata !DIExpression()), !dbg !37
131 tail call void @llvm.dbg.value(metadata i32 %inc14, metadata !16, metadata !DIExpression()), !dbg !37
132132 %exitcond12 = icmp eq i32 %inc14, 30, !dbg !37
133133 br i1 %exitcond12, label %for.inc16, label %for.cond4.preheader, !dbg !37
134134
135135 for.inc16: ; preds = %for.inc13
136136 %inc17 = add nsw i32 %a.08, 1, !dbg !31
137 tail call void @llvm.dbg.value(metadata i32 %inc17, i64 0, metadata !14, metadata !DIExpression()), !dbg !31
137 tail call void @llvm.dbg.value(metadata i32 %inc17, metadata !14, metadata !DIExpression()), !dbg !31
138138 %exitcond13 = icmp eq i32 %inc17, 30, !dbg !31
139139 br i1 %exitcond13, label %for.end18, label %for.cond1.preheader, !dbg !31
140140
144144 }
145145
146146 ; Function Attrs: nounwind readnone
147 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
147 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
148148
149149 attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
150150 attributes #1 = { nounwind readnone }
1010 define void @foo() #0 !dbg !7 {
1111 entry:
1212 tail call void @llvm.dbg.declare(metadata float* undef, metadata !13, metadata !19), !dbg !20
13 tail call void @llvm.dbg.value(metadata i32 1078523331, i64 0, metadata !13, metadata !19), !dbg !20
14 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !13, metadata !19), !dbg !20
13 tail call void @llvm.dbg.value(metadata i32 1078523331, metadata !13, metadata !19), !dbg !20
14 tail call void @llvm.dbg.value(metadata i32 0, metadata !13, metadata !19), !dbg !20
1515 ; CHECK: DW_AT_const_value [DW_FORM_sdata] (0)
1616 ; CHECK-NEXT: DW_AT_name {{.*}}"a"
1717 ret void, !dbg !21
2121 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
2222
2323 ; Function Attrs: nounwind readnone
24 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
24 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
2525
2626 attributes #0 = { nounwind optsize readnone uwtable }
2727 attributes #1 = { nounwind readnone }
4242 define void @foo() #0 !dbg !4 {
4343 entry:
4444 tail call void (...) @barrier() #3, !dbg !16
45 tail call void @llvm.dbg.value(metadata float 0x40091EB860000000, i64 0, metadata !8, metadata !17), !dbg !18
46 tail call void @llvm.dbg.value(metadata x86_fp80 0xK4000C8F5C28F5C28F800, i64 0, metadata !10, metadata !17), !dbg !19
45 tail call void @llvm.dbg.value(metadata float 0x40091EB860000000, metadata !8, metadata !17), !dbg !18
46 tail call void @llvm.dbg.value(metadata x86_fp80 0xK4000C8F5C28F5C28F800, metadata !10, metadata !17), !dbg !19
4747 tail call void (...) @barrier() #3, !dbg !20
4848 ret void, !dbg !21
4949 }
5151 declare void @barrier(...)
5252
5353 ; Function Attrs: nounwind readnone
54 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
54 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
5555
5656 attributes #0 = { nounwind ssp uwtable }
5757 attributes #2 = { nounwind readnone }
4848 declare i32 @verify(...)
4949
5050 ; Function Attrs: nounwind readnone
51 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
51 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
5252
5353 attributes #0 = { nounwind ssp uwtable }
5454 attributes #1 = { nounwind readnone }
3030 ; Function Attrs: nounwind ssp uwtable
3131 define i32 @foo(i32 %a) #0 !dbg !8 {
3232 entry:
33 call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !16, metadata !17), !dbg !18
33 call void @llvm.dbg.value(metadata i32 %a, metadata !16, metadata !17), !dbg !18
3434 %conv = trunc i32 %a to i16, !dbg !19
3535 %conv1 = sext i16 %conv to i32, !dbg !19
3636 %add = add nsw i32 %conv1, 8, !dbg !19
37 call void @llvm.dbg.value(metadata i32 %add, i64 0, metadata !20, metadata !17), !dbg !21
37 call void @llvm.dbg.value(metadata i32 %add, metadata !20, metadata !17), !dbg !21
3838 %conv2 = trunc i32 %add to i16, !dbg !22
3939 %conv3 = sext i16 %conv2 to i32, !dbg !22
4040 %add4 = add nsw i32 %conv3, 8, !dbg !22
41 call void @llvm.dbg.value(metadata i32 %add4, i64 0, metadata !23, metadata !17), !dbg !24
41 call void @llvm.dbg.value(metadata i32 %add4, metadata !23, metadata !17), !dbg !24
4242 %conv5 = trunc i32 %add4 to i16, !dbg !25
4343 %conv6 = sext i16 %conv5 to i32, !dbg !25
4444 %add7 = add nsw i32 %conv6, 8, !dbg !25
45 call void @llvm.dbg.value(metadata i32 %add7, i64 0, metadata !26, metadata !17), !dbg !27
45 call void @llvm.dbg.value(metadata i32 %add7, metadata !26, metadata !17), !dbg !27
4646 %conv8 = trunc i32 %add7 to i16, !dbg !28
4747 %conv9 = sext i16 %conv8 to i32, !dbg !28
4848 %add10 = add nsw i32 %conv9, 8, !dbg !28
49 call void @llvm.dbg.value(metadata i32 %add10, i64 0, metadata !29, metadata !17), !dbg !30
49 call void @llvm.dbg.value(metadata i32 %add10, metadata !29, metadata !17), !dbg !30
5050 %conv11 = trunc i32 %add10 to i16, !dbg !31
5151 %conv12 = sext i16 %conv11 to i32, !dbg !31
5252 %add13 = add nsw i32 %conv12, 8, !dbg !31
53 call void @llvm.dbg.value(metadata i32 %add13, i64 0, metadata !32, metadata !17), !dbg !33
53 call void @llvm.dbg.value(metadata i32 %add13, metadata !32, metadata !17), !dbg !33
5454 ret i32 %add13, !dbg !34
5555 }
5656
5858 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
5959
6060 ; Function Attrs: nounwind readnone
61 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
61 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
6262
6363 attributes #0 = { nounwind ssp uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
6464 attributes #1 = { nounwind readnone }
2929 ; Function Attrs: nounwind ssp uwtable
3030 define void @foo() #0 !dbg !4 {
3131 entry:
32 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !12, metadata !17) #3, !dbg !18
32 tail call void @llvm.dbg.value(metadata i32 0, metadata !12, metadata !17) #3, !dbg !18
3333 tail call void @sink() #3, !dbg !20
34 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !12, metadata !17) #3, !dbg !21
34 tail call void @llvm.dbg.value(metadata i32 0, metadata !12, metadata !17) #3, !dbg !21
3535 tail call void @sink() #3, !dbg !23
3636 ret void, !dbg !24
3737 }
3939 declare void @sink()
4040
4141 ; Function Attrs: nounwind readnone
42 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
42 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
4343
4444 attributes #0 = { nounwind ssp uwtable }
4545 attributes #2 = { nounwind readnone }
4545 ; Function Attrs: nounwind uwtable
4646 define i32 @main(i32 %argc, i8** nocapture readonly %argv) #0 !dbg !10 {
4747 entry:
48 tail call void @llvm.dbg.value(metadata i32 %argc, i64 0, metadata !17, metadata !20), !dbg !21
49 tail call void @llvm.dbg.value(metadata i8** %argv, i64 0, metadata !18, metadata !20), !dbg !22
48 tail call void @llvm.dbg.value(metadata i32 %argc, metadata !17, metadata !20), !dbg !21
49 tail call void @llvm.dbg.value(metadata i8** %argv, metadata !18, metadata !20), !dbg !22
5050 %cmp = icmp eq i32 %argc, 2, !dbg !24
5151 br i1 %cmp, label %if.else, label %if.end, !dbg !26
5252
5454 %arrayidx = getelementptr inbounds i8*, i8** %argv, i64 1, !dbg !27
5555 %0 = load i8*, i8** %arrayidx, align 8, !dbg !27, !tbaa !28
5656 %call = tail call i32 (i8*, ...) bitcast (i32 (...)* @atoi to i32 (i8*, ...)*)(i8* %0) #1, !dbg !32
57 tail call void @llvm.dbg.value(metadata i32 %call, i64 0, metadata !19, metadata !20), !dbg !33
57 tail call void @llvm.dbg.value(metadata i32 %call, metadata !19, metadata !20), !dbg !33
5858 br label %if.end
5959
6060 if.end: ; preds = %if.else, %entry
6161 %n.0 = phi i32 [ %call, %if.else ], [ 2, %entry ]
6262 %call1 = tail call i32 @change(i32 %n.0) #1, !dbg !34
63 tail call void @llvm.dbg.value(metadata i32 %call1, i64 0, metadata !19, metadata !20), !dbg !33
63 tail call void @llvm.dbg.value(metadata i32 %call1, metadata !19, metadata !20), !dbg !33
6464 %cmp2 = icmp sgt i32 %call1, 10, !dbg !35
6565 br i1 %cmp2, label %if.then.3, label %if.else.5, !dbg !37
6666
9696 declare i32 @printf(i8* nocapture readonly, ...) #1
9797
9898 ; Function Attrs: nounwind readnone
99 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
99 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
100100
101101 attributes #0 = { nounwind uwtable }
102102 attributes #1 = { nounwind }
1515 ; Function Attrs: nounwind readnone ssp uwtable
1616 define i32 @bar(i32 %x) #0 !dbg !4 {
1717 entry:
18 tail call void @llvm.dbg.value(metadata i32 %x, i64 0, metadata !9, metadata !17), !dbg !18
19 tail call void @llvm.dbg.value(metadata i32 %x, i64 0, metadata !19, metadata !17), !dbg !21
18 tail call void @llvm.dbg.value(metadata i32 %x, metadata !9, metadata !17), !dbg !18
19 tail call void @llvm.dbg.value(metadata i32 %x, metadata !19, metadata !17), !dbg !21
2020 ret i32 %x, !dbg !22
2121 }
2222
2323 ; Function Attrs: nounwind readnone
24 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
24 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
2525
2626 attributes #0 = { nounwind readnone ssp uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="core2" "unsafe-fp-math"="false" "use-soft-float"="false" }
2727 attributes #1 = { nounwind readnone }
5050 ; Function Attrs: nounwind optsize
5151 define void @Proc8(i32* nocapture %Array1Par, [51 x i32]* nocapture %Array2Par, i32 %IntParI1, i32 %IntParI2) #0 !dbg !61 {
5252 entry:
53 tail call void @llvm.dbg.value(metadata i32* %Array1Par, i64 0, metadata !67, metadata !73), !dbg !74
54 tail call void @llvm.dbg.value(metadata [51 x i32]* %Array2Par, i64 0, metadata !68, metadata !73), !dbg !75
55 tail call void @llvm.dbg.value(metadata i32 %IntParI1, i64 0, metadata !69, metadata !73), !dbg !76
56 tail call void @llvm.dbg.value(metadata i32 %IntParI2, i64 0, metadata !70, metadata !73), !dbg !77
53 tail call void @llvm.dbg.value(metadata i32* %Array1Par, metadata !67, metadata !73), !dbg !74
54 tail call void @llvm.dbg.value(metadata [51 x i32]* %Array2Par, metadata !68, metadata !73), !dbg !75
55 tail call void @llvm.dbg.value(metadata i32 %IntParI1, metadata !69, metadata !73), !dbg !76
56 tail call void @llvm.dbg.value(metadata i32 %IntParI2, metadata !70, metadata !73), !dbg !77
5757 %add = add i32 %IntParI1, 5, !dbg !78
58 tail call void @llvm.dbg.value(metadata i32 %add, i64 0, metadata !71, metadata !73), !dbg !78
58 tail call void @llvm.dbg.value(metadata i32 %add, metadata !71, metadata !73), !dbg !78
5959 %idxprom = sext i32 %add to i64, !dbg !79
6060 %arrayidx = getelementptr inbounds i32, i32* %Array1Par, i64 %idxprom, !dbg !79
6161 store i32 %IntParI2, i32* %arrayidx, align 4, !dbg !79
6767 %idxprom7 = sext i32 %add6 to i64, !dbg !81
6868 %arrayidx8 = getelementptr inbounds i32, i32* %Array1Par, i64 %idxprom7, !dbg !81
6969 store i32 %add, i32* %arrayidx8, align 4, !dbg !81
70 tail call void @llvm.dbg.value(metadata i32 %add, i64 0, metadata !72, metadata !73), !dbg !82
70 tail call void @llvm.dbg.value(metadata i32 %add, metadata !72, metadata !73), !dbg !82
7171 br label %for.body, !dbg !82
7272
7373 for.body: ; preds = %for.body, %entry
7676 %arrayidx13 = getelementptr inbounds [51 x i32], [51 x i32]* %Array2Par, i64 %idxprom, i64 %indvars.iv, !dbg !84
7777 store i32 %add, i32* %arrayidx13, align 4, !dbg !84
7878 %inc = add nsw i32 %IntIndex.046, 1, !dbg !82
79 tail call void @llvm.dbg.value(metadata i32 %inc, i64 0, metadata !72, metadata !73), !dbg !82
79 tail call void @llvm.dbg.value(metadata i32 %inc, metadata !72, metadata !73), !dbg !82
8080 %cmp = icmp sgt i32 %inc, %add3, !dbg !82
8181 %indvars.iv.next = add i64 %indvars.iv, 1, !dbg !82
8282 br i1 %cmp, label %for.end, label %for.body, !dbg !82
9898 }
9999
100100 ; Function Attrs: nounwind readnone
101 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
101 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
102102
103103 attributes #0 = { nounwind optsize }
104104 attributes #1 = { nounwind readnone }
2626
2727 declare %"class.std::basic_ostream"* @test(%"class.std::basic_ostream"*, i8*, i64)
2828
29 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
29 declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
3030
3131 !llvm.dbg.cu = !{!0}
3232 !llvm.module.flags = !{!1803}
5757 for.body: ; preds = %for.body, %entry
5858 %iter.02 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
5959 call void @llvm.lifetime.start(i64 4, i8* %0), !dbg !26
60 call void @llvm.dbg.value(metadata %struct.string* %str2.i, i64 0, metadata !16, metadata !DIExpression(DW_OP_deref)) #3, !dbg !26
61 call void @llvm.dbg.value(metadata %struct.string* %str2.i, i64 0, metadata !27, metadata !DIExpression(DW_OP_deref)) #3, !dbg !29
60 call void @llvm.dbg.value(metadata %struct.string* %str2.i, metadata !16, metadata !DIExpression(DW_OP_deref)) #3, !dbg !26
61 call void @llvm.dbg.value(metadata %struct.string* %str2.i, metadata !27, metadata !DIExpression(DW_OP_deref)) #3, !dbg !29
6262 call void @_Z4sinkPKv(i8* undef) #3, !dbg !29
6363 call void @_Z4sinkPKv(i8* %0) #3, !dbg !30
6464 call void @llvm.lifetime.end(i64 4, i8* %0), !dbg !31
7979 declare void @_Z4sinkPKv(i8*) #1
8080
8181 ; Function Attrs: nounwind readnone
82 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
82 declare void @llvm.dbg.value(metadata, metadata, metadata) #2
8383
8484 ; Function Attrs: nounwind
8585 declare void @llvm.lifetime.start(i64, i8* nocapture) #3
5454 ; Function Attrs: alwaysinline ssp uwtable
5555 define void @_Z2f21A(i32* %p5.coerce0, i32 %p5.coerce1) #0 !dbg !11 {
5656 entry:
57 tail call void @llvm.dbg.value(metadata i32* %p5.coerce0, i64 0, metadata !16, metadata !33), !dbg !34
58 tail call void @llvm.dbg.value(metadata i32 %p5.coerce1, i64 0, metadata !16, metadata !35), !dbg !34
57 tail call void @llvm.dbg.value(metadata i32* %p5.coerce0, metadata !16, metadata !33), !dbg !34
58 tail call void @llvm.dbg.value(metadata i32 %p5.coerce1, metadata !16, metadata !35), !dbg !34
5959 tail call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !16, metadata !36), !dbg !34
6060 tail call void @_Z2f1Pii(i32* %p5.coerce0, i32 %p5.coerce1), !dbg !37
6161 ret void, !dbg !38
8787
8888 while.body: ; preds = %entry, %while.cond.loopexit
8989 store i32 0, i32* %ref.tmp, align 4, !dbg !41, !tbaa !42
90 call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !21, metadata !DIExpression(DW_OP_deref)), !dbg !46
90 call void @llvm.dbg.value(metadata i32* %x, metadata !21, metadata !DIExpression(DW_OP_deref)), !dbg !46
9191 call void @_Z4funcRKiS0_(i32* dereferenceable(4) %x, i32* dereferenceable(4) %ref.tmp), !dbg !47
9292 %call29 = call i32 @_Z4condv(), !dbg !48
9393 %tobool310 = icmp eq i32 %call29, 0, !dbg !48
9494 br i1 %tobool310, label %while.cond.loopexit, label %while.body4, !dbg !49
9595
9696 while.body4: ; preds = %while.body, %while.body4
97 call void @llvm.dbg.value(metadata i8* %y, i64 0, metadata !23, metadata !DIExpression(DW_OP_deref)), !dbg !50
97 call void @llvm.dbg.value(metadata i8* %y, metadata !23, metadata !DIExpression(DW_OP_deref)), !dbg !50
9898 call void @_Z4funcPv(i8* %y), !dbg !51
99 call void @llvm.dbg.value(metadata i8* %j, i64 0, metadata !26, metadata !DIExpression(DW_OP_deref)), !dbg !52
99 call void @llvm.dbg.value(metadata i8* %j, metadata !26, metadata !DIExpression(DW_OP_deref)), !dbg !52
100100 call void @_Z4funcPv(i8* %j), !dbg !53
101 call void @llvm.dbg.value(metadata i8* %I, i64 0, metadata !27, metadata !DIExpression(DW_OP_deref)), !dbg !54
101 call void @llvm.dbg.value(metadata i8* %I, metadata !27, metadata !DIExpression(DW_OP_deref)), !dbg !54
102102 call void @_Z4funcPv(i8* %I), !dbg !55
103103 store i32 0, i32* %ref.tmp5, align 4, !dbg !56, !tbaa !42
104104 store i32 0, i32* %ref.tmp6, align 4, !dbg !57, !tbaa !42
105105 call void @_Z4funcRKiS0_(i32* dereferenceable(4) %ref.tmp5, i32* dereferenceable(4) %ref.tmp6), !dbg !58
106106 call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !28, metadata !36), !dbg !59
107 call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !28, metadata !33), !dbg !59
108 call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !21, metadata !DIExpression(DW_OP_deref)), !dbg !46
109 call void @llvm.dbg.value(metadata i32* %x, i64 0, metadata !60, metadata !33), !dbg !62
110 call void @llvm.dbg.value(metadata i32 undef, i64 0, metadata !60, metadata !35), !dbg !62
107 call void @llvm.dbg.value(metadata i32* %x, metadata !28, metadata !33), !dbg !59
108 call void @llvm.dbg.value(metadata i32* %x, metadata !21, metadata !DIExpression(DW_OP_deref)), !dbg !46
109 call void @llvm.dbg.value(metadata i32* %x, metadata !60, metadata !33), !dbg !62
110 call void @llvm.dbg.value(metadata i32 undef, metadata !60, metadata !35), !dbg !62
111111 call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !60, metadata !36), !dbg !62
112112 call void @_Z2f1Pii(i32* %x, i32 undef), !dbg !63
113113 %call2 = call i32 @_Z4condv(), !dbg !48
125125 declare void @_Z4funcPv(i8*)
126126
127127 ; Function Attrs: nounwind readnone
128 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
128 declare void @llvm.dbg.value(metadata, metadata, metadata) #1
129129
130130 attributes #0 = { alwaysinline ssp uwtable }
131131 attributes #1 = { nounwind readnone }
3131
3232 if.end: ; preds = %entry
3333 tail call void @_Z1fv() #3, !dbg !17
34 tail call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !12, metadata !18), !dbg !19
34 tail call void @llvm.dbg.value(metadata i8 1, metadata !12, metadata !18), !dbg !19