On 2025-08-14 09:36, Jan Beulich wrote:
On 08.08.2025 23:40, Nicola Vetrini wrote:
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -437,6 +437,10 @@ write or not"
# Series 13
#
+-doc_begin="Consider the asm instruction to read an Arm system
register to have no side effects."
+-asm_properties+={"asm(any())&&child(text,
ast_field(value,^mrs\\s+%0.*$))", {no_side_effect}}
+-doc_end
Is this actually strict enough to not allow multiple instructions in
the asm(),
where some of the others would yield side effects we actually need to
respect?
Jan
Good point, I didn't think of that. As it is, there is only one MRS asm,
so no worries here, but in general the remark is valid. The regex could
be a bit stricter, though the real solution here would be to match the
context in which this asm is present to limit the scope of the
deviation. This does not make much sense for an asm property because the
properties of an asm statement (at the level of granularity targeted by
ECLAIR) can be derived mostly in isolation from the surrounding code.
Another improvement we are pursuing is allowing single effects in
init-list-exprs, but it will take a bit of time to surface (i.e., next
major release probably).
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253