Page MenuHomePhabricator

[Attributor] Add time trace support.
ClosedPublic

Authored by kuter on Jul 30 2020, 1:38 PM.

Details

Summary

This patch addes time trace functionality to have a better understanding
of the analysis times.

Diff Detail

Event Timeline

kuter created this revision.Jul 30 2020, 1:38 PM
Herald added a reviewer: homerdin. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
kuter requested review of this revision.Jul 30 2020, 1:38 PM
jdoerfert accepted this revision.Jul 30 2020, 1:42 PM

Really cool :) LGTM

llvm/lib/Transforms/IPO/Attributor.cpp
32

not needed.

This revision is now accepted and ready to land.Jul 30 2020, 1:42 PM
kuter added a comment.EditedJul 30 2020, 2:12 PM

Really cool :) LGTM

Ok. As I said in the chat, when we create a attribute we update it once or we can force a update in the query function, Because of this
the time that it takes to do the update gets added to the time of the attribute that triggered it.

The time data we get doesn't accurately represent the amount of compute that the updateAA of a specific attribute does.
since the cost of updating a attribute when it's first created get's added on top of the time of the attribute that first asked for it.

We can keep track of the update times ourselves, We would stop the timer of the attribute before we start updating another one and restart it when we are done.
We can inject entries directly into the TimeTraceProfiler but that would require some changes with it.

I am not sure if we want to go that route, maybe we land this patch like this for now and if we have hard time interpreting this data, we can add that later ?

I am not sure if we want to go that route, maybe we land this patch like this for now and if we have hard time interpreting this data, we can add that later ?

That sounds like a sensible solution :)

This revision was landed with ongoing or failed builds.Jul 30 2020, 5:18 PM
This revision was automatically updated to reflect the committed changes.