etherzhhb (Hongbin Zheng)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 30 2014, 7:37 PM (167 w, 6 d)

Recent Activity

Sat, Oct 14

etherzhhb added a comment to D38928: [LoopInfo][Refactor] Make SetLoopAlreadyUnrolled a member function of the Loop Pass, NFC..

LGTM

I think the Loop class has grown quite a bit, and we should pull out some of the utility functions into a separate LoopUtils namespace, but this patch does not need to be blocked on that.

Sat, Oct 14, 8:58 PM
etherzhhb updated the diff for D38928: [LoopInfo][Refactor] Make SetLoopAlreadyUnrolled a member function of the Loop Pass, NFC..

Update comments

Sat, Oct 14, 8:22 PM
etherzhhb created D38928: [LoopInfo][Refactor] Make SetLoopAlreadyUnrolled a member function of the Loop Pass, NFC..
Sat, Oct 14, 8:20 PM

Tue, Oct 10

etherzhhb updated the diff for D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.

Delete the redundant getSCEVAtScope

Tue, Oct 10, 11:07 PM
etherzhhb added inline comments to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Tue, Oct 10, 4:02 PM

Mon, Oct 9

etherzhhb updated the diff for D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.

Update comments

Mon, Oct 9, 9:30 PM
etherzhhb added a comment to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.

Ping?

Mon, Oct 9, 10:27 AM

Sat, Oct 7

etherzhhb added inline comments to D38255: [WIP] Polyhedral Value Analysis.
Sat, Oct 7, 2:19 PM

Tue, Oct 3

etherzhhb updated the diff for D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.

Address reviewer comments

Tue, Oct 3, 8:09 PM
etherzhhb added inline comments to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Tue, Oct 3, 10:02 AM
etherzhhb updated the diff for D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.

Partially address reviewer's comment. This is a WIP patch

Tue, Oct 3, 10:00 AM

Mon, Oct 2

etherzhhb added inline comments to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Mon, Oct 2, 3:17 PM
etherzhhb added inline comments to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Mon, Oct 2, 2:19 PM
etherzhhb added inline comments to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Mon, Oct 2, 2:16 PM

Sat, Sep 30

etherzhhb added inline comments to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Sat, Sep 30, 9:29 PM
etherzhhb updated the diff for D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.

Update format

Sat, Sep 30, 9:25 PM
etherzhhb updated the diff for D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.

Looks like I need to pass the SCEVExpander from the IndVarSimpilfy pass to coordinate SCEV rewrite, otherwise we will fail test/Transforms/IndVarSimplify/pr20680.ll

Sat, Sep 30, 9:22 PM
etherzhhb added inline comments to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Sat, Sep 30, 9:17 AM
etherzhhb updated the diff for D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.

Address reviewer's comments

Sat, Sep 30, 9:15 AM

Fri, Sep 29

etherzhhb added inline comments to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Fri, Sep 29, 1:20 PM
etherzhhb added inline comments to D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Fri, Sep 29, 12:40 PM
etherzhhb created D38415: [SimplifyIndVar] Replace IVUsers with loop invariant if possible.
Fri, Sep 29, 10:22 AM

Tue, Sep 26

etherzhhb added inline comments to D38272: [SimplifyIndVar] Constant fold IV users.
Tue, Sep 26, 3:30 PM
etherzhhb updated subscribers of D38255: [WIP] Polyhedral Value Analysis.
Tue, Sep 26, 3:29 PM
etherzhhb created D38272: [SimplifyIndVar] Constant fold IV users.
Tue, Sep 26, 3:29 PM
etherzhhb updated the diff for D38272: [SimplifyIndVar] Constant fold IV users.

Fix typo

Tue, Sep 26, 3:29 PM

Mon, Sep 25

etherzhhb updated the diff for D38072: [SimplifyIndvar] Replace the srem used by IV if we can prove both of its operands are non-negative.

address comments from the reviewer

