Page MenuHomePhabricator

xbolva00 (Dávid Bolvanský)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 5 2018, 5:18 PM (145 w, 13 h)

Recent Activity

Yesterday

xbolva00 added a comment to D93779: ADT: Fix reference invalidation in SmallVector::push_back and single-element insert.

Why do we even want to bend over backwards and try to handle broken code correctly,
at the cost of regressed performance for everything,
instead of just adding defensive asserts against such problems,
and letting/telling the user fix the code?

I believe the standard library supports this, so I think it's a somewhat awkward limitation to have a standard-library-like container that misses that. (of course the small-mode isn't entirely compatible with std::vector, etc anyway - so some divergence is possible)

Thu, Jan 14, 9:32 AM · Restricted Project
xbolva00 updated subscribers of D93779: ADT: Fix reference invalidation in SmallVector::push_back and single-element insert.

Compile time regression is too big..

Thu, Jan 14, 7:55 AM · Restricted Project
xbolva00 added a comment to D94684: [InferAttrs] Mark some library functions as willreturn..

Looks ok.

Thu, Jan 14, 6:07 AM · Restricted Project

Wed, Jan 13

xbolva00 committed rGd307d892ade9: [Tests] Added test for memcpy loop idiom recognization (authored by xbolva00).
[Tests] Added test for memcpy loop idiom recognization
Wed, Jan 13, 5:56 AM

Tue, Jan 12

xbolva00 added a comment to D25987: [X86] New pattern to generate PSUBUS from SELECT.

Re-ping

Tue, Jan 12, 1:36 PM
xbolva00 added inline comments to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..
Tue, Jan 12, 12:17 PM · Restricted Project
xbolva00 updated the diff for D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..

Simplified implementation.

Tue, Jan 12, 12:17 PM · Restricted Project
xbolva00 committed rG0529946b5baf: [instCombine] Add (A ^ B) | ~(A | B) -> ~(A & B) (authored by xbolva00).
[instCombine] Add (A ^ B) | ~(A | B) -> ~(A & B)
Tue, Jan 12, 10:29 AM
xbolva00 committed rGbb9ebf6baf70: [Tests] Add tests for new InstCombine OR transformation, NFC (authored by xbolva00).
[Tests] Add tests for new InstCombine OR transformation, NFC
Tue, Jan 12, 10:29 AM
xbolva00 added a comment to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..

Is this something what you propose, @nikic ?

Tue, Jan 12, 9:15 AM · Restricted Project
xbolva00 added a comment to D92015: [DAGCombiner] Fold BRCOND(FREEZE(COND)) to BRCOND(COND).

Seems ok to land?

Tue, Jan 12, 9:13 AM · Restricted Project

Sun, Jan 10

xbolva00 added a comment to D94376: [MemCpyOpt] Enable MemorySSA by default.

A larger than expected codesize and runtime regression of Bullet benchmark (2.3%) for LTO. Maybe worth to analyse?

Sun, Jan 10, 12:54 PM · Restricted Project
xbolva00 added a comment to D94367: [Clang][Driver] Add -ffinite-loops flags.

Just note: gcc enables -ffinite-loops with opt level -O2 and higher.

Sun, Jan 10, 8:43 AM · Restricted Project

Thu, Jan 7

xbolva00 updated the diff for D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..

Introduce new extra bool argument to handle issue mentioned by @nikic

