Page MenuHomePhabricator

etiotto (Ettore Tiotto)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 11 2019, 9:55 AM (50 w, 2 d)

Recent Activity

Fri, Mar 13

etiotto retitled D75920: [LoopCacheAnalysis] Improve cost heuristic. from [LoopCacheAnalysis}: Improve cost heuristic. to [LoopCacheAnalysis] Improve cost heuristic..
Fri, Mar 13, 11:49 AM · Restricted Project

Thu, Mar 12

etiotto updated the diff for D75920: [LoopCacheAnalysis] Improve cost heuristic..
Thu, Mar 12, 8:40 AM · Restricted Project

Tue, Mar 10

etiotto created D75920: [LoopCacheAnalysis] Improve cost heuristic..
Tue, Mar 10, 6:58 AM · Restricted Project

Feb 12 2020

etiotto added inline comments to D68789: [LoopNest]: Analysis to discover properties of a loop nest..
Feb 12 2020, 7:09 AM · Restricted Project

Feb 11 2020

etiotto added a comment to D73801: [LoopFission]: Loop Fission Interference Graph (FIG).

I choose to name the pass Loop Fission to avoid confusion with the existing LoopDistribution pass (eventually Loop Fission should replace that pass). Also Loop Fission is the opposite of Loop Fusion :-) ?

Feb 11 2020, 7:50 AM · Restricted Project
etiotto updated the diff for D68789: [LoopNest]: Analysis to discover properties of a loop nest..

Addressed review comments from @Meinersbur

Feb 11 2020, 7:42 AM · Restricted Project

Jan 31 2020

etiotto updated the diff for D73801: [LoopFission]: Loop Fission Interference Graph (FIG).
Jan 31 2020, 1:12 PM · Restricted Project
etiotto added reviewers for D73801: [LoopFission]: Loop Fission Interference Graph (FIG): Meinersbur, kbarton, bmahjour, Whitney, fhahn, zhongduo, amehsan.
Jan 31 2020, 12:53 PM · Restricted Project
etiotto updated subscribers of D73801: [LoopFission]: Loop Fission Interference Graph (FIG).
Jan 31 2020, 12:53 PM · Restricted Project
etiotto created D73801: [LoopFission]: Loop Fission Interference Graph (FIG).
Jan 31 2020, 12:44 PM · Restricted Project

Jan 30 2020

etiotto added a comment to D68789: [LoopNest]: Analysis to discover properties of a loop nest..

ping

Jan 30 2020, 12:12 PM · Restricted Project

Jan 13 2020

etiotto added a comment to D68789: [LoopNest]: Analysis to discover properties of a loop nest..

ping

Jan 13 2020, 7:25 AM · Restricted Project

Dec 18 2019

etiotto added inline comments to D71578: [CodeMoverUtils] Improve IsControlFlowEquivalent..
Dec 18 2019, 2:19 PM · Restricted Project
etiotto updated the diff for D68789: [LoopNest]: Analysis to discover properties of a loop nest..

Addressing code review comments.

Dec 18 2019, 1:50 PM · Restricted Project
etiotto added inline comments to D68789: [LoopNest]: Analysis to discover properties of a loop nest..
Dec 18 2019, 1:50 PM · Restricted Project

Dec 10 2019

etiotto added inline comments to D68789: [LoopNest]: Analysis to discover properties of a loop nest..
Dec 10 2019, 1:43 PM · Restricted Project
etiotto updated the diff for D68789: [LoopNest]: Analysis to discover properties of a loop nest..

Based on the feedback received during code review I have added a new public member function called 'getPerfectLoops' which can be used to retrieve a list of loops that are perfect with respect to each other.
For example, given the following loop nest containing 4 loops, 'getPerfectLoops' would return {{L1,L2},{L3,L4}}.

for(i) // L1
  for(j) // L2
    <code>
    for(k) // L3
       for(l) // L4
Dec 10 2019, 1:42 PM · Restricted Project

Nov 20 2019

etiotto added a comment to D68789: [LoopNest]: Analysis to discover properties of a loop nest..

[suggestion] Add a methods that returns/fills a vector with all the Loop*s that are part of the perfect loop nest.

That sounds like a good idea. I'd suggest returning a vector of vectors actually in case where there are multiple perfect sub nests in a loop nest. ie:

L1
  L2
   <code>
    L3
      L4
        L5

return:
{{L1,L2},{L3,L4,L5}}

Nov 20 2019, 1:32 PM · Restricted Project
etiotto updated the diff for D68789: [LoopNest]: Analysis to discover properties of a loop nest..