Mon, Sep 25, 9:29 AM
etherzhhb added inline comments to D38072: [SimplifyIndvar] Replace the srem used by IV if we can prove both of its operands are non-negative.
Mon, Sep 25, 8:58 AM

Thu, Sep 21

etherzhhb updated the diff for D38072: [SimplifyIndvar] Replace the srem used by IV if we can prove both of its operands are non-negative.

Update comment

Thu, Sep 21, 7:52 AM

Wed, Sep 20

etherzhhb updated the diff for D38072: [SimplifyIndvar] Replace the srem used by IV if we can prove both of its operands are non-negative.

update patch based on the comments

Wed, Sep 20, 8:38 PM
etherzhhb added inline comments to D38072: [SimplifyIndvar] Replace the srem used by IV if we can prove both of its operands are non-negative.
Wed, Sep 20, 10:51 AM
etherzhhb updated the diff for D38072: [SimplifyIndvar] Replace the srem used by IV if we can prove both of its operands are non-negative.

Update comment

Wed, Sep 20, 12:48 AM
etherzhhb updated the diff for D38072: [SimplifyIndvar] Replace the srem used by IV if we can prove both of its operands are non-negative.

Update comment

Wed, Sep 20, 12:37 AM
etherzhhb updated the diff for D38072: [SimplifyIndvar] Replace the srem used by IV if we can prove both of its operands are non-negative.

Update patch to address reviewer's request

Wed, Sep 20, 12:35 AM

Tue, Sep 19

etherzhhb created D38072: [SimplifyIndvar] Replace the srem used by IV if we can prove both of its operands are non-negative.
Tue, Sep 19, 7:17 PM

Aug 16 2017

etherzhhb added a comment to D36800: Add rewrite by-reference parameter pass.

It's certainly not too late. Until now it seemed to me like a very specific optimization for gfortran. I did not see any such examples before. If we can generalize this, we can certainly try to upstream this. Could you share some of the examples you are seeing?

Aug 16 2017, 11:00 PM · Restricted Project
etherzhhb added a comment to D36800: Add rewrite by-reference parameter pass.

Sorry this may be too late. Alexandre and me had discussed similar problem (but not exactly the same)

  1. maybe we could improve the ArgumentPromotion pass for this
  2. this pass seems to be generic, maybe we could move this to LLVM?
Aug 16 2017, 10:30 PM · Restricted Project

Aug 9 2017

etherzhhb added inline comments to D36425: [ZoneAlgo] Allow two writes that write identical values into same array slot.
Aug 9 2017, 12:15 AM · Restricted Project

Aug 7 2017

etherzhhb added inline comments to D36425: [ZoneAlgo] Allow two writes that write identical values into same array slot.
Aug 7 2017, 3:55 PM · Restricted Project
etherzhhb added inline comments to D36425: [ZoneAlgo] Allow two writes that write identical values into same array slot.
Aug 7 2017, 3:39 PM · Restricted Project
etherzhhb added inline comments to D36425: [ZoneAlgo] Allow two writes that write identical values into same array slot.
Aug 7 2017, 3:38 PM · Restricted Project

Aug 1 2017

etherzhhb created D36210: [LLVM] [RegionInfo] Introduce getExitingBlocks to get all predecessors of Exit in the current region..
Aug 1 2017, 10:55 PM

Jul 25 2017

etherzhhb added a comment to D35858: [RFC] [LLVM] [LazyValueInfo] Introduce getRecurringEdgeValue to handle simple recurrence.

Could you please quantify the effect that this has on compile time? Time for an optimized -j1 compile of LLVM itself is reasonable. Also it would be nice to know what effect this has on generated code.

Jul 25 2017, 4:12 PM
etherzhhb created D35858: [RFC] [LLVM] [LazyValueInfo] Introduce getRecurringEdgeValue to handle simple recurrence.
Jul 25 2017, 2:52 PM

Jul 17 2017

