Page MenuHomePhabricator

etiotto (Ettore Tiotto)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 11 2019, 9:55 AM (104 w, 6 d)

Recent Activity

Tue, Mar 30

etiotto accepted D99076: [PowerPC] [MachineLICM] Enable hoisting of caller preserved registers on AIX.

LGTM.

Tue, Mar 30, 11:42 AM · Restricted Project

Dec 14 2020

etiotto closed D90641: [compiler-rt][AIX]: Link compiler-rt profile library when -fprofile-generate is specified.
Dec 14 2020, 1:38 PM · Restricted Project

Nov 19 2020

etiotto added inline comments to D91682: [LoopInterchange] Fix the checking of tightly nested loop.
Nov 19 2020, 11:41 AM · Restricted Project

Nov 18 2020

etiotto added inline comments to D91682: [LoopInterchange] Fix the checking of tightly nested loop.
Nov 18 2020, 2:50 PM · Restricted Project

Nov 4 2020

etiotto committed rG7e2edf973b64: [compiler-rt][AIX]: Link compiler-rt profile library when -fprofile-generate is… (authored by etiotto).
[compiler-rt][AIX]: Link compiler-rt profile library when -fprofile-generate is…
Nov 4 2020, 6:56 AM

Nov 3 2020

etiotto committed rGe1af54296c52: [compiler-rt][profile][AIX]: Enable compiler-rt profile build on AIX (authored by etiotto).
[compiler-rt][profile][AIX]: Enable compiler-rt profile build on AIX
Nov 3 2020, 8:47 AM
etiotto closed D90619: [compiler-rt][profile][AIX]: Enable compiler-rt profile build on AIX.
Nov 3 2020, 8:47 AM · Restricted Project

Nov 2 2020

etiotto requested review of D90641: [compiler-rt][AIX]: Link compiler-rt profile library when -fprofile-generate is specified.
Nov 2 2020, 1:18 PM · Restricted Project
etiotto committed rG4274cbba1c69: [PartialInliner]: Handle code regions in a switch stmt cases (authored by etiotto).
[PartialInliner]: Handle code regions in a switch stmt cases
Nov 2 2020, 11:33 AM
etiotto closed D89911: [PartialInliner]: Handle code regions in a switch stmt cases.
Nov 2 2020, 11:33 AM · Restricted Project
etiotto requested review of D90619: [compiler-rt][profile][AIX]: Enable compiler-rt profile build on AIX.
Nov 2 2020, 8:10 AM · Restricted Project

Oct 30 2020

etiotto updated the diff for D89911: [PartialInliner]: Handle code regions in a switch stmt cases.

Address code review comments.

Oct 30 2020, 11:44 AM · Restricted Project
etiotto added inline comments to D89911: [PartialInliner]: Handle code regions in a switch stmt cases.
Oct 30 2020, 11:42 AM · Restricted Project

Oct 29 2020

etiotto added a comment to D89911: [PartialInliner]: Handle code regions in a switch stmt cases.

ping

Oct 29 2020, 1:00 PM · Restricted Project

Oct 26 2020

etiotto updated the diff for D89911: [PartialInliner]: Handle code regions in a switch stmt cases.

Fix formatting.

Oct 26 2020, 8:06 AM · Restricted Project

Oct 22 2020

etiotto updated the diff for D89911: [PartialInliner]: Handle code regions in a switch stmt cases.

Add LLVM_DEBUG stmts.

Oct 22 2020, 12:37 PM · Restricted Project
etiotto committed rGe6521ce06425: [NFC][PartialInliner]: Clean up code (authored by etiotto).
[NFC][PartialInliner]: Clean up code
Oct 22 2020, 11:40 AM
etiotto closed D89895: [NFC][PartialInliner]: Clean up code .
Oct 22 2020, 11:40 AM · Restricted Project
etiotto added a comment to D89895: [NFC][PartialInliner]: Clean up code .

Note: this failure looks bogus to me as it also happens in other PRs like https://reviews.llvm.org/D89964

