Page MenuHomePhabricator

fhahn (Florian Hahn)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 18 2016, 4:39 AM (242 w, 4 d)

Recent Activity

Today

fhahn added a comment to D100329: [SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false..

Hmm, this seems pretty harmless.
I do wonder if FoldTwoEntryPHINode() should be generalized, but until then this seems ok.
Thank you.

Tue, Apr 13, 2:37 AM · Restricted Project
fhahn committed rG467b1f1cd2f2: [SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false. (authored by fhahn).
[SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false.
Tue, Apr 13, 2:34 AM
fhahn closed D100329: [SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false..
Tue, Apr 13, 2:33 AM · Restricted Project

Yesterday

fhahn added a comment to D98103: [NPM] Do not run function simplification pipeline unnecessarily.

Do you have any data on whether there are any binary differences for a set of programs/benchmarks with this enabled compared to disabled?

There are, in the strict sense of binary diff. I did not try it on benchmarks.

Mon, Apr 12, 2:56 PM · Restricted Project
fhahn added a comment to D100032: [X86][AMX] Add description of x86_amx to LangRef..

Thanks for getting this started!

Mon, Apr 12, 2:54 PM · Restricted Project
fhahn added a comment to D98103: [NPM] Do not run function simplification pipeline unnecessarily.

Do you have any data on whether there are any binary differences for a set of programs/benchmarks with this enabled compared to disabled?

Mon, Apr 12, 2:51 PM · Restricted Project
fhahn committed rG9e81325b8769: [PhaseOrdering] Add test for SimplifyCFG and LV interaction. (authored by fhahn).
[PhaseOrdering] Add test for SimplifyCFG and LV interaction.
Mon, Apr 12, 2:30 PM
fhahn committed rG59334755e4c8: [SimplifyCFG] Add test requiring only hoisting a branch. (authored by fhahn).
[SimplifyCFG] Add test requiring only hoisting a branch.
Mon, Apr 12, 2:30 PM
fhahn updated the diff for D100329: [SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false..

Add phase-ordering test.

Mon, Apr 12, 12:09 PM · Restricted Project
fhahn added inline comments to D100329: [SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false..
Mon, Apr 12, 10:44 AM · Restricted Project
fhahn added a comment to D84108: [SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline.

FYI, I tracked down another ~50% regression in one of our benchmarks to this change. It boils down to failing to vectorize the loop below (or here https://clang.godbolt.org/z/sbjd8Wshx). I put up D100329, which always allows hoisting if only a termintor needs to be hoisted, which effectively replaces the original terminator.

Mon, Apr 12, 10:43 AM · Restricted Project
fhahn requested review of D100329: [SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false..
Mon, Apr 12, 10:40 AM · Restricted Project
fhahn added inline comments to D98240: [VectorCombine] Simplify to scalar store if only one element updated.
Mon, Apr 12, 6:43 AM · Restricted Project
fhahn requested review of D100302: [VectorCombine] Run load/extract scalarization after scalarizing store..
Mon, Apr 12, 6:38 AM · Restricted Project
fhahn updated the diff for D100273: [VectorCombine] Scalarize vector load/extract..

Updated to match vector loads, so it is easier to re-trigger after store scalarization from D98240.

Mon, Apr 12, 6:31 AM · Restricted Project
fhahn added inline comments to D99569: [LoopVectorize] Fix bug where predicated loads/stores were dropped.
Mon, Apr 12, 4:39 AM · Restricted Project
fhahn requested review of D100291: [AArch64] Use type-legalization cost for code size memop cost..
Mon, Apr 12, 2:22 AM · Restricted Project

Sun, Apr 11

fhahn added inline comments to D100273: [VectorCombine] Scalarize vector load/extract..
Sun, Apr 11, 2:22 PM · Restricted Project
fhahn added a comment to D98240: [VectorCombine] Simplify to scalar store if only one element updated.

I put up a similar patch to handle extractelement (load %ptr), %index in a similar fashion: D100273. Together with this patch, they greatly improve codegen for certain code generated using the C/C++ matrix extension https://clang.godbolt.org/z/qsccPdPf4

Sun, Apr 11, 2:13 PM · Restricted Project
fhahn requested review of D100273: [VectorCombine] Scalarize vector load/extract..
Sun, Apr 11, 2:04 PM · Restricted Project
fhahn committed rG816cf4146280: [LoopUnroll] Add AArch64 test case with large vector ops. (authored by fhahn).
[LoopUnroll] Add AArch64 test case with large vector ops.
Sun, Apr 11, 1:42 PM
fhahn committed rG3219d981d45e: [VectorCombine] Add tests for load/extract scalarization. (authored by fhahn).
[VectorCombine] Add tests for load/extract scalarization.
Sun, Apr 11, 1:42 PM
fhahn abandoned D70734: [VPlan] Add basicblocks() and loop_basicblocks iterators..

I put up a more general version up in D100175

Sun, Apr 11, 4:28 AM · Restricted Project
fhahn requested review of D100260: [VPlan] Merge predicated-triangle regions, after sinking..
Sun, Apr 11, 4:26 AM · Restricted Project
fhahn requested review of D100259: [VPlan] Add VPRecipeBase::mayHaveSideEffects..
Sun, Apr 11, 4:14 AM · Restricted Project
fhahn requested review of D100258: [VPlan] Add first VPlan version of sinkScalarOperands..
Sun, Apr 11, 4:12 AM · Restricted Project
fhahn requested review of D100257: [VPlan] Add VPUserID to distinguish between recipes and others..
Sun, Apr 11, 4:11 AM · Restricted Project

Sat, Apr 10

fhahn committed rG71ab6c98a0d1: [Matrix] Implement C-style explicit type conversions for matrix types. (authored by SaurabhJha).
[Matrix] Implement C-style explicit type conversions for matrix types.
Sat, Apr 10, 3:50 AM
fhahn closed D99037: [Matrix] Implement C-style explicit type conversions for matrix types.
Sat, Apr 10, 3:49 AM · Restricted Project

Fri, Apr 9

fhahn added a comment to D99951: [NFC] Add scalable vectorisation tests for int/FP <> int/FP conversions.

Sure, I can combine them into a single test if you think that's better? I wasn't sure whether in general we prefer to have more concise test files or to have fewer, larger files. I could create a file with a name like sve-type-conv.ll.

Fri, Apr 9, 6:16 AM · Restricted Project
fhahn added a comment to D99951: [NFC] Add scalable vectorisation tests for int/FP <> int/FP conversions.

Would it make sense to have all the conversion tests in a single file, as the tests are quite compact?

Fri, Apr 9, 6:04 AM · Restricted Project
fhahn added a comment to D100163: [MSSA] Rename uses in IDF regardless of new def position in basic block..

Thanks for putting up the patch! Looks compile-time neutral: http://llvm-compile-time-tracker.com/compare.php?from=0494b6b6769f9ceda7e019a30e83a472d23afff5&to=1e6ad8da46f1cf45300df0f2083c1636e34e54c8&stat=instructions

Fri, Apr 9, 5:59 AM · Restricted Project
fhahn added a comment to D99501: ignore -flto= options recognized by GCC.

here in the same place, or in a different merge request?

Fri, Apr 9, 5:58 AM · Restricted Project
fhahn added a comment to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.

Will create a new patch to address your last comments

Fri, Apr 9, 4:03 AM · Restricted Project
fhahn requested review of D100176: [VPlan] Use recursive traversal iterator in VPSlotTracker..
Fri, Apr 9, 4:01 AM · Restricted Project
fhahn requested review of D100175: [VPlan] Add GraphTraits impl to traverse through VPRegionBlock..
Fri, Apr 9, 4:00 AM · Restricted Project
fhahn requested review of D100169: [ADT] Update RPOT to work with specializations of different types..
Fri, Apr 9, 3:08 AM · Restricted Project
fhahn added a comment to D99354: [SimpleLoopUnswitch] Port partially invariant unswitch from LoopUnswitch to SimpleLoopUnswitch.

Does this patch give the expected speedup on omnetpp?

Fri, Apr 9, 2:08 AM · Restricted Project
fhahn accepted D99037: [Matrix] Implement C-style explicit type conversions for matrix types.

LGTM, thanks for working on this!

Fri, Apr 9, 1:26 AM · Restricted Project
fhahn accepted D99582: [test, LoopVectorize] Fix use of var defined in CHECK-NOT.

LGTM, thanks!

Fri, Apr 9, 1:10 AM · Restricted Project

Thu, Apr 8

fhahn added a comment to D100125: Missing syntax highlighting for LLVM IR in Langref.

Thanks for the patch! But do we do that for the other instruction syntax blocks as well? AFAICT the syntax blocks are not valid IR (due to the <> blocks) and .. code-block:: llvm is only used for examples with valid IR?

Thu, Apr 8, 10:24 AM · Restricted Project
fhahn updated the diff for D99294: [LV] Track incoming values for reductions in recipe (NFC)..

Rebased. I also put up 2 additional patches that make use of the operand for the incoming value of the backedge in more places: D100102 & D100113.

Thu, Apr 8, 8:09 AM · Restricted Project
fhahn requested review of D100113: [LV] Move reduction PHI node fixup to VPlan::execute (NFC)..
Thu, Apr 8, 8:03 AM · Restricted Project
fhahn updated the diff for D99293: [LV] Iterate over recipes in VPlan to fix PHIs..

rebase

Thu, Apr 8, 6:31 AM · Restricted Project
fhahn requested review of D100102: [VPlan] Use incoming VPValue to detect in-loop reductions (NFC)..
Thu, Apr 8, 6:30 AM · Restricted Project
fhahn requested review of D100101: [VPlan] Add VPBasicBlock::phis() helper (NFC)..
Thu, Apr 8, 6:30 AM · Restricted Project
fhahn committed rGe4de3cdf3d66: [LV] Pass VPWidenPHIRecipe to widenPHIInstruction (NFC). (authored by fhahn).
[LV] Pass VPWidenPHIRecipe to widenPHIInstruction (NFC).
Thu, Apr 8, 6:26 AM
fhahn added inline comments to D98435: [LoopVectorize] Add strict in-order reduction support for fixed-width vectorization.
Thu, Apr 8, 4:37 AM · Restricted Project
fhahn added inline comments to D96418: [clang] Refactor mustprogress handling, add it to all loops in c++11+..
Thu, Apr 8, 4:12 AM · Restricted Project
fhahn updated the diff for D96418: [clang] Refactor mustprogress handling, add it to all loops in c++11+..

Change names of loopMustProgress to checkIfLoopMustProgress. Same for functionMustProgress.

Thu, Apr 8, 4:06 AM · Restricted Project
fhahn added a comment to D99769: [funcattrs] Infer nosync from instruction walk.

Pretty straightforward use of existing infrastructure and port of the attributor inference rules for nosync.

port = duplication, where does this stop?

When the folks working on attributor do the work to stabilize it and get it on by default. I don't know exactly how much work that is, but I suspect quite a bit.

Thu, Apr 8, 3:58 AM · Restricted Project
fhahn added a comment to D99501: ignore -flto= options recognized by GCC.

Tests missing.
This somehow wasn't sent to cfe-commits list

Thu, Apr 8, 2:56 AM · Restricted Project
fhahn added a comment to D99424: [BasicAA] Be more careful with modulo ops on VariableGEPIndex..

The impact of this seems quite limited. Below the AA stats for MultiSource/SPEC2000/SPEC2006 on X86 with -O3 -flto:

Thu, Apr 8, 2:48 AM · Restricted Project
fhahn added a comment to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.

Thanks for the latest update! This basically looks good to me, with a few final nits!

Thu, Apr 8, 2:42 AM · Restricted Project
fhahn added a comment to D99424: [BasicAA] Be more careful with modulo ops on VariableGEPIndex..
Thu, Apr 8, 1:54 AM · Restricted Project

Wed, Apr 7

fhahn added inline comments to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.
Wed, Apr 7, 2:45 PM · Restricted Project
fhahn updated the diff for D99424: [BasicAA] Be more careful with modulo ops on VariableGEPIndex..

Rebased on top of latest changes.

Wed, Apr 7, 2:40 PM · Restricted Project
fhahn committed rG0056e7e15ac0: [BasicAA] Add another GEP modulo test with shl with odd op. (authored by fhahn).
[BasicAA] Add another GEP modulo test with shl with odd op.
Wed, Apr 7, 2:32 PM
fhahn added a comment to D100051: [clang] Move int <-> float scalar conversion to a separate function.

Alright, validating it now, then I'll push.

Wed, Apr 7, 12:25 PM · Restricted Project
fhahn added inline comments to D97389: added section on CI system.
Wed, Apr 7, 12:22 PM · Restricted Project
fhahn committed rG6e36859a84df: [BasicAA] Extend test coverage for GEP modulo logic. (authored by fhahn).
[BasicAA] Extend test coverage for GEP modulo logic.
Wed, Apr 7, 12:18 PM
fhahn accepted D99642: For non-null pointer checks, do not descend through out-of-bounds GEPs.

@nlopes do you have any more thoughts on the difference between LLVM & Alive2 on this topic?

Wed, Apr 7, 11:29 AM · Restricted Project
fhahn added reviewers for D100051: [clang] Move int <-> float scalar conversion to a separate function: rsmith, erichkeane.
Wed, Apr 7, 11:23 AM · Restricted Project
fhahn added a comment to D98288: [DSE] Translate killing locations through phis..

In general this patch seems to take exactly the same direction as D90095 and is a strict subset of it. We can choose to either re-build functionality step by step or take D90095 and split it to several smaller pieces. D90095 adds the follwoing functionality:

  1. Replaces main 'do-while' loop to 'for' loop in getDomMemoryDef. This is NFC and aimed at simplifying code structure and allows to minimize future changes.
  2. Supports phi translation to any predecessor (not only immediate one)
  3. Is able to phi translate in presence of geps and casts. In order to support this we have to track offests.

Please let me know which way you prefer to go.

Wed, Apr 7, 6:04 AM · Restricted Project
fhahn updated the diff for D96418: [clang] Refactor mustprogress handling, add it to all loops in c++11+..

rebased after pre-committing additional RUN lines in 7ca4dd82175c. Also adjusts a variable name

Wed, Apr 7, 5:53 AM · Restricted Project
fhahn added inline comments to D96418: [clang] Refactor mustprogress handling, add it to all loops in c++11+..
Wed, Apr 7, 5:53 AM · Restricted Project
fhahn committed rG7ca4dd82175c: [Clang] Extend test coverage for -f[no-]finite-loops options. (authored by fhahn).
[Clang] Extend test coverage for -f[no-]finite-loops options.
Wed, Apr 7, 5:17 AM
fhahn added a comment to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.

Hey Florian and John,

Thanks for your reviews so far. Just checked the build. Addressed all previous comments and the build is looking good too except for one thing. For open cl tests, it is failing with this curious error: initializer element is not a compile-time constant which I am still not sure how to debug. I tried to debug Clang.SemaOpenCL::sampler_t_overload.cl by moving the definition of MatrixCast in OperationKinds.def to below the definition of IntToOCLSampler. That made it work for sampler_overload but then the new matrix cast tests started failing.

Will give it another shot today. If you have any thoughts on this, let me know.

Wed, Apr 7, 3:36 AM · Restricted Project

Tue, Apr 6

fhahn requested review of D99990: [NewGVN] Use performSymbolicEvaluation instead of createExpression..
Tue, Apr 6, 1:36 PM · Restricted Project
fhahn requested review of D99987: [NewGVN] Track simplification dependencies for phi-of-ops..
Tue, Apr 6, 1:14 PM · Restricted Project
fhahn added inline comments to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.
Tue, Apr 6, 11:42 AM · Restricted Project
fhahn committed rG4059c1c32d37: [SimplifyInst] Use correct type for GEPs with vector indices. (authored by fhahn).
[SimplifyInst] Use correct type for GEPs with vector indices.
Tue, Apr 6, 9:56 AM
fhahn closed D99961: [SimplifyInst] Use correct type for GEPs with vector indices..
Tue, Apr 6, 9:56 AM · Restricted Project
fhahn added a comment to D66924: [NewGVN] Add phi-of-ops operands if no real PHI is created..

ping :)

Tue, Apr 6, 9:55 AM · Restricted Project
fhahn added a comment to D99961: [SimplifyInst] Use correct type for GEPs with vector indices..

This looks okay, but I wonder whether we shouldn't be adjusting the getIndexedType() API instead. We have similar code elsewhere, for example in https://github.com/llvm/llvm-project/blob/9c5ebf0358960adf28931569a0c801b56c8008d9/llvm/lib/IR/Constants.cpp#L2415-L2430.

Tue, Apr 6, 9:51 AM · Restricted Project
fhahn requested review of D99961: [SimplifyInst] Use correct type for GEPs with vector indices..
Tue, Apr 6, 8:14 AM · Restricted Project
fhahn added a comment to D99943: [llvm-reduce] Skip dso_local reduction step that results in invalid IR.

Could you add a test for this?

Should I add a new test or is modifying the test from D98673 sufficient?

Tue, Apr 6, 5:07 AM · Restricted Project
fhahn updated the diff for D99294: [LV] Track incoming values for reductions in recipe (NFC)..

I just pushed a small patch that prints prints VPWidenPHIRecipe using the VPValue operands, if there are operands for all incoming values (a6b06b785cda1bb94dd05f29d66892ccb44cf0cd).

Tue, Apr 6, 4:14 AM · Restricted Project
fhahn updated the diff for D99293: [LV] Iterate over recipes in VPlan to fix PHIs..

rebase & ping

Tue, Apr 6, 4:12 AM · Restricted Project
fhahn committed rGa6b06b785cda: [VPlan] Print VPValue operands for VPWidenPHI if possible. (authored by fhahn).
[VPlan] Print VPValue operands for VPWidenPHI if possible.
Tue, Apr 6, 4:12 AM
fhahn added a comment to D99943: [llvm-reduce] Skip dso_local reduction step that results in invalid IR.

Could you add a test for this?

Tue, Apr 6, 4:07 AM · Restricted Project
fhahn added inline comments to D99582: [test, LoopVectorize] Fix use of var defined in CHECK-NOT.
Tue, Apr 6, 2:20 AM · Restricted Project

Mon, Apr 5

fhahn added reviewers for D97711: [VPlan] Introduce VPWidenIntOrFpInductionRecipes to original plan.: gilr, rengolin, Ayal.
Mon, Apr 5, 3:12 PM · Restricted Project
fhahn updated the diff for D97712: [VPlan] Clone original VPlan and specialize for each VF (WIP)..

Rebased and simplified.

Mon, Apr 5, 3:05 PM · Restricted Project
fhahn updated the diff for D97711: [VPlan] Introduce VPWidenIntOrFpInductionRecipes to original plan..

Rebased and simplified.

Mon, Apr 5, 3:04 PM · Restricted Project
fhahn updated the diff for D90712: [LV] Apply sink-after transform on initial VPlan..

rebased and simplified.

Mon, Apr 5, 3:04 PM · Restricted Project
fhahn updated the diff for D90711: [LV] Build generic VPlan up-front..

Update comment.

Mon, Apr 5, 3:02 PM · Restricted Project
fhahn updated the diff for D90711: [LV] Build generic VPlan up-front..

Rebase and some simplifications.

Mon, Apr 5, 2:56 PM · Restricted Project
fhahn added inline comments to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.
Mon, Apr 5, 12:45 PM · Restricted Project
fhahn added a comment to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.

Addressed most of the comments. I couldn't understand "..would also be good to have C++ tests that test casting with matrix types where some of the dimensions are template arguments...". When I tried this

"""
cx4x4 m1;

(void)(ix4x4)m1
"""

it gave me the error
"""
C-style cast from 'cx4x4' (aka 'char attribute((matrix_type(4, 4)))') to 'ix4x4' (aka 'int attribute((matrix_type(4, 4)))') is not allowed
"""

Mon, Apr 5, 12:37 PM · Restricted Project

Fri, Apr 2

fhahn added a comment to D93990: [InstSimplify] Return poison if insertelement touches out of bounds.

Hi! It looks like this may be causing https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29445 .

Fri, Apr 2, 1:31 PM · Restricted Project
fhahn added inline comments to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.
Fri, Apr 2, 11:40 AM · Restricted Project
fhahn added inline comments to D99719: [SLP] Better estimate cost of no-op extracts on target vectors..
Fri, Apr 2, 10:55 AM · Restricted Project
fhahn added inline comments to D99719: [SLP] Better estimate cost of no-op extracts on target vectors..
Fri, Apr 2, 10:52 AM · Restricted Project
fhahn committed rG8867fc69f03d: [LV] Hoist mapping of IR operands to VPValues (NFC). (authored by fhahn).
[LV] Hoist mapping of IR operands to VPValues (NFC).
Fri, Apr 2, 9:58 AM
fhahn accepted D98602: [SCCP] Avoid modifying AdditionalUsers while iterating over it.

LGTM, thanks!

Fri, Apr 2, 9:51 AM · Restricted Project
fhahn added a comment to D98602: [SCCP] Avoid modifying AdditionalUsers while iterating over it.
In D98602#2666323, @dim wrote:

Address review comments.

Fri, Apr 2, 9:43 AM · Restricted Project
fhahn added a comment to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.

Update commit message to more accurately reflect the patch

Fri, Apr 2, 8:49 AM · Restricted Project
fhahn added inline comments to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.
Fri, Apr 2, 7:09 AM · Restricted Project
fhahn added inline comments to D99037: [Matrix] Implement C-style explicit type conversions for matrix types.
Fri, Apr 2, 7:06 AM · Restricted Project