Open regehr opened 7 months ago
this requires rewriting the support for memory(argmem)
. The implementation is semantic, but LangRef uses a "based-on" definition.
The full implementation is non-trivial due to ptr2int/int2ptr round-trips (ptr2int must escape the pointer I guess), but we can start with a simple data-flow propagation only.
I see... so this is about the attribute inference pass. makes sense. as a short-term workaround, should we maybe drop some of the inferred attributes that we get back from -O2 on code lifted from ARM assembly? that would be easy and sound.
Ah, right, because you're running -O2 on the lifted code. Dropping all the attributes should be fine (or just make them equal to the source). I should be able to fix this within a few days. Just need to sleep today 😅
Ok, partial implementation in. Should be good enough for your use cases. Doesn't take escape pointers into account.
awesome, thanks!
I was debugging a issue found by arm-tv and it boils down alive-tv not being happy about this input. I can't figure out what's going on. the problem depends on the (unused) argument %0 being there.
cc @tanmaytirpankar