linux > HWAddressSanitizer-x86_64.TestCases::sizes.cpp
Script:
--
: 'RUN: at line 3';      /mnt/disks/ssd0/agent/llvm-project/build/./bin/clang  --driver-mode=g++  -m64  -gline-tables-only -fsanitize=hwaddress -fuse-ld=lld -mcmodel=large -mllvm -hwasan-globals -mllvm -hwasan-use-short-granules -mllvm -hwasan-instrument-landing-pads=0 -mllvm -hwasan-instrument-personality-functions /mnt/disks/ssd0/agent/llvm-project/compiler-rt/test/hwasan/TestCases/sizes.cpp -nostdlib++ -lstdc++ -o /mnt/disks/ssd0/agent/llvm-project/build/projects/compiler-rt/test/hwasan/X86_64/TestCases/Output/sizes.cpp.tmp
Oct 22 2020, 9:07 AM · Restricted Project
etiotto updated the diff for D89911: [PartialInliner]: Handle code regions in a switch stmt cases.

Address comments.

Oct 22 2020, 9:00 AM · Restricted Project
etiotto added reviewers for D89911: [PartialInliner]: Handle code regions in a switch stmt cases: fhahn, gyiu.
Oct 22 2020, 8:59 AM · Restricted Project
etiotto retitled D89895: [NFC][PartialInliner]: Clean up code from [NFC][Partial Inline]: Clean up code to [NFC][PartialInliner]: Clean up code .
Oct 22 2020, 8:01 AM · Restricted Project
etiotto updated the summary of D89911: [PartialInliner]: Handle code regions in a switch stmt cases.
Oct 22 2020, 6:53 AM · Restricted Project
etiotto updated the diff for D89911: [PartialInliner]: Handle code regions in a switch stmt cases.

Address comments

Oct 22 2020, 6:52 AM · Restricted Project

Oct 21 2020

etiotto requested review of D89911: [PartialInliner]: Handle code regions in a switch stmt cases.
Oct 21 2020, 2:26 PM · Restricted Project
etiotto updated the diff for D89895: [NFC][PartialInliner]: Clean up code .

Fix clang-format

Oct 21 2020, 12:57 PM · Restricted Project
etiotto requested review of D89895: [NFC][PartialInliner]: Clean up code .
Oct 21 2020, 9:40 AM · Restricted Project

Oct 2 2020

etiotto added a comment to D88669: [ValueTracking] Add tracking of the alignment assume bundle.

Look OK to me but you should also add other reviewers.

Oct 2 2020, 10:57 AM · Restricted Project

Sep 10 2020

etiotto committed rG6b13cfe7399b: [ArgumentPromotion]: Copy function metadata after promoting arguments (authored by etiotto).
[ArgumentPromotion]: Copy function metadata after promoting arguments
Sep 10 2020, 10:10 AM
etiotto closed D86630: [ArgumentPromotion]: Copy function metadata after promoting arguments.
Sep 10 2020, 10:10 AM · Restricted Project

Sep 9 2020

etiotto added inline comments to D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.
Sep 9 2020, 10:44 AM · Restricted Project

Sep 2 2020

etiotto retitled D86630: [ArgumentPromotion]: Copy function metadata after promoting arguments from [ArgumentPromotion]: Copy function annotation after promoting arguments to [ArgumentPromotion]: Copy function metadata after promoting arguments.
Sep 2 2020, 7:20 AM · Restricted Project

Sep 1 2020

etiotto added a comment to D86630: [ArgumentPromotion]: Copy function metadata after promoting arguments.

ping

Sep 1 2020, 6:40 AM · Restricted Project

Aug 31 2020

etiotto added inline comments to rG7ed8124d46f9: [HeapProf] Clang and LLVM support for heap profiling instrumentation.
Aug 31 2020, 2:19 PM

Aug 27 2020

etiotto updated the diff for D86630: [ArgumentPromotion]: Copy function metadata after promoting arguments.

Address code review comments.

Aug 27 2020, 9:30 AM · Restricted Project
etiotto added inline comments to D86630: [ArgumentPromotion]: Copy function metadata after promoting arguments.
Aug 27 2020, 9:29 AM · Restricted Project
etiotto updated the diff for D86630: [ArgumentPromotion]: Copy function metadata after promoting arguments.

Fix quotes in profile.ll

Aug 27 2020, 8:01 AM · Restricted Project

Aug 26 2020

etiotto requested review of D86630: [ArgumentPromotion]: Copy function metadata after promoting arguments.
Aug 26 2020, 8:29 AM · Restricted Project

Aug 24 2020

etiotto added a comment to D86262: [LoopIdiomRecognizePass] Options to disable part or the entire Loop Idiom Recognize Pass.

Here are a couple of programs to test the performance of a simple memset vs a simple initialization loop. On my system (PPC) even this short init. loop is slower than the memset.

