linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] output *memory* operands need their address as *input*
@ 2021-02-21 22:28 Luc Van Oostenryck
  2021-02-21 22:28 ` [PATCH 1/3] asm: add testcase for problem with output addresses Luc Van Oostenryck
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Luc Van Oostenryck @ 2021-02-21 22:28 UTC (permalink / raw)
  To: linux-sparse; +Cc: Luc Van Oostenryck

These patches fix a problem with the linearization of asm statements
with output memory operands. These operands need to have their address
generated before the asm instruction but was generated after it.

Note: the problem wasn't visible when the address was a symbol
      because the OP_SYMADDR producing the address is simplified
      away at some later stage with the symbol directly handled
      by the memory operation.

Luc Van Oostenryck (3):
  asm: add testcase for problem with output addresses
  asm: factor out add_asm_rule() from add_asm_{in,out}put()
  asm: output *memory* operands need their address as *input*

 linearize.c                  | 54 +++++++++++++++++++++++-------------
 validation/linear/asm-out0.c | 25 +++++++++++++++++
 2 files changed, 60 insertions(+), 19 deletions(-)
 create mode 100644 validation/linear/asm-out0.c


base-commit: 60c1f2706e30eacc29296e6cb5d9327c85a01340
-- 
2.30.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-02-21 22:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-21 22:28 [PATCH 0/3] output *memory* operands need their address as *input* Luc Van Oostenryck
2021-02-21 22:28 ` [PATCH 1/3] asm: add testcase for problem with output addresses Luc Van Oostenryck
2021-02-21 22:28 ` [PATCH 2/3] asm: factor out add_asm_rule() from add_asm_{in,out}put() Luc Van Oostenryck
2021-02-21 22:28 ` [PATCH 3/3] asm: output *memory* operands need their address as *input* Luc Van Oostenryck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).