labath marked 2 inline comments as done.
labath added a comment.
I should note that I did look into making an assembly file out of this, but
that turned out to be more complicated than I expected and then David convinced
me that it should be possible to write this in a way that prevents the
optimizer from being too smart. Nevertheless, I am still interested in making
assembly-based tests for this (and similar features) because it enables testing
scenarios that we could not get (reliably or at all) a compiler to produce.
================
Comment at:
lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp:21-22
+ ++global;
//% self.filecheck("image lookup -va $pc", "main.cpp",
"-check-prefix=FUNC1-DESC")
// FUNC1-DESC: name = "sink", type = "int &", location =
DW_OP_entry_value(DW_OP_reg5 RDI)
}
----------------
If we remove this check, the test will be completely architecture- and
abi-independent. I don't think this check is particularly useful (we use llvm
to print the dwarf expression, and there are better ways to test the image
lookup command). Maybe we could just keep it to ensure that we really are
evaluating entry values, but change the check the just search for the
DW_OP_entry_value keyword (and then run the test on all architectures)?
================
Comment at:
lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp:61-62
-
- //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC2-EXPR-FAIL",
expect_cmd_failure=True)
- // FUNC2-EXPR-FAIL: couldn't get the value of variable x: variable not
available
-
----------------
I'm not sure why this was previously expected to fail -- I don't see a reason
why the compiler couldn't emit an entry value for `x` now, or before this
patch. And in the new setup, the expression actually succeeds.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79491/new/
https://reviews.llvm.org/D79491
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits