[Lldb-commits] [PATCH] D91734: [FastISel] Flush local value map on every instruction
Paul Robinson via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Jan 5 13:40:09 PST 2021
probinson added a comment.
This version of the patch avoids the weirdness I was seeing with prolog instructions in certain cases.
The gdb test suite is largely happy with this; it avoids the new failures I mentioned previously, and one test needed to have some "next" commands updated. Here's the gdb test suite patch (against 8.3; I can provide more context if it's not clear how to apply to later versions).
diff --git a/gdb-8.3/gdb/testsuite/gdb.base/foll-exec.exp b/gdb-8.3/gdb/testsuite/gdb.base/foll-exec.exp
index 3e0653a1..61ee752f 100644
--- a/gdb-8.3/gdb/testsuite/gdb.base/foll-exec.exp
+++ b/gdb-8.3/gdb/testsuite/gdb.base/foll-exec.exp
@@ -115,7 +115,10 @@ proc do_exec_tests {} {
# We should stop in execd-program, at its first statement.
#
set execd_line [gdb_get_line_number "after-exec" $srcfile2]
- send_gdb "next\n"
+ # Clang will emit source locations for the parameter evaluation.
+ # Ideally we'd "next" until we saw 'execlp' again in the source display,
+ # then do one more.
+ send_gdb "next 3\n"
gdb_expect {
-re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
{pass "step through execlp call"}
@@ -263,7 +266,7 @@ proc do_exec_tests {} {
# the newly-exec'd program, not after the remaining step-count
# reaches zero.
#
- send_gdb "next 2\n"
+ send_gdb "next 3\n"
gdb_expect {
-re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
{pass "step through execl call"}
I think I might want to add one more lit test, because the LLVM suite didn't catch a thinko that was the root cause of that last prolog weirdness. But this version is totally ready for review.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91734/new/
https://reviews.llvm.org/D91734
More information about the lldb-commits
mailing list