llvm.org GIT mirror llvm / 27f46cd
Fix code gen crash reported in PR 8235. We still lose debug info for the unused argument here. This is a known limitation recorded debuginfo-tests/trunk/dbg-declare2.ll function 'f6' test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115323 91177308-0d34-0410-b5e6-96231b3b80d8 Devang Patel 10 years ago
2 changed file(s) with 24 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
39543954 const TargetRegisterInfo *TRI = DAG.getTarget().getRegisterInfo();
39553955 Reg = TRI->getFrameRegister(MF);
39563956 Offset = FuncInfo.getByValArgumentFrameIndex(Arg);
3957 // If byval argument ofset is not recorded then ignore this.
3958 if (!Offset)
3959 Reg = 0;
39573960 }
39583961
39593962 if (N.getNode() && N.getOpcode() == ISD::CopyFromReg) {
0 ; RUN: llc -O0 %s -o /dev/null
1 ; PR 8235
2
3 define void @CGRectStandardize(i32* sret %agg.result, i32* byval %rect) nounwind ssp {
4 entry:
5 call void @llvm.dbg.declare(metadata !{i32* %rect}, metadata !23), !dbg !24
6 ret void
7 }
8
9 declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
10
11 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind
12
13
14 !0 = metadata !{i32 589870, i32 0, metadata !1, metadata !"CGRectStandardize", metadata !"CGRectStandardize", metadata !"CGRectStandardize", metadata !1, i32 54, null, i1 false, i1 true, i32 0, i32 0, null, i32 0, i1 false, void (i32*, i32*)* @CGRectStandardize} ; [ DW_TAG_subprogram ]
15 !1 = metadata !{i32 589865, metadata !"GSFusedSilica.m", metadata !"/Volumes/Data/Users/sabre/Desktop", metadata !2}
16 !2 = metadata !{i32 589841, i32 0, i32 16, metadata !"GSFusedSilica.m", metadata !"/Volumes/Data/Users/sabre/Desktop", metadata !"clang version 2.9 (trunk 115292)", i1 true, i1 false, metadata !"", i32 1} ; [ DW_TAG_compile_unit ]
17 !5 = metadata !{i32 589846, metadata !1, metadata !"CGRect", metadata !1, i32 49, i64 0, i64 0, i64 0, i32 0, null}
18 !23 = metadata !{i32 590081, metadata !0, metadata !"rect", metadata !1, i32 53, metadata !5, i32 0} ; [ DW_TAG_arg_variable ]
19 !24 = metadata !{i32 53, i32 33, metadata !0, null}
20