This is an archive of the discontinued LLVM Phabricator instance.

[llvm-exegesis] Get the BenchmarkRunner from the ExegesisTarget.
ClosedPublic

Authored by courbet on Jun 26 2018, 12:54 AM.

Details

Summary

This allows targets to override code generation for some instructions.
As an example of override, this also moves ad-hoc instruction filtering
for X86 into the X86 ExegesisTarget.

Diff Detail

Repository
rL LLVM

Event Timeline

courbet created this revision.Jun 26 2018, 12:54 AM
gchatelet added inline comments.Jun 26 2018, 1:04 AM
tools/llvm-exegesis/llvm-exegesis.cpp
54 ↗(On Diff #152849)

Unknown is Analysis?

courbet added inline comments.Jun 26 2018, 1:09 AM
tools/llvm-exegesis/llvm-exegesis.cpp
54 ↗(On Diff #152849)

Yes, that allows getting rid of the extra enum and avoid a switch to convert from one enum to the other.

gchatelet accepted this revision.Jun 26 2018, 1:47 AM
gchatelet added inline comments.
tools/llvm-exegesis/llvm-exegesis.cpp
54 ↗(On Diff #152849)

Ok so please add a comment explaining why Analysis is different from latency/uops.

This revision is now accepted and ready to land.Jun 26 2018, 1:47 AM
courbet marked an inline comment as done.Jun 26 2018, 1:54 AM

Thanks.

This revision was automatically updated to reflect the committed changes.
llvm/trunk/tools/llvm-exegesis/lib/X86.h