% cat loop.c
#include <string.h>
int main() {
  int A[N];
  for (int n=0; n<STEPS; ++n)
    for(int i=0;i<N;++i)
      A[i] = 0;
  return A[0];
}

% gcc -O0 loop.c -DN=10 -DSTEPS=1000000; time ./a.out
./a.out 0.10s user 0.00s system 99% cpu 0.099 total

% cat memset.c
#include <string.h>
int main() {
  int A[N];
  for (int n=0; n<STEPS; ++n)
    memset(A, 0, N * sizeof(int));
  return A[0];
}

% gcc -O0 memset.c -DN=10 -DSTEPS=1000000; time ./a.out
./a.out 0.02s user 0.00s system 99% cpu 0.022 total

Aug 24 2020, 7:28 AM · Restricted Project
etiotto accepted D86262: [LoopIdiomRecognizePass] Options to disable part or the entire Loop Idiom Recognize Pass.

Transforming a loop into a memset or memcpy is not *always* profitable (it depends on how many elements are initialized/copied and on the efficiency of the target architecture implementation for those libraries) but is often better than a loop. The low level optimizer should change short memset/memcpy back into a sequence of assignments, IMO this should not be done in opt because the exact length for which memset is less profitable than individual assignment is a function of the target architecture. As for this PR, adding an option to disable the optimization is a good thing as it provides more flexibility to users that for whatever reason do not want the transformation to run (and is also handy for compiler developers when debugging code). And more flexibility is a good thing.

Aug 24 2020, 7:01 AM · Restricted Project
etiotto added a comment to D86262: [LoopIdiomRecognizePass] Options to disable part or the entire Loop Idiom Recognize Pass.

I'd like to see a PhaseOrdering test showing the IR that is not optimized due to the DA being unaware about these intrinsics.

Aug 24 2020, 6:49 AM · Restricted Project

Aug 21 2020

etiotto accepted D86133: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops.
Aug 21 2020, 9:44 AM · Restricted Project

Aug 13 2020

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

I have trouble finding the definition of LoopNestAnalysis::run.

Aug 13 2020, 2:05 PM · Restricted Project

Jul 31 2020

etiotto added inline comments to D84764: Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z.
Jul 31 2020, 1:55 PM · Restricted Project

Jul 30 2020

etiotto committed rG36a4f1037628: Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z (authored by etiotto).
Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z
Jul 30 2020, 11:06 AM
etiotto closed D84764: Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z.
Jul 30 2020, 11:06 AM · Restricted Project

Jul 29 2020

etiotto added a comment to D84764: Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z.

@uweigand and @Kai I forgot to fix a test case. Now fixed are you still ok with the test case change?

Jul 29 2020, 2:01 PM · Restricted Project
etiotto updated the diff for D84764: Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z.

Fix test case for PPC64 and SystemZ

Jul 29 2020, 1:58 PM · Restricted Project
etiotto updated the diff for D84764: Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z.

Fix formatting

Jul 29 2020, 7:07 AM · Restricted Project

Jul 28 2020

etiotto requested review of D84764: Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z.
Jul 28 2020, 8:56 AM · Restricted Project

Jul 2 2020

etiotto added a comment to D82895: [LoopInfo] empty() -> isInnermost(), add isOutermost().

I think that isInnermost() would make even more sense.

I'm fine with adding bool isInnermost() const { return empty(); } and while we are at it, bool isOutermost().

@fhahn @Meinersbur @Whitney @etiotto Objections?

Jul 2 2020, 2:36 PM · Restricted Project

Jun 4 2020

etiotto added inline comments to D81053: [LoopUnroll] Allow loops with multiple exiting blocks where loop latch is not necessary one of them..
Jun 4 2020, 8:44 AM · Restricted Project

May 28 2020

etiotto accepted D80477: [LoopUnroll] Support loops with exiting block that is neither header nor latch..

LGTM

May 28 2020, 7:34 AM · Restricted Project

May 25 2020

etiotto added inline comments to D80477: [LoopUnroll] Support loops with exiting block that is neither header nor latch..
May 25 2020, 10:42 AM · Restricted Project
etiotto updated the summary of D80477: [LoopUnroll] Support loops with exiting block that is neither header nor latch..
May 25 2020, 10:10 AM · Restricted Project

Mar 13 2020

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

Mar 12 2020

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

Mar 10 2020

etiotto created D75920: [LoopCacheAnalysis] Improve cost heuristic..
Mar 10 2020, 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