I've been bashing my head for the last hour trying to understand how to fit the new asm! into the HIR liveness pass (librustc_passes/liveness.rs).
Basically asm! has 4 types of parameters:
split_inout(expr => place)
The evaluation order is left to right, first for reads and place evaluation before the asm executes, the left to right again for writing the outputs to their destination place.
How does this map into the
propagate_through_expr API of the liveness pass?
Here's my current attempt, but I'm not sure how correct it is: https://gist.github.com/Amanieu/ebd5b82cd0b4e492b1d8ab8dc0649c37
Also I'm not exactly sure if I should be using