[PATCH] D60000: [llvm-exegesis] Post-processing for chained instrs in latency mode (PR41275)
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 2 06:54:26 PDT 2019
lebedev.ri marked 2 inline comments as done.
lebedev.ri added a comment.
In D60000#1451313 <https://reviews.llvm.org/D60000#1451313>, @gchatelet wrote:
> It doesn't feel like the right approach to me.
In D60000#1451313 <https://reviews.llvm.org/D60000#1451313>, @gchatelet wrote:
> `llvm-exegesis` is about relying on measurement to deduce informations. Here you're using a priori knowledge (SchedClass) which may be wrong.
Yes.
> To me, a better approach would be to read all the experiments, create the dependency graph between the 2-instructions snippets and solve a system of equations to recover the per instruction latency, then use the analyzer on the result.
Can you explain that in a bit more detail? Something like
lat(i_0) = m_0
sum(lat(i_t)+lat(i_0)) = m_1
lat(i_1) = m_2
sum(lat(i_t)+lat(i_1)) = m_3
...
lat(i_n) => ?
sum(lat(i_t)+lat(i_n)) = m_n
lat(i_t) => ?
Do you suggest to take known `lat(i_0)..lat(i_n)` from measurements too?
How will that scheme will account for domain transfer delays?
================
Comment at: test/tools/llvm-exegesis/X86/analysis-latency-instruction-chaining.test:45
+ - 'RCR8rCL R11B R11B'
+ - 'RCR8rCL R11B R11B'
+ config: ''
----------------
gchatelet wrote:
> Just to be sure, you crafted this InstructionBenchmark for the sake of testing right?
> I don't see how the current code generator can come up with three instructions.
Yes, this is just a copy-paste.
As you can see, `assembled_snippet` is identical to the previous benchmark.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60000/new/
https://reviews.llvm.org/D60000
More information about the llvm-commits
mailing list