This is an archive of the discontinued LLVM Phabricator instance.

[llvm-exegesis] Print the whole snippet in analysis.
ClosedPublic

Authored by courbet on Jun 14 2018, 5:55 AM.

Details

Summary

On hover, the whole asm snippet is displayed, including operands.

This requires the actual assembly output instead of just the MCInsts:
This is because some pseudo-instructions get lowered to actual target
instructions during codegen (e.g. ABS_Fp32 -> SSE or X87).

Diff Detail

Repository
rL LLVM

Event Timeline

courbet created this revision.Jun 14 2018, 5:55 AM
courbet updated this revision to Diff 151334.Jun 14 2018, 5:56 AM

clang-format

gchatelet requested changes to this revision.Jun 14 2018, 7:45 AM
gchatelet added inline comments.
tools/llvm-exegesis/lib/Analysis.cpp
94 ↗(On Diff #151334)

Why not a llvm::SmallVector<llvm::SmallString<16>, 3> ?

110 ↗(On Diff #151334)

as discussed please use drop_front() which is more self explanatory.

tools/llvm-exegesis/lib/Analysis.h
56 ↗(On Diff #151334)

[nit] as discussed you may want to use a pointer here to make it clear that llvm::MCSchedClassDesc is immutable.

tools/llvm-exegesis/lib/BenchmarkResult.cpp
161 ↗(On Diff #151334)

You may use the YAML Normalization https://llvm.org/docs/YamlIO.html#normalization

This revision now requires changes to proceed.Jun 14 2018, 7:45 AM
courbet updated this revision to Diff 151354.Jun 14 2018, 8:09 AM
courbet marked 3 inline comments as done.

address review comments

gchatelet accepted this revision.Jun 14 2018, 8:48 AM
gchatelet added inline comments.
tools/llvm-exegesis/lib/Analysis.cpp
94 ↗(On Diff #151334)

Ping?

This revision is now accepted and ready to land.Jun 14 2018, 8:48 AM
courbet added inline comments.Jun 14 2018, 9:11 AM
tools/llvm-exegesis/lib/Analysis.cpp
94 ↗(On Diff #151334)

llvm::join is not nicely compatible with SmallString.

This revision was automatically updated to reflect the committed changes.