Addressing code review comments from Michael.

Nov 20 2019, 9:45 AM · Restricted Project
etiotto added inline comments to D68789: [LoopNest]: Analysis to discover properties of a loop nest..
Nov 20 2019, 9:36 AM · Restricted Project

Nov 4 2019

etiotto updated the diff for D69821: [NFC]: Fix PVS Studio warning in LoopNestAnalysis.
Nov 4 2019, 2:35 PM · Restricted Project
etiotto updated the diff for D69821: [NFC]: Fix PVS Studio warning in LoopNestAnalysis.
Nov 4 2019, 2:29 PM · Restricted Project
etiotto added a comment to D63459: Loop Cache Analysis.

/home/xbolva00/LLVM/llvm-project/llvm/lib/Analysis/LoopCacheAnalysis.cpp 353 warn V612 An unconditional 'return' within a loop.

This indeed does not look right. There are beaks and returns in the loop, but no continue. Meaning the loop is only iterated for one element (in this case: the innermost loop). I think nothing else than the innermost loop is needed for delinearization, in which case it could be made a conditional instead of a for-statement.

/home/xbolva00/LLVM/llvm-project/llvm/lib/Analysis/LoopCacheAnalysis.cpp 456 err V502 Perhaps the '?:' operator works in a different way than it was expected. The '?:' operator has a lower priority than the '==' operator.

TRT(TRT == None ? Optional<unsigned>(TemporalReuseThreshold) : TRT),

Could add parens around TRT == None to silence the analyzer.

Nov 4 2019, 1:19 PM · Restricted Project
etiotto updated the summary of D69821: [NFC]: Fix PVS Studio warning in LoopNestAnalysis.
Nov 4 2019, 1:19 PM · Restricted Project
etiotto created D69821: [NFC]: Fix PVS Studio warning in LoopNestAnalysis.
Nov 4 2019, 1:10 PM · Restricted Project

Oct 29 2019

etiotto updated the diff for D68789: [LoopNest]: Analysis to discover properties of a loop nest..

Partially address code review comments from @Meinersbur.

Oct 29 2019, 1:59 PM · Restricted Project
etiotto added inline comments to D68789: [LoopNest]: Analysis to discover properties of a loop nest..
Oct 29 2019, 1:49 PM · Restricted Project
etiotto added a comment to D68474: [DirectedGraph]: Add setTargetNode member function.

ping

Oct 29 2019, 12:58 PM · Restricted Project

Oct 16 2019

etiotto added a comment to D68474: [DirectedGraph]: Add setTargetNode member function.

ping

Oct 16 2019, 12:31 PM · Restricted Project

Oct 11 2019

etiotto added inline comments to D68827: [DDG] Data Dependence Graph - Pi Block.
Oct 11 2019, 6:40 AM · Restricted Project

Oct 10 2019

etiotto updated the summary of D68789: [LoopNest]: Analysis to discover properties of a loop nest..
Oct 10 2019, 1:56 PM · Restricted Project
etiotto retitled D68789: [LoopNest]: Analysis to discover properties of a loop nest. from [LoopNext]: Analysis to discover properties of a loop nest. to [LoopNest]: Analysis to discover properties of a loop nest..
Oct 10 2019, 1:25 PM · Restricted Project
etiotto added a reviewer for D68789: [LoopNest]: Analysis to discover properties of a loop nest.: ppc-slack.
Oct 10 2019, 1:25 PM · Restricted Project
etiotto updated the summary of D68789: [LoopNest]: Analysis to discover properties of a loop nest..
Oct 10 2019, 1:25 PM · Restricted Project
etiotto updated the summary of D68789: [LoopNest]: Analysis to discover properties of a loop nest..
Oct 10 2019, 7:44 AM · Restricted Project
etiotto created D68789: [LoopNest]: Analysis to discover properties of a loop nest..
Oct 10 2019, 7:44 AM · Restricted Project

Oct 8 2019

etiotto added reviewers for D68474: [DirectedGraph]: Add setTargetNode member function: fhahn, kbarton, dmgreen.
Oct 8 2019, 7:29 AM · Restricted Project

Oct 4 2019

etiotto added a reviewer for D68474: [DirectedGraph]: Add setTargetNode member function: Meinersbur.
Oct 4 2019, 11:29 AM · Restricted Project
etiotto added a reviewer for D68474: [DirectedGraph]: Add setTargetNode member function: jdoerfert.
Oct 4 2019, 11:29 AM · Restricted Project
etiotto created D68474: [DirectedGraph]: Add setTargetNode member function.
Oct 4 2019, 11:20 AM · Restricted Project

