linux-stable/tools/perf
Ravi Bangoria 3ee2eb6da2 perf annotate: Support jump instruction with target as second operand
Architectures like PowerPC have jump instructions that includes a target
address as a second operand. For example, 'bne cr7,0xc0000000000f6154'.
Add support for such instruction in perf annotate.

objdump o/p:
  c0000000000f6140:   ld     r9,1032(r31)
  c0000000000f6144:   cmpdi  cr7,r9,0
  c0000000000f6148:   bne    cr7,0xc0000000000f6154
  c0000000000f614c:   ld     r9,2312(r30)
  c0000000000f6150:   std    r9,1032(r31)
  c0000000000f6154:   ld     r9,88(r31)

Corresponding perf annotate o/p:

Before patch:
         ld     r9,1032(r31)
         cmpdi  cr7,r9,0
      v  bne    3ffffffffff09f2c
         ld     r9,2312(r30)
         std    r9,1032(r31)
  74:    ld     r9,88(r31)

After patch:
         ld     r9,1032(r31)
         cmpdi  cr7,r9,0
      v  bne    74
         ld     r9,2312(r30)
         std    r9,1032(r31)
  74:    ld     r9,88(r31)

Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Chris Riyder <chris.ryder@arm.com>
Cc: Kim Phillips <kim.phillips@arm.com>
Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Taeung Song <treeze.taeung@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/1480953407-7605-2-git-send-email-ravi.bangoria@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-12-15 16:25:46 -03:00
..
arch perf annotate: AArch64 support 2016-12-01 13:03:19 -03:00
bench perf bench futex: Sanitize numeric parameters 2016-10-25 09:50:53 -03:00
Documentation perf sched timehist: Add -I/--idle-hist option 2016-12-15 16:25:45 -03:00
jvmti perf kvmti: Remove unused Makefile file 2016-11-14 12:42:56 -03:00
pmu-events perf vendor events: Support couple more POWER8 PVRs in mapfile 2016-10-17 13:39:47 -03:00
python perf python: Add tracepoint example 2016-07-12 16:23:35 -03:00
scripts perf/core improvements and fixes: 2016-08-04 11:02:38 +02:00
tests perf thread_map: Add thread_map__remove function 2016-12-15 16:25:45 -03:00
trace perf trace beauty mmap: Add missing MADV_FREE 2016-09-19 11:25:07 -03:00
ui perf annotate: Show invalid jump offset in error message 2016-11-25 15:56:34 -03:00
util perf annotate: Support jump instruction with target as second operand 2016-12-15 16:25:46 -03:00
.gitignore perf tools: Add arch/*/include/generated/ to .gitignore 2016-05-30 12:41:46 -03:00
Build perf c2c: Add c2c command 2016-10-19 13:18:31 -03:00
builtin-annotate.c perf annotate: Add branch stack / basic block 2016-09-08 13:44:03 -03:00
builtin-bench.c
builtin-buildid-cache.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-buildid-list.c
builtin-c2c.c perf tools: Remove some needless __maybe_unused 2016-12-15 16:25:45 -03:00
builtin-config.c perf config: Mark where are config items from (user or system) 2016-11-14 13:10:37 -03:00
builtin-data.c perf data ctf: Add '--all' option for 'perf data convert' 2016-06-28 10:54:57 -03:00
builtin-diff.c perf hists: Add support for header span 2016-08-23 15:37:33 -03:00
builtin-evlist.c perf evlist: Rename for_each() macros to for_each_entry() 2016-06-23 11:26:15 -03:00
builtin-help.c tools: Introduce str_error_r() 2016-07-12 15:19:47 -03:00
builtin-inject.c perf symbols: Remove symbol_filter_t machinery 2016-09-05 11:14:50 -03:00
builtin-kmem.c perf kmem: Add option to specify time window of interest 2016-12-01 13:03:02 -03:00
builtin-kvm.c perf kvm: Use NSEC_PER_USEC 2016-08-23 15:37:33 -03:00
builtin-list.c perf list: Support long jevents descriptions 2016-10-03 21:35:47 -03:00
builtin-lock.c
builtin-mem.c perf mem: Fix --all-user/--all-kernel options 2016-12-15 16:25:45 -03:00
builtin-probe.c perf probe: Ignore vmlinux Build-id when offline vmlinux given 2016-09-01 12:42:22 -03:00
builtin-record.c perf record: Force ignore_missing_thread for uid option 2016-12-15 16:25:46 -03:00
builtin-report.c perf tools: Remove some needless __maybe_unused 2016-12-15 16:25:45 -03:00
builtin-sched.c perf sched timehist: Show callchains for idle stat 2016-12-15 16:25:45 -03:00
builtin-script.c perf script: Add option to specify time window of interest 2016-12-01 13:02:45 -03:00
builtin-stat.c perf tools: Remove some needless __maybe_unused 2016-12-15 16:25:45 -03:00
builtin-timechart.c perf timechart: Use NSEC_PER_U?SEC 2016-08-23 15:37:33 -03:00
builtin-top.c perf annotate: Start supporting cross arch annotation 2016-11-17 17:12:50 -03:00
builtin-trace.c perf trace: Update tid/pid filtering option to leverage symbol_conf 2016-11-25 16:04:22 -03:00
builtin-version.c
builtin.h perf c2c: Add c2c command 2016-10-19 13:18:31 -03:00
check-headers.sh perf tools: Move headers check into bash script 2016-12-15 16:25:44 -03:00
command-list.txt
CREDITS
design.txt
Makefile
Makefile.config perf build: Check LLVM version in feature check 2016-12-06 13:21:55 -03:00
Makefile.perf perf tools: Move headers check into bash script 2016-12-15 16:25:44 -03:00
MANIFEST tools lib: Add for_each_clear_bit macro 2016-10-24 11:07:33 -03:00
perf-archive.sh
perf-completion.sh
perf-read-vdso.c
perf-sys.h perf powerpc: Fix build-test failure 2016-09-08 13:44:07 -03:00
perf-with-kcore.sh
perf.c perf c2c: Add c2c command 2016-10-19 13:18:31 -03:00
perf.h perf evsel: Allow to ignore missing pid 2016-12-15 16:25:46 -03:00