etherzhhb added a comment to D35471: [Polly] [RFC] Calculate AST expression type.

Just out of curiosity, are we supposed to change the isl inside polly? what is the relationship between this isl and the "upstream" isl?

Jul 17 2017, 4:24 PM

Jun 26 2017

etherzhhb resigned from D34598: ScalarEvolution: Add URem support.
Jun 26 2017, 3:15 PM

May 11 2017

etherzhhb updated the diff for D33089: [Polly] Generate more 'canonical' induction variable if we can prove there is no overflow..

Fix typo

May 11 2017, 9:46 AM
etherzhhb updated the diff for D33089: [Polly] Generate more 'canonical' induction variable if we can prove there is no overflow..

Address Tobias's comment

May 11 2017, 9:44 AM

May 10 2017

etherzhhb created D33089: [Polly] Generate more 'canonical' induction variable if we can prove there is no overflow..
May 10 2017, 8:53 PM

Apr 28 2017

etherzhhb added inline comments to D32639: [Polly] [Fortran Support] Add pattern matching to find Fortran array descriptor.
Apr 28 2017, 9:40 AM

Apr 26 2017

etherzhhb updated the diff for D32581: [Polly] Do not introduce address space cast.

Fix the test case.

Apr 26 2017, 11:39 PM · Restricted Project
etherzhhb removed a reviewer for D32581: [Polly] Do not introduce address space cast: pollydev.
Apr 26 2017, 11:37 PM · Restricted Project
etherzhhb updated the diff for D32581: [Polly] Do not introduce address space cast.

Add testcase

Apr 26 2017, 11:34 PM · Restricted Project
etherzhhb added a reviewer for D32581: [Polly] Do not introduce address space cast: alexandre.isoard.
Apr 26 2017, 11:15 PM · Restricted Project
etherzhhb added a reviewer for D32581: [Polly] Do not introduce address space cast: Meinersbur.
Apr 26 2017, 11:13 PM · Restricted Project
etherzhhb added a comment to D32581: [Polly] Do not introduce address space cast.

I want to also include a test case, if you can point me to the test case related to IslNodeBuilder::preloadUnconditionally, I can add one.
Let me search polly test dir at the same time

Apr 26 2017, 11:11 PM · Restricted Project
etherzhhb created D32581: [Polly] Do not introduce address space cast.
Apr 26 2017, 11:10 PM · Restricted Project
etherzhhb added inline comments to D32431: [Polly] Added OpenCL Runtime to GPURuntime Library for GPGPU CodeGen.
Apr 26 2017, 12:12 AM · Restricted Project

Apr 25 2017

etherzhhb added inline comments to D32431: [Polly] Added OpenCL Runtime to GPURuntime Library for GPGPU CodeGen.
Apr 25 2017, 5:12 PM · Restricted Project

Mar 30 2017

etherzhhb updated the diff for D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.

fix the last few things before pushing the commit

Mar 30 2017, 3:05 PM
etherzhhb added a comment to D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.

Comments inline.

You can also do this same rewrite within SCEV. That is, try to have getSCEV(sdiv instruction) return a SCEVUDivExpr if legal.

This also sounds reasonable and I can also look at that after this.
Just a quick question: are we suppose to use getSCEVAtScope in getSCEV?

Mar 30 2017, 2:56 PM
etherzhhb updated the diff for D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.

address sanjoy 's comment

Mar 30 2017, 2:51 PM
etherzhhb added inline comments to D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.
Mar 30 2017, 12:56 AM
etherzhhb updated the diff for D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.

Add more testcases

Mar 30 2017, 12:51 AM

Mar 29 2017

etherzhhb updated the summary of D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.
Mar 29 2017, 11:35 PM
etherzhhb added a comment to D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.

Hi Tobias