Aug 13 2019

etiotto added inline comments to D65464: [LoopFusion] Add ability to fuse guarded loops.
Aug 13 2019, 7:24 AM · Restricted Project

Aug 12 2019

etiotto added a comment to D63459: Loop Cache Analysis.

/home/xbolva00/LLVM/llvm/lib/Analysis/LoopCacheAnalysis.cpp:110:14: warning: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::IndexedReference&)’ has not been declared within llvm

raw_ostream &llvm::operator<<(raw_ostream &OS, const IndexedReference &R) {
             ^~~~

In file included from /home/xbolva00/LLVM/llvm/lib/Analysis/LoopCacheAnalysis.cpp:28:0:
/home/xbolva00/LLVM/llvm/include/llvm/Analysis/LoopCacheAnalysis.h:45:23: note: only here as a friend

friend raw_ostream &operator<<(raw_ostream &OS, const IndexedReference &R);
                    ^~~~~~~~

/home/xbolva00/LLVM/llvm/lib/Analysis/LoopCacheAnalysis.cpp:443:14: warning: ‘llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::CacheCost&)’ has not been declared within llvm

raw_ostream &llvm::operator<<(raw_ostream &OS, const CacheCost &CC) {
             ^~~~

In file included from /home/xbolva00/LLVM/llvm/lib/Analysis/LoopCacheAnalysis.cpp:28:0:
/home/xbolva00/LLVM/llvm/include/llvm/Analysis/LoopCacheAnalysis.h:174:23: note: only here as a friend

friend raw_ostream &operator<<(raw_ostream &OS, const CacheCost &CC);

GCC 7 Linux.

Aug 12 2019, 3:13 PM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.

Fix build warning for operator<< when using GCC 7.

Aug 12 2019, 3:11 PM · Restricted Project

Aug 9 2019

etiotto updated the diff for D63459: Loop Cache Analysis.
Aug 9 2019, 8:54 AM · Restricted Project

Aug 8 2019

etiotto updated the diff for D63459: Loop Cache Analysis.
Aug 8 2019, 2:20 PM · Restricted Project

Aug 6 2019

etiotto added inline comments to D63459: Loop Cache Analysis.
Aug 6 2019, 12:00 PM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.

Added a command line option to specify the threshold for temporal reuse.

Aug 6 2019, 11:57 AM · Restricted Project

Jul 31 2019

etiotto added a comment to D63459: Loop Cache Analysis.

Right, are you planning on submitting a patch for loop interchange upstream?

I used the printer on some of the loop interchange tests, but the delinearization does not support some cases there yet. I hope I find some time to look into that next week and maybe also integrating it into loop interchange unless you plan to do so.

Jul 31 2019, 6:20 AM · Restricted Project

Jul 30 2019

etiotto added a comment to D63459: Loop Cache Analysis.

Can you re-run clang-format on the latest version of the patch? I think it would be good to get an in-tree user of this soon, to make sure the modeling works as expected on real hardware/benchmarks. Do you have a timeline to get this used? I think you mentioned LoopFusion as one of the first planned users?

Jul 30 2019, 1:51 PM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.

Run clang-format, address comments from @fhahn.

Jul 30 2019, 1:50 PM · Restricted Project
etiotto accepted D63844: [LoopFusion] Extend use of OptimizationRemarkEmitter.

LGTM. I found a typo, you can fix it while committing.

Jul 30 2019, 6:36 AM · Restricted Project

Jul 25 2019

etiotto added a comment to D63459: Loop Cache Analysis.

I addressed all pending review comments, @fhahn @reames does it look ok to you guys now?

Jul 25 2019, 10:35 AM · Restricted Project

Jul 24 2019

etiotto updated the diff for D63459: Loop Cache Analysis.

Addressing review comment from @reames

Jul 24 2019, 2:46 PM · Restricted Project
etiotto added inline comments to D63459: Loop Cache Analysis.
Jul 24 2019, 2:46 PM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.
Jul 24 2019, 9:42 AM · Restricted Project
etiotto added inline comments to D63459: Loop Cache Analysis.
Jul 24 2019, 9:39 AM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.

Address remaining comments from @fhahn

Jul 24 2019, 6:44 AM · Restricted Project
etiotto added a comment to D63459: Loop Cache Analysis.

I would like to take another look, but do not want to block this for too long. Please feel free to commit if you don't hear from me by Monday.

Jul 24 2019, 6:41 AM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.

Addressing code review comments given by @Meinersbur and @fhahn.

Jul 24 2019, 6:34 AM · Restricted Project

Jul 16 2019

etiotto added a comment to D63459: Loop Cache Analysis.

@fhahn @Meinersbur do you have further comments? If not can this be approved?

Jul 16 2019, 5:41 AM · Restricted Project
etiotto added a reviewer for D63459: Loop Cache Analysis: fhahn.
Jul 16 2019, 5:33 AM · Restricted Project

Jul 9 2019

etiotto added a comment to D63459: Loop Cache Analysis.

Note: Because I removed the getLoops static function in the last path older comments in LoopCacheAnalysis.cpp are unfortunately no longer attached to the correct line.

Jul 9 2019, 4:23 PM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.

Addressed suggestions from @fhahn and dropped the pass as an analysis. Instead I provided a static member function in the CacheCost class to compute the cache cost of a nest rooted by a given loop.

Jul 9 2019, 4:18 PM · Restricted Project
etiotto added inline comments to D63459: Loop Cache Analysis.
Jul 9 2019, 4:17 PM · Restricted Project
etiotto abandoned D64359: [LOOPINFO] Add member function to retrieve loops in breadth-first order.

I can use breadth_first from ADT/BreadthFirstIterator.h to collect the loops in breadth-first order. Arguably the getLoopsInPreorder() member functions could also be removed in favor of using ADT/DepthFirstIterator.h (need to confirm whether that does a preorder traversal).

Jul 9 2019, 9:51 AM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.

Addressed Michael Kruse comments.

Jul 9 2019, 8:11 AM · Restricted Project
etiotto added inline comments to D63459: Loop Cache Analysis.
Jul 9 2019, 8:05 AM · Restricted Project

Jul 8 2019

etiotto added reviewers for D64359: [LOOPINFO] Add member function to retrieve loops in breadth-first order: fhahn, hfinkel.
Jul 8 2019, 12:03 PM · Restricted Project
etiotto created D64359: [LOOPINFO] Add member function to retrieve loops in breadth-first order.
Jul 8 2019, 12:03 PM · Restricted Project

Jul 4 2019

etiotto added a comment to D63459: Loop Cache Analysis.

ping

Jul 4 2019, 7:09 AM · Restricted Project

Jul 3 2019

etiotto added a comment to D63885: [LOOPINFO] Introduce the loop guard API. .

Strengthen the definition of loop guard by disallowing non safe instructions guarded by the branch but not in the loop.

Jul 3 2019, 6:50 AM · Restricted Project

Jun 29 2019

etiotto added a comment to D63885: [LOOPINFO] Introduce the loop guard API. .

@reames Thanks for the review! I agree that there are still much more to consider for how we want to define a loop guard, to make the most use of it.

What's others opinion on disallow instructions with side effects in between the loop guard block and the loop header?

Jun 29 2019, 5:54 AM · Restricted Project
etiotto added a comment to D63885: [LOOPINFO] Introduce the loop guard API. .
Jun 29 2019, 5:51 AM · Restricted Project

Jun 28 2019

etiotto requested changes to D63844: [LoopFusion] Extend use of OptimizationRemarkEmitter.

This looks pretty good to me. I just added some minor inline comments.

Jun 28 2019, 7:19 AM · Restricted Project

Jun 19 2019

etiotto added a comment to D63459: Loop Cache Analysis.

How would a pass use this analysis? It computes a cost for the current IR, but there is nothing to compare it to unless the transformation pass emits the transformed loop nest next to the original pass such that the LoopCacheAnalysis can compute its cost.

Jun 19 2019, 7:06 AM · Restricted Project
etiotto added inline comments to D63459: Loop Cache Analysis.
Jun 19 2019, 6:43 AM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.
Jun 19 2019, 6:38 AM · Restricted Project

Jun 18 2019

etiotto added inline comments to D63459: Loop Cache Analysis.
Jun 18 2019, 4:10 PM · Restricted Project
etiotto updated the diff for D63459: Loop Cache Analysis.

Addressed review comment from M. Kruse.

Jun 18 2019, 2:23 PM · Restricted Project
etiotto added inline comments to D63459: Loop Cache Analysis.
Jun 18 2019, 2:21 PM · Restricted Project

Jun 17 2019

etiotto updated the summary of D63459: Loop Cache Analysis.
Jun 17 2019, 2:46 PM · Restricted Project
etiotto created D63459: Loop Cache Analysis.
Jun 17 2019, 2:41 PM · Restricted Project

Apr 11 2019

etiotto added inline comments to D60565: [LOOPINFO] Extend Loop object to add utilities to get the loop bounds, step, and loop induction variable..
Apr 11 2019, 10:43 AM · Restricted Project