Thu, Jan 7, 10:31 AM · Restricted Project
xbolva00 added inline comments to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..
Thu, Jan 7, 9:39 AM · Restricted Project
xbolva00 added a comment to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..
define void @test9_gep_mismatch(i1 %X, i8* %Y,  i8* %P) {
; CHECK-LABEL: @test9_gep_mismatch(
; CHECK-NEXT:  entry:
; CHECK-NEXT:    [[SPEC_SELECT:%.*]] = select i1 [[X:%.*]], i8* null, i8* [[Y:%.*]]
; CHECK-NEXT:    [[GEP:%.*]] = getelementptr inbounds i8, i8* [[P:%.*]], i64 0
; CHECK-NEXT:    [[TMP0:%.*]] = call i8* @foo(i8* [[GEP]])
; CHECK-NEXT:    ret void
;
entry:
  br i1 %X, label %if, label %else
Thu, Jan 7, 9:33 AM · Restricted Project
xbolva00 added a comment to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..

Why only use GEPs? And it looks to me you only check the offset, doesn't that miscompile:
call(nonnull noundef (gep %p, 0)) which an arbitrary %p?

Thu, Jan 7, 9:21 AM · Restricted Project
xbolva00 updated the diff for D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..

Avoid optimization if inner instruction is GEP.
Added test.

Thu, Jan 7, 9:21 AM · Restricted Project
xbolva00 added a comment to D86844: [LoopDeletion] Allows deletion of possibly infinite side-effect free loops.
int a, b;

int f(void) {
    while (1) {
        if (a != b) return 1;
    }
    return 0;
}

int g(int a, int b) {
    while (1) {
        if (a != b) return 1;
    }
    return 0;
}

LLVM does not catch these cases; gcc does.

https://godbolt.org/z/jW7son

Looks like must progress does not get added? If it gets added to the IR the loops get removed: https://godbolt.org/z/77v17P

I might be misunderstanding the standard here but since 1 is a non-zero constant expression, it can't be assumed to terminate by the implementation right? The relevant section from C11 at least is "An iteration statement whose controlling expression is not a constant expression that performs [explanation of what it deems as progress] may be assumed by the implementation to terminate" (C11 6.8.5 p6). I think these cases fall outside of the scope of this particular change ...

Thu, Jan 7, 9:07 AM · Restricted Project, Restricted Project
xbolva00 added inline comments to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..
Thu, Jan 7, 3:32 AM · Restricted Project
xbolva00 updated the diff for D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..
Thu, Jan 7, 3:15 AM · Restricted Project
xbolva00 added a comment to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..

For the example, I think this InstCombine transformation will work. noundef isn't necessary.

Thu, Jan 7, 3:00 AM · Restricted Project
xbolva00 added inline comments to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..
Thu, Jan 7, 3:00 AM · Restricted Project
xbolva00 updated the diff for D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..

Restrict to nonnull+noundef.
Handle GEPs.

Thu, Jan 7, 2:59 AM · Restricted Project

Wed, Jan 6

xbolva00 added inline comments to D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..
Wed, Jan 6, 12:06 PM · Restricted Project
xbolva00 added a reviewer for D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument.: jdoerfert.
Wed, Jan 6, 11:19 AM · Restricted Project
xbolva00 updated the summary of D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..
Wed, Jan 6, 9:30 AM · Restricted Project
xbolva00 requested review of D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument..
Wed, Jan 6, 9:14 AM · Restricted Project
xbolva00 added a comment to D86844: [LoopDeletion] Allows deletion of possibly infinite side-effect free loops.

int a, b;

Wed, Jan 6, 5:08 AM · Restricted Project, Restricted Project
xbolva00 added a comment to D92812: [X86] Update tests for znver3.

Patch title should be adjusted I think

Wed, Jan 6, 2:20 AM · Restricted Project, Restricted Project, Restricted Project

Tue, Jan 5

xbolva00 added inline comments to D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.
Tue, Jan 5, 4:55 AM · Restricted Project

Mon, Jan 4

xbolva00 added a reviewer for D94015: [LoopIdiom] Replace cttz loop by call to cttz intrinsic.: craig.topper.
Mon, Jan 4, 9:52 AM · Restricted Project

Sat, Jan 2

xbolva00 added a comment to D87464: [TargetLowering] Improve SimplifyDemandedBits for AND and OR.

Reping

Sat, Jan 2, 7:45 AM · Restricted Project

Thu, Dec 31

xbolva00 accepted D93952: [Clang][Misc] Fix fragile test.
Thu, Dec 31, 10:46 AM · Restricted Project
xbolva00 committed rGae69fa9b9f65: [InstCombine] Transform (A + B) - (A & B) to A | B (PR48604) (authored by xbolva00).
[InstCombine] Transform (A + B) - (A & B) to A | B (PR48604)
Thu, Dec 31, 6:05 AM
xbolva00 committed rGc1937c2af2a0: [NFC] Added/adjusted tests for PR48604; second pattern (authored by xbolva00).
[NFC] Added/adjusted tests for PR48604; second pattern
Thu, Dec 31, 6:05 AM
xbolva00 committed rG742ea77ca4c0: [InstCombine] Transform (A + B) - (A | B) to A & B (PR48604) (authored by xbolva00).
[InstCombine] Transform (A + B) - (A | B) to A & B (PR48604)
Thu, Dec 31, 5:04 AM
xbolva00 committed rG9b6493946307: [NFC] Added tests for PR48604 (authored by xbolva00).
[NFC] Added tests for PR48604
Thu, Dec 31, 5:03 AM

Wed, Dec 30

xbolva00 added a comment to D86844: [LoopDeletion] Allows deletion of possibly infinite side-effect free loops.

Do you plan to implement gcc’s option in Clang as followup?

Wed, Dec 30, 10:17 PM · Restricted Project, Restricted Project

Mon, Dec 28

xbolva00 added a comment to D93764: [LoopUnswitch] Implement first version of partial unswitching..
Mon, Dec 28, 8:32 PM · Restricted Project
xbolva00 added a comment to D93764: [LoopUnswitch] Implement first version of partial unswitching..

GCC has separate pass for this - loopsplit. It can handle also general case like:

Mon, Dec 28, 1:19 AM · Restricted Project

Sun, Dec 27

xbolva00 added a reviewer for D93838: [LLVM] [SCCP] [WIP] : Add Function Specialization pass: jdoerfert.
Sun, Dec 27, 9:39 AM · Restricted Project
xbolva00 added a comment to D93838: [LLVM] [SCCP] [WIP] : Add Function Specialization pass.

Great! So something like gcc function spliting/cloning? (It would be good to support noipa, noclone to disable this optimalization)

Sun, Dec 27, 9:32 AM · Restricted Project

Fri, Dec 25

xbolva00 added inline comments to rG35676a4f9a53: [InstCombine] Generalize icmp handling in isKnownNonZero().
Fri, Dec 25, 8:27 AM

Thu, Dec 24

xbolva00 accepted D93803: Moved dwarf_eh_resume.ll from Generic to X86 folder.
Thu, Dec 24, 5:04 AM · Restricted Project
xbolva00 added inline comments to D93682: [CodeGen] Add "noreturn" attirbute to _Unwind_Resume.
Thu, Dec 24, 4:45 AM · Restricted Project
xbolva00 accepted D93682: [CodeGen] Add "noreturn" attirbute to _Unwind_Resume.

noreturn makes sense here

Thu, Dec 24, 12:19 AM · Restricted Project

Wed, Dec 23

xbolva00 added a comment to D86844: [LoopDeletion] Allows deletion of possibly infinite side-effect free loops.

Can you reland this patch now?

Wed, Dec 23, 6:20 PM · Restricted Project, Restricted Project

Tue, Dec 22

xbolva00 added a comment to D93682: [CodeGen] Add "noreturn" attirbute to _Unwind_Resume.

Please add a test

Tue, Dec 22, 3:09 AM · Restricted Project

Dec 15 2020

xbolva00 added a comment to D30686: [SLP] PR32078: convert scalar operations to vector..

Michael, tried to implement it in InstCombiner, but we need cost analysis. Later passes are not suitable for this, because we need transformed code in InstCombiner. So, reopened it.

Dec 15 2020, 7:40 PM
xbolva00 added a comment to D91919: [SLP] Make SLPVectorizer to use `llvm.masked.scatter` intrinsic.

Please add tests

Dec 15 2020, 7:37 PM · Restricted Project

Dec 14 2020

xbolva00 added a comment to D93192: [SLP] Fix vector element size for the store chains.

Kinda big impact on code size

Dec 14 2020, 6:20 AM · Restricted Project

Dec 12 2020

xbolva00 added a comment to rGafbb6d97b501: [CVP] Simplify and generalize switch handling.

Suspicious code size regression (npm -03)

Dec 12 2020, 5:43 PM

Dec 11 2020

xbolva00 added a comment to D93065: [InstCombine] Disable optimizations of select instructions that causes propagation of poison values.

Performance data? No regressions for benchmarks?

Dec 11 2020, 11:16 PM · Restricted Project, Restricted Project

Dec 10 2020

xbolva00 added a comment to D74436: Change clang option -ffp-model=precise to select ffp-contract=on.

Status?

Dec 10 2020, 9:24 PM · Restricted Project

Dec 8 2020

xbolva00 added a comment to D88471: [Passes] Run peeling as part of simple/full loop unrolling..

Are you gonna land this patch?

Dec 8 2020, 8:08 PM · Restricted Project
xbolva00 committed rG5da71a4274ac: [NFC] Added test for PR33549 (authored by xbolva00).
[NFC] Added test for PR33549
Dec 8 2020, 6:22 PM
xbolva00 added a comment to D92824: [SLP] Use the width of value truncated just before storing.

Thanks!

Dec 8 2020, 2:07 AM · Restricted Project
xbolva00 added reviewers for D91919: [SLP] Make SLPVectorizer to use `llvm.masked.scatter` intrinsic: fhahn, dmgreen.
Dec 8 2020, 1:54 AM · Restricted Project

Dec 6 2020

xbolva00 added a reviewer for D50010: [VNCoercion] Disallow coercion between different ni addrspaces: efriedma.
Dec 6 2020, 12:53 PM · Restricted Project, Restricted Project

Dec 5 2020

xbolva00 added a reviewer for D92701: [SLPVectorize] Call isLegalMaskedGather before creating a gather TreeEntry: RKSimon.
Dec 5 2020, 2:47 AM · Restricted Project
xbolva00 added a comment to D92701: [SLPVectorize] Call isLegalMaskedGather before creating a gather TreeEntry.

https://bugs.llvm.org/show_bug.cgi?id=48044 - related PR about (not ideal?) cost model for gathers.

Dec 5 2020, 2:46 AM · Restricted Project

Dec 1 2020

xbolva00 added a comment to D90328: Eliminates dead store of an exisiting value.

Nice!

Dec 1 2020, 5:54 PM · Restricted Project
xbolva00 added a comment to D90328: Eliminates dead store of an exisiting value.

Right. Please update this patch now.

Dec 1 2020, 5:36 PM · Restricted Project
xbolva00 added a comment to D90328: Eliminates dead store of an exisiting value.

The script will update “check patterns” - then we can say if new changes are fine.

Dec 1 2020, 5:10 PM · Restricted Project
xbolva00 added a comment to D90328: Eliminates dead store of an exisiting value.

Please use llvm/utils/update_test_checks.py to update them. Then please upload all changed files.

Dec 1 2020, 4:56 PM · Restricted Project
xbolva00 added a comment to D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..

I dont think (geomean) 0.20% is significant compile time problem. TBH, I expected bigger CT regressions - up to 0.5% is fine IMHO.

Dec 1 2020, 3:37 PM · Restricted Project

Nov 30 2020

xbolva00 added a comment to D84951: [LV] Try to sink users recursively for first-order recurrences..

Any futher comments, @bmahjour?

Nope, I'm fine with the changes.

Nov 30 2020, 5:39 PM · Restricted Project

Nov 22 2020

xbolva00 added a comment to D82703: [InstCombine] convert assumes to operand bundles.

Resolves https://bugs.llvm.org/show_bug.cgi?id=48224

Nov 22 2020, 5:39 PM · Restricted Project

Nov 21 2020

xbolva00 added a comment to D17993: [CodeGen] Apply 'nonnull' and 'dereferenceable(N)' to 'this' pointer arguments..

In that code there is a comment:

Nov 21 2020, 4:40 AM · Restricted Project, Restricted Project

Nov 20 2020

xbolva00 added inline comments to D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..
Nov 20 2020, 10:53 AM · Restricted Project

Nov 18 2020

xbolva00 added inline comments to D91690: [LoopFlatten] Widen IV, cont'd.
Nov 18 2020, 2:14 PM · Restricted Project
xbolva00 added a reviewer for D91677: Avoid simplification of library functions when callee has an implementation: efriedma.
Nov 18 2020, 10:09 AM · Restricted Project
xbolva00 updated subscribers of rG34ff90ad5d7d: [Reassociate] Don't convert add-like-or's into add's if they appear to be part….
Nov 18 2020, 7:47 AM

Nov 17 2020

xbolva00 added reviewers for D84951: [LV] Try to sink users recursively for first-order recurrences.: dmgreen, SjoerdMeijer.
Nov 17 2020, 7:57 AM · Restricted Project

Nov 14 2020

xbolva00 added inline comments to D91481: [LoopUnroll] Discount uniform instructions in cost models.
Nov 14 2020, 1:42 PM · Restricted Project

Nov 13 2020

xbolva00 added inline comments to D91338: [X86] Zero-extend pointers to i64 for x86_64.
Nov 13 2020, 1:56 AM · Restricted Project

Nov 9 2020

xbolva00 added a comment to D89566: [LV] Epilogue Vectorization with Optimal Control Flow.

No regressions so enable by default?

Nov 9 2020, 11:23 AM · Restricted Project

Nov 2 2020

xbolva00 added a comment to D88735: [SLP] Also try to vectorize incoming values of PHIs ..

Land this?

Nov 2 2020, 1:49 PM · Restricted Project
xbolva00 committed rG980b860e67ed: [SLP] Added testcase for PR47623 (authored by xbolva00).
[SLP] Added testcase for PR47623
Nov 2 2020, 7:03 AM

Oct 31 2020

xbolva00 added a comment to D90445: [SLP] Make SLPVectorizer to use `llvm.masked.gather` intrinsic.
Oct 31 2020, 8:46 AM · Restricted Project

Oct 29 2020

xbolva00 committed rG7a2abf5aca22: [InferAttrs] Add nocapture/writeonly to string/mem libcalls (authored by xbolva00).
[InferAttrs] Add nocapture/writeonly to string/mem libcalls
Oct 29 2020, 12:07 PM
xbolva00 closed D89645: [InferAttrs] Add nocapture/writeonly to string/mem libcalls.
Oct 29 2020, 12:07 PM · Restricted Project
xbolva00 updated the diff for D89645: [InferAttrs] Add nocapture/writeonly to string/mem libcalls.
Oct 29 2020, 11:14 AM · Restricted Project
xbolva00 added a comment to D89650: [DSE] Remove noop stores after killing stores for a MemoryDef..

We can always further improve this if additional cases surface.

Sounds good to me.

This patch looks good to me.

Oct 29 2020, 9:30 AM · Restricted Project

Oct 28 2020

xbolva00 committed rG49cddb90f645: [MemLoc] Adjust memccpy support in MemoryLocation::getForArgument (authored by xbolva00).
[MemLoc] Adjust memccpy support in MemoryLocation::getForArgument
Oct 28 2020, 1:26 PM
xbolva00 closed D89885: [MemLoc] Adjust memccpy support in MemoryLocation::getForArgument.
Oct 28 2020, 1:26 PM · Restricted Project
xbolva00 updated the summary of D89885: [MemLoc] Adjust memccpy support in MemoryLocation::getForArgument.
Oct 28 2020, 1:16 PM · Restricted Project
xbolva00 updated the summary of D89885: [MemLoc] Adjust memccpy support in MemoryLocation::getForArgument.
Oct 28 2020, 1:15 PM · Restricted Project
xbolva00 updated the diff for D89885: [MemLoc] Adjust memccpy support in MemoryLocation::getForArgument.
Oct 28 2020, 9:31 AM · Restricted Project
xbolva00 updated the diff for D89885: [MemLoc] Adjust memccpy support in MemoryLocation::getForArgument.

Use upperBound.

Oct 28 2020, 9:29 AM · Restricted Project
xbolva00 added inline comments to rG0ac56e8eaaeb: [InstCombine] Fold `(X >>? C1) << C2` patterns to shift+bitmask (PR37872).
Oct 28 2020, 5:03 AM
xbolva00 added inline comments to D89885: [MemLoc] Adjust memccpy support in MemoryLocation::getForArgument.
Oct 28 2020, 4:58 AM · Restricted Project
xbolva00 added a comment to D89885: [MemLoc] Adjust memccpy support in MemoryLocation::getForArgument.

Ping

Oct 28 2020, 4:24 AM · Restricted Project

Oct 26 2020

xbolva00 added inline comments to D89566: [LV] Epilogue Vectorization with Optimal Control Flow.
Oct 26 2020, 9:09 AM · Restricted Project
xbolva00 added reviewers for D89647: [DSE] Use walker to skip noalias stores between current & clobber def.: nikic, efriedma.
Oct 26 2020, 8:54 AM · Restricted Project
xbolva00 added inline comments to D89650: [DSE] Remove noop stores after killing stores for a MemoryDef..
Oct 26 2020, 8:53 AM · Restricted Project
xbolva00 added a comment to D89381: [SCEV] Re-enable "Use nw flag and symbolic iteration count to sharpen ranges of AddRecs", attempt 3.

It would be great to get some benchmark data to see runtime performance / improvements as well.

Oct 26 2020, 1:09 AM · Restricted Project

Oct 24 2020

xbolva00 added a comment to D89885: [MemLoc] Adjust memccpy support in MemoryLocation::getForArgument.

Ping

Oct 24 2020, 1:33 AM · Restricted Project

Oct 23 2020

xbolva00 updated subscribers of D89665: [LSR] ignore profitable chain optimization when instruction number is the major cost.
Oct 23 2020, 6:44 AM · Restricted Project