Mar 29 2017, 11:33 PM
etherzhhb updated subscribers of D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.
Mar 29 2017, 8:48 PM
etherzhhb added inline comments to D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.
Mar 29 2017, 8:39 PM
etherzhhb created D31488: [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative.
Mar 29 2017, 8:38 PM

Jan 30 2017

etherzhhb added a comment to D28050: [Clang][Driver] Clean up Clang::ConstructJob a little bit, NFC.

I think this patch is an improvement, but Clang::ConstructJob is still one giant function.

Do you have ideas to improve readability of this function or plans to further reduce its size?

Jan 30 2017, 11:46 AM

Jan 19 2017

etherzhhb added a comment to D28020: [Polly] Align newly created arrays to the first level cache line boundary.

Interesting, maybe we need to get this from TargetTransformInfo eventually, because I saw a similar global variable/option in LoadStoreVectorizer as well.

Jan 19 2017, 3:21 PM

Jan 14 2017

etherzhhb retitled D28739: Fix compilation on MSVC, NFC from to Fix compilation on MSVC, NFC .
Jan 14 2017, 9:59 PM

Jan 11 2017

etherzhhb retitled D28595: [RFC] Introduce directive.scope.entry and directive.scope.exit for IR-level Region Annotation from to [RFC] Introduce directive.scope.entry and directive.scope.exit for IR-level Region Annotation.
Jan 11 2017, 10:01 PM

Jan 10 2017

etherzhhb added a comment to D28518: [Polly] Canonicalize arrays according to base-ptr equivalence class.

testcase?

Jan 10 2017, 10:22 AM · Restricted Project

Dec 22 2016

etherzhhb updated subscribers of D28050: [Clang][Driver] Clean up Clang::ConstructJob a little bit, NFC.
Dec 22 2016, 2:09 AM
etherzhhb retitled D28050: [Clang][Driver] Clean up Clang::ConstructJob a little bit, NFC from to [Clang][Driver] Clean up Clang::ConstructJob a little bit, NFC.
Dec 22 2016, 2:07 AM

Oct 29 2016

etherzhhb closed D25861: Remove the unused POLLY_LINK_LIBS for linking polly into tools.

This is pushed, phabricator didn't update this patch's status

Oct 29 2016, 11:55 PM

Oct 21 2016

etherzhhb added a comment to D25861: Remove the unused POLLY_LINK_LIBS for linking polly into tools.

Are you going to review the removal of POLLY_LINK_LIBS in polly and clang separately?

Oct 21 2016, 8:19 AM

Oct 20 2016

etherzhhb retitled D25861: Remove the unused POLLY_LINK_LIBS for linking polly into tools from to Remove the unused POLLY_LINK_LIBS for linking polly into tools.
Oct 20 2016, 6:56 PM

Oct 19 2016

etherzhhb added inline comments to D25807: Check latch block terminator instruction is a branch instruction.
Oct 19 2016, 5:26 PM

Oct 7 2016

etherzhhb updated the diff for D25372: [Polly] Define PATH_MAX on windows.

Do you mean something like this?

Oct 7 2016, 12:33 PM · Restricted Project
etherzhhb retitled D25372: [Polly] Define PATH_MAX on windows from to [Polly] Define PATH_MAX on windows.
Oct 7 2016, 10:49 AM · Restricted Project
etherzhhb added a comment to D25354: Treat polly as "in tree" if LLVM_EXTERNAL_POLLY_SOURCE_DIR is provided.

I tried the combination of {LLVM_POLLY_LINK_INTO_TOOLS On/Of} x {cmake from scratch/cmake on existing cmakecach}, and it passed check-all (which includes check-polly).

Oct 7 2016, 10:25 AM
etherzhhb added a comment to D25354: Treat polly as "in tree" if LLVM_EXTERNAL_POLLY_SOURCE_DIR is provided.

The only "tools/polly" I saw is :
./CMakeLists.txt:if (EXISTS ${LLVM_MAIN_SRC_DIR}/tools/polly/CMakeLists.txt)

Oct 7 2016, 9:06 AM

Oct 6 2016

etherzhhb retitled D25354: Treat polly as "in tree" if LLVM_EXTERNAL_POLLY_SOURCE_DIR is provided from to Treat polly as "in tree" if LLVM_EXTERNAL_POLLY_SOURCE_DIR is provided.
Oct 6 2016, 6:34 PM

Jun 7 2016

etherzhhb added inline comments to D21102: [Polly][GSoC 2016] Draft of using new pass manager to cache/invalidate scop analysis in a function pass.
Jun 7 2016, 2:27 PM
etherzhhb added a dependency for D21102: [Polly][GSoC 2016] Draft of using new pass manager to cache/invalidate scop analysis in a function pass: D20962: [Polly][GSoC 2016]New function pass ScopInfoWrapperPass.
Jun 7 2016, 2:24 PM
etherzhhb added a dependent revision for D20962: [Polly][GSoC 2016]New function pass ScopInfoWrapperPass: D21102: [Polly][GSoC 2016] Draft of using new pass manager to cache/invalidate scop analysis in a function pass.
Jun 7 2016, 2:24 PM
etherzhhb retitled D21102: [Polly][GSoC 2016] Draft of using new pass manager to cache/invalidate scop analysis in a function pass from to [Polly][GSoC 2016] Draft of using new pass manager to cache/invalidate scop analysis in a function pass.
Jun 7 2016, 2:23 PM

Jun 6 2016

etherzhhb added inline comments to D20962: [Polly][GSoC 2016]New function pass ScopInfoWrapperPass.
Jun 6 2016, 9:34 AM

Jun 2 2016

etherzhhb added inline comments to D20912: [Polly][GSoC 2016]Update ScopBuilder's memory management.
Jun 2 2016, 3:00 PM

May 5 2016

etherzhhb updated subscribers of D19886: Add ability to use DependenceAnalysis from LoopAccessAnalysis.
May 5 2016, 10:38 AM

May 4 2016

etherzhhb updated subscribers of D19886: Add ability to use DependenceAnalysis from LoopAccessAnalysis.
May 4 2016, 11:45 AM

Apr 6 2016

etherzhhb updated subscribers of D18818: [FIX] Adjust execution context of hoisted loads wrt. error domains.
Apr 6 2016, 2:59 AM

Mar 5 2016

etherzhhb retitled D17907: [Polly] from to [Polly] .
Mar 5 2016, 4:55 AM

Mar 4 2016

etherzhhb updated the diff for D17905: [Polly][DOC] Add fine-grain dependences analysis to release notes..

depednences -> dependences
acccess -> access

Mar 4 2016, 11:40 PM · Restricted Project
etherzhhb added a comment to D17905: [Polly][DOC] Add fine-grain dependences analysis to release notes..

LGTM besides a mire typo.

dence"
+pass provides dependences analysis at memory reference level and memory access level.
+The memory reference level analysis distinguishes the accessed references in the
+same statement, and generates depednences relationships between (statement, reference)
+pairs. The memory acccess level analysis distinguishes accesses in the same statement,
+and generates depednences relationships between (statement, access) pairs. These
+fine-grain depednences are enabled by "-polly-dependences-analysis-level=reference-level"

dependences.

Mar 4 2016, 11:07 PM · Restricted Project
etherzhhb retitled D17905: [Polly][DOC] Add fine-grain dependences analysis to release notes. from to [Polly][DOC] Add fine-grain dependences analysis to release notes..
Mar 4 2016, 7:48 PM · Restricted Project

Mar 3 2016

etherzhhb closed D17477: [Polly] [RFC] Allow the client of DependenceInfo to obtain dependences at different granularities..

r262591

Mar 3 2016, 12:23 AM

Mar 2 2016

etherzhhb added inline comments to D17477: [Polly] [RFC] Allow the client of DependenceInfo to obtain dependences at different granularities..
Mar 2 2016, 11:37 PM