-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Debug info for constants have no line information #14873
Comments
I had provided a patch a while back, for this very situation. Should I post my patch again? |
No, I've still got it. I dislike heuristics for this sort of thing, in this case it's not a prologue issue necessarily either. |
What heuristics? The simplified model of fast-isel has it emitting contiguous sets Factoring out local-value instructions to the top of the sub-block My patch restored the original source-line sequencing, i.e. the I suppose the bit about entry blocks could be a heuristic; I didn't take |
Worked around this again in r169998 |
*** Bug llvm/llvm-bugzilla-archive#28596 has been marked as a duplicate of this bug. *** |
mentioned in issue llvm/llvm-bugzilla-archive#24345 |
mentioned in issue llvm/llvm-bugzilla-archive#28596 |
@llvm/issue-subscribers-debuginfo Author: David Blaikie (dwblaikie)
| | |
| --- | --- |
| Bugzilla Link | [14501](https://llvm.org/bz14501) |
| Version | unspecified |
| OS | All |
| Blocks | llvm/llvm-project#14702 llvm/llvm-bugzilla-archive#24345 |
| CC | @DougGregor,@echristo,@fredriss,@sunfishcode,@pogo59 |
Extended DescriptionGDB 7.5 test suite's gdb.pytho/python.exp tests a fairly specific case: int func() { break at line 2 (the call to func2) The instruction following the func2 call is assigned to the same line as "return 0" in GCC's debug info. In Clang's debug info this line has no debug info of its own, so it is on the same line as the prior instruction (the call to func2). Subtle/may or may not be an important issue, but this might be as good a place as any to start thinking about/tracking how Clang's fast isel constant emission may be adversely impacting debugging. |
Extended Description
GDB 7.5 test suite's gdb.pytho/python.exp tests a fairly specific case:
int func() {
func2();
return 0;
}
break at line 2 (the call to func2)
step into func2
go up (gdb "up" command) one frame
print the line of the pc ("python print gdb.find_pc_line(gdb.selected_frame().pc()).line")
The instruction following the func2 call is assigned to the same line as "return 0" in GCC's debug info. In Clang's debug info this line has no debug info of its own, so it is on the same line as the prior instruction (the call to func2).
Subtle/may or may not be an important issue, but this might be as good a place as any to start thinking about/tracking how Clang's fast isel constant emission may be adversely impacting debugging.
The text was updated successfully, but these errors were encountered: