Page MenuHomePhabricator

fhahn (Florian Hahn)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Today

fhahn committed rG3e2fdbee80b0: [AArch64] support neon_sshl and neon_ushl in performIntrinsicCombine. (authored by fhahn).
[AArch64] support neon_sshl and neon_ushl in performIntrinsicCombine.
Mon, Sep 23, 2:39 AM
fhahn committed rL372565: [AArch64] support neon_sshl and neon_ushl in performIntrinsicCombine..
[AArch64] support neon_sshl and neon_ushl in performIntrinsicCombine.
Mon, Sep 23, 2:39 AM
fhahn closed D62308: [AArch64] support neon_sshl and neon_ushl in performIntrinsicCombine..
Mon, Sep 23, 2:38 AM · Restricted Project
fhahn added a comment to D62308: [AArch64] support neon_sshl and neon_ushl in performIntrinsicCombine..

I'll submit a separate patch for turning ushl -> shl, if the shift is all constant.

... and sshl -> shl?

Mon, Sep 23, 2:38 AM · Restricted Project

Fri, Sep 20

fhahn updated the diff for D62308: [AArch64] support neon_sshl and neon_ushl in performIntrinsicCombine..

Add additional test cases and limit this patch to converting cases with appropriate zext/sext.

Fri, Sep 20, 6:54 AM · Restricted Project
fhahn committed rG8f21b5354729: [CallSiteSplitting] Remove unused includes (NFC). (authored by fhahn).
[CallSiteSplitting] Remove unused includes (NFC).
Fri, Sep 20, 1:32 AM
fhahn committed rL372375: [CallSiteSplitting] Remove unused includes (NFC)..
[CallSiteSplitting] Remove unused includes (NFC).
Fri, Sep 20, 1:32 AM

Wed, Sep 18

fhahn added a comment to D67721: [InstSimplify] fold fma/fmuladd with a NaN operand.

D67553 adds SimplifyFMAMul. We should probably also have them there. Also, could we make use of multiply by 0.0 here, with the required fast-math flags?

Wed, Sep 18, 2:21 PM · Restricted Project

Tue, Sep 17

fhahn added a comment to D67552: [LangRef] Clarify absence of rounding guarantees for fmuladd..

@reames I think this should be good to go in now?

Tue, Sep 17, 1:18 PM · Restricted Project
fhahn committed rG1bd58870e5bd: [LoopUnroll] Use LoopSize+1 as threshold, to allow unrolling loops matching… (authored by fhahn).
[LoopUnroll] Use LoopSize+1 as threshold, to allow unrolling loops matching…
Tue, Sep 17, 2:03 AM
fhahn committed rL372084: [LoopUnroll] Use LoopSize+1 as threshold, to allow unrolling loops matching….
[LoopUnroll] Use LoopSize+1 as threshold, to allow unrolling loops matching…
Tue, Sep 17, 2:02 AM
fhahn closed D67594: [LoopUnroll] Use LoopSize+1 as threshold, to allow unrolling loops matching LoopSize..
Tue, Sep 17, 2:02 AM · Restricted Project
fhahn added a comment to D67593: [bugpoint] Add support for -Oz and properly enable -Os..

LGTM

I took a quick glance at what opt is doing, and I see a few differences that likely matter:

  1. bugpoint never calls createTargetTransformInfoWrapperPass
  2. bugpoint never calls adjustPassManager
  3. bugpoint doesn't tweak Builder.LoopVectorize/Builder.SLPVectorize the same way
Tue, Sep 17, 1:25 AM · Restricted Project
fhahn committed rG5c17323dd8ee: [bugpoint] Add support for -Oz and properly enable -Os. (authored by fhahn).
[bugpoint] Add support for -Oz and properly enable -Os.
Tue, Sep 17, 1:18 AM
fhahn committed rL372079: [bugpoint] Add support for -Oz and properly enable -Os..
[bugpoint] Add support for -Oz and properly enable -Os.
Tue, Sep 17, 1:18 AM
fhahn closed D67593: [bugpoint] Add support for -Oz and properly enable -Os..
Tue, Sep 17, 1:18 AM · Restricted Project

Mon, Sep 16

fhahn added a comment to D67612: [UnrolledInstAnalyzer] Use MSSA to find stored values outside of loop..

Would something like this work for your purpose?

if (MSSA) {
    auto *D = MSSA->getWalker()->getClobberingMemoryAccess(&I);
    if (MemoryDef *MD = dyn_cast<MemoryDef>(D))
        if (StoreInst *SI = dyn_cast<StoreInst>(MD->getMemoryInst())) 
            if (Optional<SimplifiedAddress> MaybeSimpAddr =
                simplifyNonLoopAddress(SI->getPointerOperand()))
                if (MaybeSimpAddr->Base == AddrBase &&
                    MaybeSimpAddr->Offset == SimplifiedAddrOp)
                    return true;
}

I don't know if you want to return false; on some of those branches or continue with the checks below.

The walker will stop at the first access that may alias the Load. If it's not a Def, it's a Phi and it should give up, similarly if it's a Def but not a Store. Then, only if it's a store and has the conditions you added, the load can be folded/cost is ignored.

Mon, Sep 16, 1:27 PM · Restricted Project
fhahn added a comment to D64884: [PHINode] Preserve use-list order when removing incoming values..

My motivation for this change is to fix a case where we end up with a non-deterministic use-list order after simplifycfg, which I think is caused by this trashing of the use-lists.

I don't see how this could be a problem. Sure, mixing up the order is sort of confusing, but it should get mixed up in a deterministic way.

Mon, Sep 16, 1:18 PM · Restricted Project
fhahn added a comment to D67612: [UnrolledInstAnalyzer] Use MSSA to find stored values outside of loop..

The idea here is to check stores before the loop and use the store to determine the loaded value in a specific loop iteration. We only do that if we can determine a base pointer + constant offset for a certain loop iteration.

This is the part I do not understand. It looks like the LoadInst is considered "free" and not marked towards the cost of the unroll if there is a store with the same base pointer + offset.
Is that always the case? If there is an interfering MemoryAccess between the two (the walker's answer), then the LoadInst is not free.
I'm not that familiar with the code here, so feel free to correct me if I misunderstood.

Mon, Sep 16, 12:20 PM · Restricted Project
fhahn added a comment to D67612: [UnrolledInstAnalyzer] Use MSSA to find stored values outside of loop..

The idea here is to check stores before the loop and use the store to determine the loaded value in a specific loop iteration. We only do that if we can determine a base pointer + constant offset for a certain loop iteration.

This is the part I do not understand. It looks like the LoadInst is considered "free" and not marked towards the cost of the unroll if there is a store with the same base pointer + offset.
Is that always the case? If there is an interfering MemoryAccess between the two (the walker's answer), then the LoadInst is not free.
I'm not that familiar with the code here, so feel free to correct me if I misunderstood.

It is probably more me not being as familiar with the MemorySSA API. I thought def_chain() would include all memory defs, that could clobber the load, in reverse order. With that in mind, if we hit a non-store or cannot compute the base pointer & offset, we exit. We probably also need another check to make sure we do not miss base pointers that alias. Does that make sense?

Mon, Sep 16, 12:20 PM · Restricted Project
fhahn added a comment to D67612: [UnrolledInstAnalyzer] Use MSSA to find stored values outside of loop..

Here are a couple of answers/discussion points:

First of, could you please elaborate a bit more on what you're trying to check for? Is it stores before the loop, after the loop or both?

Mon, Sep 16, 11:22 AM · Restricted Project
fhahn added inline comments to D67594: [LoopUnroll] Use LoopSize+1 as threshold, to allow unrolling loops matching LoopSize..
Mon, Sep 16, 5:23 AM · Restricted Project
fhahn created D67612: [UnrolledInstAnalyzer] Use MSSA to find stored values outside of loop..
Mon, Sep 16, 5:20 AM · Restricted Project
fhahn created D67611: [LoopUnrollAnalyzer] Try to simplify address computation outside of loop..
Mon, Sep 16, 5:16 AM · Restricted Project
fhahn updated the diff for D67594: [LoopUnroll] Use LoopSize+1 as threshold, to allow unrolling loops matching LoopSize..

Adjust comment and test case.

Mon, Sep 16, 5:14 AM · Restricted Project

Sun, Sep 15

fhahn created D67594: [LoopUnroll] Use LoopSize+1 as threshold, to allow unrolling loops matching LoopSize..
Sun, Sep 15, 11:42 AM · Restricted Project
fhahn created D67593: [bugpoint] Add support for -Oz and properly enable -Os..
Sun, Sep 15, 11:27 AM · Restricted Project

Sat, Sep 14

fhahn added inline comments to D67552: [LangRef] Clarify absence of rounding guarantees for fmuladd..
Sat, Sep 14, 8:07 AM · Restricted Project
fhahn retitled D67552: [LangRef] Clarify absence of rounding guarantees for fmuladd. from [LangRef] Clarify fmuladd(a, b, c) can be treated as fadd (fmul a, b), c). to [LangRef] Clarify absence of rounding guarantees for fmuladd..
Sat, Sep 14, 8:06 AM · Restricted Project
fhahn updated the diff for D67552: [LangRef] Clarify absence of rounding guarantees for fmuladd..

Updated with @reames' suggestion, thanks!

Sat, Sep 14, 8:00 AM · Restricted Project

Fri, Sep 13

fhahn accepted D67571: [LICM] Don't verify domtree/loopinfo unless EXPENSIVE_CHECKS is enabled..

Thanks Eli, LGTM. This is in line with how we handle verification in many other places.

Fri, Sep 13, 3:09 PM · Restricted Project
fhahn added inline comments to D67552: [LangRef] Clarify absence of rounding guarantees for fmuladd..
Fri, Sep 13, 12:32 PM · Restricted Project
fhahn added inline comments to D67553: [InstSimplify] Match 1.0 and 0.0 for both operands in SimplifyFMAMul.
Fri, Sep 13, 7:47 AM · Restricted Project
fhahn created D67552: [LangRef] Clarify absence of rounding guarantees for fmuladd..
Fri, Sep 13, 7:38 AM · Restricted Project
fhahn added inline comments to D67434: [InstCombine] Limit FMul constant folding for fma simplifications..
Fri, Sep 13, 7:38 AM · Restricted Project
fhahn created D67553: [InstSimplify] Match 1.0 and 0.0 for both operands in SimplifyFMAMul.
Fri, Sep 13, 7:38 AM · Restricted Project
fhahn added a comment to D62308: [AArch64] support neon_sshl and neon_ushl in performIntrinsicCombine..

ping

Fri, Sep 13, 4:44 AM · Restricted Project
fhahn committed rL371830: Request commit access for fhahn.
Request commit access for fhahn
Fri, Sep 13, 2:29 AM
fhahn committed rGcde8343d8572: [BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock (authored by fhahn).
[BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock
Fri, Sep 13, 1:05 AM
fhahn committed rL371819: [BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock.
[BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock
Fri, Sep 13, 1:04 AM
fhahn closed D67521: [BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock.
Fri, Sep 13, 1:04 AM · Restricted Project
fhahn added a comment to D67521: [BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock.

lgtm with a nit: clang-format (some lines seem longer than 80)

Fri, Sep 13, 1:04 AM · Restricted Project

Thu, Sep 12

fhahn created D67521: [BasicBlockUtils] Add optional BBName argument, in line with BB:splitBasicBlock.
Thu, Sep 12, 1:59 PM · Restricted Project
fhahn added a comment to D66604: [GVN] AnalyzeLoadAvailability: Replace a load after lifetime.end with undef (PR20811).

Thanks! Could you also add another test where we have a call to lifetime.end, followed by another defining store, followed by a load? This should not get optimized by this patch.

Thu, Sep 12, 1:32 PM · Restricted Project
fhahn committed rG074181007791: [LV] Update test case after r371768. (authored by fhahn).
[LV] Update test case after r371768.
Thu, Sep 12, 1:08 PM
fhahn committed rL371769: [LV] Update test case after r371768..
[LV] Update test case after r371768.
Thu, Sep 12, 1:07 PM
fhahn accepted D67514: [SCEV] Add smin/umin support to getRangeRef.

LGTM, thanks! I've just landed D67177, to avoid delays with this patch.

Thu, Sep 12, 1:07 PM · Restricted Project
fhahn committed rGa31ee3762485: [SCEV] Support SCEVUMinExpr in getRangeRef. (authored by fhahn).
[SCEV] Support SCEVUMinExpr in getRangeRef.
Thu, Sep 12, 1:03 PM
fhahn closed D67177: [SCEV] Support SCEVUMinExpr in getRangeRef..
Thu, Sep 12, 1:02 PM · Restricted Project
fhahn committed rL371768: [SCEV] Support SCEVUMinExpr in getRangeRef..
[SCEV] Support SCEVUMinExpr in getRangeRef.
Thu, Sep 12, 1:02 PM
fhahn added inline comments to D67434: [InstCombine] Limit FMul constant folding for fma simplifications..
Thu, Sep 12, 12:36 PM · Restricted Project
fhahn added a comment to D67514: [SCEV] Add smin/umin support to getRangeRef.

I've put up a patch for SCEVUmin D67177. I plan to land it tomorrow.

Thu, Sep 12, 12:32 PM · Restricted Project
fhahn requested changes to D66084: Remove asserts in getLoopGuardBranch.

Sorry for not being more clear. I meant we need a test where the latch is not exiting, which without this patch will assert and with this patch will return nullptr. So please add a test for something like

Thu, Sep 12, 1:07 AM · Restricted Project

Wed, Sep 11

fhahn added inline comments to D67434: [InstCombine] Limit FMul constant folding for fma simplifications..
Wed, Sep 11, 10:00 AM · Restricted Project
fhahn updated the diff for D67434: [InstCombine] Limit FMul constant folding for fma simplifications..

Split off simplifications not requiring rounding from SimplifFMulInst as SimplifyFMAFMul.

Wed, Sep 11, 9:55 AM · Restricted Project
fhahn added a comment to D67434: [InstCombine] Limit FMul constant folding for fma simplifications..

First, please revert the previous patch until this review concludes. We have an active miscompile in tree, and that should be addressed first.

Sure, done.

Wed, Sep 11, 9:21 AM · Restricted Project
fhahn committed rG51de22c8ee65: Revert [InstCombine] Use SimplifyFMulInst to simplify multiply in fma. (authored by fhahn).
Revert [InstCombine] Use SimplifyFMulInst to simplify multiply in fma.
Wed, Sep 11, 9:16 AM
fhahn committed rL371634: Revert [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..
Revert [InstCombine] Use SimplifyFMulInst to simplify multiply in fma.
Wed, Sep 11, 9:15 AM
fhahn added a comment to D67176: [SCEV] Generalize SCEVParameterRewriter to accept SCEV expression as target..

Ping. Do you think this is helpful on its own? I'll rework the main motivation (D67178), but it still would be useful IMO, e.g. for the test case in D67177.

Wed, Sep 11, 9:03 AM · Restricted Project
fhahn committed rGe79381c3f7a6: [LoopInterchange] Drop unused splitInnerLoopHeader declaration. (authored by fhahn).
[LoopInterchange] Drop unused splitInnerLoopHeader declaration.
Wed, Sep 11, 3:32 AM
fhahn committed rL371601: [LoopInterchange] Drop unused splitInnerLoopHeader declaration..
[LoopInterchange] Drop unused splitInnerLoopHeader declaration.
Wed, Sep 11, 3:30 AM
fhahn abandoned D67076: [LoopInterchange] Make sure we create PHI nodes for uses in split off latch..

I've committed an alternative fix rL371595. Thanks Eli! I might submit just the renaming/clarifications to moveLCSSAPhis

Wed, Sep 11, 3:19 AM · Restricted Project
fhahn added a reviewer for D67434: [InstCombine] Limit FMul constant folding for fma simplifications.: scanon.
Wed, Sep 11, 3:10 AM · Restricted Project
fhahn created D67434: [InstCombine] Limit FMul constant folding for fma simplifications..
Wed, Sep 11, 3:03 AM · Restricted Project
fhahn committed rGe4961218fd5b: [LoopInterchange] Properly move condition, induction increment and ops to latch. (authored by fhahn).
[LoopInterchange] Properly move condition, induction increment and ops to latch.
Wed, Sep 11, 1:24 AM
fhahn committed rL371595: [LoopInterchange] Properly move condition, induction increment and ops to latch..
[LoopInterchange] Properly move condition, induction increment and ops to latch.
Wed, Sep 11, 1:24 AM
fhahn closed D67367: [LoopInterchange] Properly move condition, induction increment and ops to latch..
Wed, Sep 11, 1:24 AM · Restricted Project

Tue, Sep 10

fhahn accepted D66084: Remove asserts in getLoopGuardBranch.

LGTM. It would be good if you could prefix the title of the commit with something like [LoopInfo]. In the future, please upload the diff with full context.

Tue, Sep 10, 7:51 AM · Restricted Project
fhahn committed rG1c3434543a05: [VectorUtils] Remove unused include. [NFC] (authored by fhahn).
[VectorUtils] Remove unused include. [NFC]
Tue, Sep 10, 7:28 AM
fhahn committed rL371523: [VectorUtils] Remove unused include. [NFC].
[VectorUtils] Remove unused include. [NFC]
Tue, Sep 10, 7:19 AM
fhahn closed D67365: [VectorUtils] Remove unused include. [NFC].
Tue, Sep 10, 7:18 AM · Restricted Project
fhahn added a comment to D67351: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..

Thanks!

Tue, Sep 10, 6:13 AM · Restricted Project
fhahn committed rG18a1f0818b65: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma. (authored by fhahn).
[InstCombine] Use SimplifyFMulInst to simplify multiply in fma.
Tue, Sep 10, 6:10 AM
fhahn committed rL371518: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..
[InstCombine] Use SimplifyFMulInst to simplify multiply in fma.
Tue, Sep 10, 6:09 AM
fhahn closed D67351: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..
Tue, Sep 10, 6:09 AM · Restricted Project
fhahn committed rG8886d0134eac: [InstCombine] Precommit tests for D67351. (authored by fhahn).
[InstCombine] Precommit tests for D67351.
Tue, Sep 10, 6:05 AM
fhahn committed rL371517: [InstCombine] Precommit tests for D67351..
[InstCombine] Precommit tests for D67351.
Tue, Sep 10, 6:04 AM
fhahn added a comment to D67367: [LoopInterchange] Properly move condition, induction increment and ops to latch..

This makes more sense than D67076, I think.

Do the safety checks ensure we never clone an instruction with side-effects? Can we assert that?

Tue, Sep 10, 5:55 AM · Restricted Project
fhahn updated the diff for D67367: [LoopInterchange] Properly move condition, induction increment and ops to latch..

Add assertion that moved instructions do not have side-effects, update test checks.

Tue, Sep 10, 5:54 AM · Restricted Project
fhahn added inline comments to D67351: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..
Tue, Sep 10, 3:36 AM · Restricted Project
fhahn updated the diff for D67351: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..

Remove fmul matching.

Tue, Sep 10, 3:36 AM · Restricted Project
fhahn added a comment to D67359: [IVUser] Limit the iterations to check whether a loop has dedicated exits for extreme large case.

Is there any chance you could provide the test case that shows the behavior? There might be something we could do in hasDedicatedExits to make it faster for large loops with a large number of exit blocks and successors.

Tue, Sep 10, 3:34 AM · Restricted Project

Mon, Sep 9

fhahn added inline comments to D67351: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..
Mon, Sep 9, 1:51 PM · Restricted Project
fhahn updated the diff for D67351: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..

Address review comments, thanks!

Mon, Sep 9, 1:46 PM · Restricted Project
fhahn accepted D67365: [VectorUtils] Remove unused include. [NFC].

I *think* getVectorIntrinsicIDForCall uses TargetLibraryInfo. Looks like we are still including TargetLibraryInfo.h through some other path, but we probably could also get rid of that path.

Mon, Sep 9, 1:20 PM · Restricted Project
fhahn added a comment to D67076: [LoopInterchange] Make sure we create PHI nodes for uses in split off latch..

I've uploaded a new patch D67367. It duplicates and moves the instructions required in the latch. We have to duplicate the instructions and update its users, if we want to support cases where, for example the condition, gets used in the inner loop body as well.

Mon, Sep 9, 1:15 PM · Restricted Project
fhahn created D67367: [LoopInterchange] Properly move condition, induction increment and ops to latch..
Mon, Sep 9, 1:15 PM · Restricted Project
fhahn added a comment to D62308: [AArch64] support neon_sshl and neon_ushl in performIntrinsicCombine..

Does this also apply to right shifts?

Mon, Sep 9, 10:34 AM · Restricted Project
fhahn added a comment to D66796: [clang] Loop pragma vectorize(disable).

IMO it is fine to say pragma vectorize(disable) disables the vectorizer completely, including interleaving. @Meinersbur, what do you think? I think it would be good to make that clear in the commit message.

Mon, Sep 9, 10:03 AM
fhahn created D67351: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..
Mon, Sep 9, 5:49 AM · Restricted Project
fhahn updated the diff for D67351: [InstCombine] Use SimplifyFMulInst to simplify multiply in fma..

Remove unrelated test-case.

Mon, Sep 9, 5:49 AM · Restricted Project

Fri, Sep 6

fhahn added a comment to D67178: [SCEV] Use loop guard info when computing the max BE taken count in howFarToZero..

In terms of general API, I don't think we want to expose "applyLoopGuards"; the SCEV transform proposed here isn't really useful outside of trying to find the minimum or maximum, as far as I can tell. Which min/max expressions we want to form depends on whether we're computing a "max" or a "min". And restricting the API so the point in the CFG we're querying has to be a loop header doesn't seem helpful; other places might care about values after a loop etc.

In terms of the implementation, this composes well, in a sense: it annotates the relevant SCEV expressions with the relevant conditions, then uses the general implementation that ignores control flow. But I'm not sure how it scales for larger SCEV expressions; keeping a map on the side seems like it would have more predictable performance.

Fri, Sep 6, 12:58 PM · Restricted Project
fhahn added a comment to D64884: [PHINode] Preserve use-list order when removing incoming values..

ping

Fri, Sep 6, 12:47 PM · Restricted Project

Thu, Sep 5

fhahn planned changes to D67076: [LoopInterchange] Make sure we create PHI nodes for uses in split off latch..

Is there a potential correctness issue here, if some operation that isn't the exit condition or the IV increment somehow ends up in the new latch?

I think the current restrictions avoid any problems. We only allow zext, trunc and cmp instructions between the IV increment and the branch inst. If the final value is used outside the loop, that should be fine. A problem could be occur if any of the moved instructions is part of a reduction. I tried and it seems like we do not recognize reductions with trunc/zext chains at the moment, so we should be covered there. But I guess it would be good to make sure the instructions beside the IV increment are only used in the check for the exit condition.

Thu, Sep 5, 2:45 PM · Restricted Project
fhahn added a comment to D67076: [LoopInterchange] Make sure we create PHI nodes for uses in split off latch..

I'm not sure how you never hit this issue before. I mean, I can see from the testcase that the compare for the outer loop's branch can end up in the inner loop... but why is it not *always* in the inner loop? What criteria are we using to sink it in some cases? Should we be sinking in all cases?

Thu, Sep 5, 11:57 AM · Restricted Project

Wed, Sep 4

fhahn added a comment to D67178: [SCEV] Use loop guard info when computing the max BE taken count in howFarToZero..

Instead of writing a C++ unittest, you should be able to use "opt -analyze -scalar-evolution" to test this.

Wed, Sep 4, 1:28 PM · Restricted Project
fhahn added a child revision for D67177: [SCEV] Support SCEVUMinExpr in getRangeRef.: D67178: [SCEV] Use loop guard info when computing the max BE taken count in howFarToZero..
Wed, Sep 4, 8:15 AM · Restricted Project
fhahn added a child revision for D67176: [SCEV] Generalize SCEVParameterRewriter to accept SCEV expression as target.: D67178: [SCEV] Use loop guard info when computing the max BE taken count in howFarToZero..
Wed, Sep 4, 8:15 AM · Restricted Project
fhahn added parent revisions for D67178: [SCEV] Use loop guard info when computing the max BE taken count in howFarToZero.: D67177: [SCEV] Support SCEVUMinExpr in getRangeRef., D67176: [SCEV] Generalize SCEVParameterRewriter to accept SCEV expression as target..
Wed, Sep 4, 8:15 AM · Restricted Project
fhahn created D67177: [SCEV] Support SCEVUMinExpr in getRangeRef..
Wed, Sep 4, 8:14 AM · Restricted Project