Le 06/05/2024 à 14:19, Athira Rajeev a écrit : > Add instruction tracking function "update_insn_state_powerpc" for > powerpc. Example sequence in powerpc: > > ld r10,264(r3) > mr r31,r3 > <<after some sequence> > ld r9,312(r31)
Your approach looks fragile. mr is a simplified instruction which in fact is "or r31, r3, r3" By the way, the compiler sometimes does it different, like below: lwz r10,264(r3) addi r31, r3, 312 lwz r9, 0(r31) And what about sequences with lwzu ? > > Consider ithe sample is pointing to: "ld r9,312(r31)". > Here the memory reference is hit at "312(r31)" where 312 is the offset > and r31 is the source register. Previous instruction sequence shows that > register state of r3 is moved to r31. So to identify the data type for r31 > access, the previous instruction ("mr") needs to be tracked and the > state type entry has to be updated. Current instruction tracking support > in perf tools infrastructure is specific to x86. Patch adds this for > powerpc and adds "mr" instruction to be tracked. > > Signed-off-by: Athira Rajeev <atraj...@linux.vnet.ibm.com>