Page MenuHomePhabricator
Feed Advanced Search

Today

nikic requested changes to D142687: [Local] Don't keep K's range even if K dominates J.

Could you please also add tests for the !noundef case? (Preferably one with the first load noundef and one with the second. I'm not sure you're checking the right one currently.)

Wed, Mar 22, 3:41 AM · Restricted Project, Restricted Project
nikic committed rG1a9d49524a52: [GVN] Regenerate test checks (NFC) (authored by nikic).
[GVN] Regenerate test checks (NFC)
Wed, Mar 22, 3:40 AM · Restricted Project, Restricted Project
nikic committed rGa5788836b92c: [IR] Rename dropUndefImplying to dropUBImplying (NFC) (authored by nikic).
[IR] Rename dropUndefImplying to dropUBImplying (NFC)
Wed, Mar 22, 3:16 AM · Restricted Project, Restricted Project
nikic requested changes to D145299: [InstCombine] Generate better code for std::bit_ceil.

Implementation looks fine, but this needs more test coverage.

Wed, Mar 22, 2:32 AM · Restricted Project, Restricted Project
nikic added inline comments to D146596: [SCEV] Infer no-self-wrap via constant ranges.
Wed, Mar 22, 2:23 AM · Restricted Project, Restricted Project
nikic accepted D146599: [InstSimplify] Actually use NewOps for calls in simplifyInstructionWithOperands.

LGTM

Wed, Mar 22, 1:11 AM · Restricted Project, Restricted Project
nikic accepted D146598: [Constant] Inline ConstantInt::getSigned.

LGTM

Wed, Mar 22, 1:08 AM · Restricted Project, Restricted Project
nikic added a comment to D145846: [InstCombine] enhance icmp with sub folds.

Proof: https://alive2.llvm.org/ce/z/VNNPeG

Wed, Mar 22, 1:05 AM · Restricted Project, Restricted Project
nikic accepted D145846: [InstCombine] enhance icmp with sub folds.

LGTM

Wed, Mar 22, 1:03 AM · Restricted Project, Restricted Project

Yesterday

nikic committed rGb4307437e51d: [ModuleUtils] Handle globals_ctors/dtors with non-literal type (PR56809) (authored by nikic).
[ModuleUtils] Handle globals_ctors/dtors with non-literal type (PR56809)
Tue, Mar 21, 8:19 AM · Restricted Project, Restricted Project
nikic added inline comments to D145846: [InstCombine] enhance icmp with sub folds.
Tue, Mar 21, 7:55 AM · Restricted Project, Restricted Project
nikic added inline comments to D145299: [InstCombine] Generate better code for std::bit_ceil.
Tue, Mar 21, 7:53 AM · Restricted Project, Restricted Project
nikic added a reviewer for D146404: Improve min/max vector reductions on arm: dmgreen.
Tue, Mar 21, 7:34 AM · Restricted Project, Restricted Project
nikic requested changes to D144445: [AggressiveInstCombine] folding load for constant global patterened arrays and structs by alignment.

Nearly there, I think...

Tue, Mar 21, 7:33 AM · Restricted Project, Restricted Project
nikic added inline comments to D146518: [AArch64] Extend icmp bitcast to vecreduce fold to comparison with -1.
Tue, Mar 21, 6:07 AM · Restricted Project, Restricted Project
nikic requested review of D146518: [AArch64] Extend icmp bitcast to vecreduce fold to comparison with -1.
Tue, Mar 21, 5:25 AM · Restricted Project, Restricted Project
nikic committed rG35130e4d6efb: [AArch64] Add tests for bitcast to and mask reduction (NFC) (authored by nikic).
[AArch64] Add tests for bitcast to and mask reduction (NFC)
Tue, Mar 21, 5:18 AM · Restricted Project, Restricted Project
nikic accepted D146457: [LSR] Use evaluateAtIteration in lsr-term-fold.

All of the test changes are, to my eye, semantically the same.

Tue, Mar 21, 3:53 AM · Restricted Project, Restricted Project
nikic accepted D146464: [LSR] Fix "new use of poison" problem in lsr-term-fold.

LGTM

Tue, Mar 21, 3:47 AM · Restricted Project, Restricted Project
nikic accepted D146444: [IndVarSimplify] Remove duplicate call to getSCEV. NFC.

LGTM

Tue, Mar 21, 3:42 AM · Restricted Project, Restricted Project
nikic accepted D146468: [LFTR] Use evaluateAtIteration in genLoopLimit [nfc].

LGTM

Tue, Mar 21, 3:41 AM · Restricted Project, Restricted Project
nikic added a comment to D145650: [X86] Create extra prolog/epilog for stack realignment.

It looks like this broke the expensive checks build (x86-64-baseptr.ll and i386-baseptr.ll fail).

Tue, Mar 21, 3:34 AM · Restricted Project, Restricted Project
nikic added inline comments to D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().
Tue, Mar 21, 3:12 AM · Restricted Project, Restricted Project
nikic updated the diff for D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().

Upload correct patch.

Tue, Mar 21, 3:11 AM · Restricted Project, Restricted Project
nikic updated the diff for D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().

Improve comments.

Tue, Mar 21, 3:07 AM · Restricted Project, Restricted Project
nikic added inline comments to D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().
Tue, Mar 21, 2:53 AM · Restricted Project, Restricted Project
nikic accepted D146508: Mark widenable condition as noundef.

LGTM

Tue, Mar 21, 2:52 AM · Restricted Project, Restricted Project
nikic committed rG289542b1e72d: [InstCombine] Fold icmp eq of non-inbounds geps (authored by nikic).
[InstCombine] Fold icmp eq of non-inbounds geps
Tue, Mar 21, 2:52 AM · Restricted Project, Restricted Project
nikic committed rG3cfb081c19f7: [InstCombine] Add icmp gep tests without inbounds (NFC) (authored by nikic).
[InstCombine] Add icmp gep tests without inbounds (NFC)
Tue, Mar 21, 2:41 AM · Restricted Project, Restricted Project
nikic committed rGe8ec42b80b5d: [InstCombine] Fold icmp eq of non-inbounds gep with base pointer (authored by nikic).
[InstCombine] Fold icmp eq of non-inbounds gep with base pointer
Tue, Mar 21, 2:20 AM · Restricted Project, Restricted Project
nikic requested changes to D146349: [InstCombine] Make `FoldOpIntoSelect` handle non-constants and use condition to deduce constants..

Can you please rebase over https://github.com/llvm/llvm-project/commit/d0de2c51c9a9fc0fedb97ee98f61ce08cb34972b? I hope that will clarify what the actual change here is, because making foldOperationIntoSelectOperand() fallible doesn't make a whole lot of sense.

Tue, Mar 21, 2:04 AM · Restricted Project, Restricted Project
nikic committed rGd0de2c51c9a9: [InstCombine] Simplify foldOperationIntoSelectOperand() (NFCI) (authored by nikic).
[InstCombine] Simplify foldOperationIntoSelectOperand() (NFCI)
Tue, Mar 21, 2:03 AM · Restricted Project, Restricted Project
nikic committed rG8325d46a4ab8: [MergeFuncs] Compare load instruction metadata (authored by dingxiangfei2009).
[MergeFuncs] Compare load instruction metadata
Tue, Mar 21, 1:49 AM · Restricted Project, Restricted Project
nikic closed D144682: [MergeFuncs] Compare load instruction metadata.
Tue, Mar 21, 1:49 AM · Restricted Project, Restricted Project
nikic committed rGd9b3a9442530: [NFC] Change strcpy to std::copy (authored by 1lyasm).
[NFC] Change strcpy to std::copy
Tue, Mar 21, 1:44 AM · Restricted Project, Restricted Project
nikic closed D146382: [NFC] Change strcpy to std::copy.
Tue, Mar 21, 1:44 AM · Restricted Project, Restricted Project
nikic added a comment to D146423: [Analys] Added new context analys for BB/Inst.

Actually it was I who proposed Dmitry to split it off into a separate analysis. The main advantage of this approach is that we can then create some static analysis tools that don't necessarily modify the IR to give you the same info.

Tue, Mar 21, 1:42 AM · Restricted Project, Restricted Project
nikic committed rG6fc670e5e370: [WebAssembly] Add auto-upgrade for renamed intrinsics (authored by nikic).
[WebAssembly] Add auto-upgrade for renamed intrinsics
Tue, Mar 21, 1:27 AM · Restricted Project, Restricted Project
nikic closed D146424: [WebAssembly] Add auto-upgrade for renamed intrinsics.
Tue, Mar 21, 1:27 AM · Restricted Project, Restricted Project
nikic accepted D146470: [LFTR] Assert and simplify under assumption exit counts are integers.

LGTM

Tue, Mar 21, 1:05 AM · Restricted Project, Restricted Project

Mon, Mar 20

nikic added inline comments to D145299: [InstCombine] Generate better code for std::bit_ceil.
Mon, Mar 20, 12:40 PM · Restricted Project, Restricted Project
nikic accepted D146429: [LSR] Fix wrapping bug in lsr-term-fold logic.

LGTM

Mon, Mar 20, 12:35 PM · Restricted Project, Restricted Project
nikic added inline comments to D146429: [LSR] Fix wrapping bug in lsr-term-fold logic.
Mon, Mar 20, 11:13 AM · Restricted Project, Restricted Project
nikic accepted D146382: [NFC] Change strcpy to std::copy.

LGTM. Assuming you don't have commit access, can you tell me the Name <email> to use for the commit?

Mon, Mar 20, 10:59 AM · Restricted Project, Restricted Project
nikic added inline comments to D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().
Mon, Mar 20, 10:51 AM · Restricted Project, Restricted Project
nikic added a comment to D109958: [LoopFlatten] Enable it by default.

FWIW, I am quite unhappy with the implementation quality of this pass, but I don't think I have the energy to deal with this. In the future, due diligence for pass enablement needs to include a review of the pass implementation by a domain expert, if this was not already done as part of the initial implementation. (Domain expert = SCEV reviewer in this context.)

Mon, Mar 20, 9:45 AM · Restricted Project, Restricted Project
nikic added a comment to D146424: [WebAssembly] Add auto-upgrade for renamed intrinsics.

Thanks! I didn't know about this functionality. Is there a generally accepted mechanism to mark intrinsics as experimental so that there is no expectation that they will be auto-upgraded like this?

Mon, Mar 20, 9:16 AM · Restricted Project, Restricted Project
nikic requested review of D146424: [WebAssembly] Add auto-upgrade for renamed intrinsics.
Mon, Mar 20, 7:50 AM · Restricted Project, Restricted Project
nikic requested changes to D145905: [LSR]: Terminate folding condition use SymbolicMax..

Using max exit count is incorrect. The computed max may be larger than the actual trip count of this exit.

Mon, Mar 20, 4:40 AM · Restricted Project, Restricted Project
nikic requested changes to D146415: [LSR]: Fix cast to BranchInst..

Change looks fine, but is missing a test case.

Mon, Mar 20, 4:33 AM · Restricted Project, Restricted Project
nikic added inline comments to D136889: Infrastructure for alias analysis in flang.
Mon, Mar 20, 3:41 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
nikic added a reviewer for D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp(): goldstein.w.n.

ping ;)

Mon, Mar 20, 2:19 AM · Restricted Project, Restricted Project

Sun, Mar 19

nikic requested changes to D145299: [InstCombine] Generate better code for std::bit_ceil.

I haven't looked in detail what you're doing here, but you're clearly looking for the ConstantRange class. makeExactICmpRegion(), add(), sub(), binaryNot(), etc.

Sun, Mar 19, 2:53 PM · Restricted Project, Restricted Project
nikic requested changes to D146382: [NFC] Change strcpy to std::copy.
Sun, Mar 19, 8:11 AM · Restricted Project, Restricted Project
nikic added a comment to D144445: [AggressiveInstCombine] folding load for constant global patterened arrays and structs by alignment.

Extracting the stride from GEPs turned out to be trickier than I expected...

Sun, Mar 19, 8:03 AM · Restricted Project, Restricted Project
nikic accepted D145223: [InstCombine] Combine binary operator of two phi node.

LG

Sun, Mar 19, 8:03 AM · Restricted Project, Restricted Project
nikic requested changes to D144445: [AggressiveInstCombine] folding load for constant global patterened arrays and structs by alignment.

Extracting the stride from GEPs turned out to be trickier than I expected...

Sun, Mar 19, 7:54 AM · Restricted Project, Restricted Project
nikic requested changes to D142687: [Local] Don't keep K's range even if K dominates J.

The !noundef preservation fixes have landed, so I think this patch can now be adjusted to keep the metadata if !noundef is present on the dominating load.

Sun, Mar 19, 4:13 AM · Restricted Project, Restricted Project
nikic added inline comments to D145846: [InstCombine] enhance icmp with sub folds.
Sun, Mar 19, 2:06 AM · Restricted Project, Restricted Project

Sat, Mar 18

nikic requested changes to D146350: [InstCombine] More aggressively try and fold irem/idiv/mul into selects..

This is not generally legal for div/rem, see https://alive2.llvm.org/ce/z/2iiR26 using one of your tests. This is only legal if the operation is speculatable.

Sat, Mar 18, 3:03 PM · Restricted Project, Restricted Project
nikic accepted D146346: [InstCombine] Add tests for indirect mul by power of 2; NFC.

LGTM

Sat, Mar 18, 2:19 PM · Restricted Project, Restricted Project
nikic accepted D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`.

LGTM

Sat, Mar 18, 2:18 PM · Restricted Project, Restricted Project
nikic added inline comments to D146346: [InstCombine] Add tests for indirect mul by power of 2; NFC.
Sat, Mar 18, 4:55 AM · Restricted Project, Restricted Project
nikic added inline comments to D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`.
Sat, Mar 18, 4:53 AM · Restricted Project, Restricted Project

Fri, Mar 17

nikic requested changes to D146327: [ArgPromotion] Remove dead code produced by removing dead arguments.

Please add a PhaseOrdering test that demonstrates why it it useful to do this as part of ArgumentPromotion, rather than letting other passes clean this up.

Fri, Mar 17, 1:33 PM · Restricted Project, Restricted Project
nikic added a reverting change for rG2c78a9e65ccf: [AST] Use ModRefInfo to represent access kind (NFC): rG3ddc88c38068: Revert "[AST] Use ModRefInfo to represent access kind (NFC)".
Fri, Mar 17, 9:25 AM · Restricted Project, Restricted Project
nikic committed rG3ddc88c38068: Revert "[AST] Use ModRefInfo to represent access kind (NFC)" (authored by nikic).
Revert "[AST] Use ModRefInfo to represent access kind (NFC)"
Fri, Mar 17, 9:25 AM · Restricted Project, Restricted Project
nikic committed rGe775c926dfdc: [LICM] Regenerate test checks (NFC) (authored by nikic).
[LICM] Regenerate test checks (NFC)
Fri, Mar 17, 9:17 AM · Restricted Project, Restricted Project
nikic committed rG2c78a9e65ccf: [AST] Use ModRefInfo to represent access kind (NFC) (authored by nikic).
[AST] Use ModRefInfo to represent access kind (NFC)
Fri, Mar 17, 9:08 AM · Restricted Project, Restricted Project
nikic added inline comments to D145223: [InstCombine] Combine binary operator of two phi node.
Fri, Mar 17, 8:36 AM · Restricted Project, Restricted Project
nikic added a comment to D146233: [LICM] Don't promote store to global even in single-thread mode.

Is the issue here actually specific to global variables? I mean, you can't mark a local variable noalias, but noalias/TBAA metadata can apply to local variables.

Fri, Mar 17, 8:27 AM · Restricted Project, Restricted Project
nikic committed rG18680a36aa1b: [Polly] Remove some bitcasts (NFC) (authored by nikic).
[Polly] Remove some bitcasts (NFC)
Fri, Mar 17, 7:59 AM · Restricted Project
nikic committed rG55cb5796526b: [Polly] Convert remaining tests to opaque pointers (NFC) (authored by nikic).
[Polly] Convert remaining tests to opaque pointers (NFC)
Fri, Mar 17, 7:45 AM · Restricted Project
nikic committed rG49f9af1864d9: [LLDB] Remove some typed pointer code (NFCI) (authored by nikic).
[LLDB] Remove some typed pointer code (NFCI)
Fri, Mar 17, 7:26 AM · Restricted Project
nikic committed rGfc78ebad051a: [Polly] Convert some tests to opaque pointers (NFC) (authored by nikic).
[Polly] Convert some tests to opaque pointers (NFC)
Fri, Mar 17, 7:09 AM · Restricted Project
nikic committed rG5ecba1543477: [Polly] Convert some tests to opaque pointers (NFC) (authored by nikic).
[Polly] Convert some tests to opaque pointers (NFC)
Fri, Mar 17, 6:44 AM · Restricted Project
nikic accepted D145490: [GlobalOpt] Collect initializer when building GlobalPart..

LGTM

Fri, Mar 17, 6:29 AM · Restricted Project, Restricted Project
nikic committed rG687b5b9a0cff: [SCEVExpander] Always use scevgep as name (authored by nikic).
[SCEVExpander] Always use scevgep as name
Fri, Mar 17, 6:27 AM · Restricted Project, Restricted Project
nikic added inline comments to D146283: [Passes] Add PassBuilderContext.
Fri, Mar 17, 4:00 AM · Restricted Project, Restricted Project
nikic requested review of D146283: [Passes] Add PassBuilderContext.
Fri, Mar 17, 3:57 AM · Restricted Project, Restricted Project
nikic committed rGa5242483e40c: [SCEV] Recognize vscale intrinsics (authored by nikic).
[SCEV] Recognize vscale intrinsics
Fri, Mar 17, 2:09 AM · Restricted Project, Restricted Project
nikic closed D146226: [SCEV] Recognize vscale intrinsics.
Fri, Mar 17, 2:09 AM · Restricted Project, Restricted Project
nikic committed rG402dfa389e13: [ValueTracking] Support vscale in computeConstantRange() (authored by nikic).
[ValueTracking] Support vscale in computeConstantRange()
Fri, Mar 17, 2:05 AM · Restricted Project, Restricted Project
nikic closed D146217: [ValueTracking] Support vscale in computeConstantRange().
Fri, Mar 17, 2:05 AM · Restricted Project, Restricted Project
nikic committed rGa8f6b5763e89: [PassBuilder] Support O0 in default pipelines (authored by nikic).
[PassBuilder] Support O0 in default pipelines
Fri, Mar 17, 2:00 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
nikic closed D146200: [PassBuilder] Support O0 in default pipelines.
Fri, Mar 17, 2:00 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
nikic accepted D146238: [StandardInstrumentations] Check that module analyses are properly invalidated.

LG

Fri, Mar 17, 1:58 AM · Restricted Project, Restricted Project
nikic committed rG5d276380b0b4: [libunwind][AArch64] Unbreak building with GNU assembler (authored by xry111).
[libunwind][AArch64] Unbreak building with GNU assembler
Fri, Mar 17, 1:28 AM · Restricted Project
nikic closed D146109: [libunwind][AArch64] Unbreak building with GNU assembler.
Fri, Mar 17, 1:28 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Mar 16

nikic added a comment to D146233: [LICM] Don't promote store to global even in single-thread mode.

Can we make this less drastic by checking the global. If it is internal and doesn't have its address taken there are no aliasing pointers, I think/hope.

Thu, Mar 16, 1:55 PM · Restricted Project, Restricted Project
nikic accepted D145209: [DAE] Don't DAE if we musttail call a "live" (non-DAE-able) function.

LG

Thu, Mar 16, 1:19 PM · Restricted Project, Restricted Project
nikic added inline comments to D146238: [StandardInstrumentations] Check that module analyses are properly invalidated.
Thu, Mar 16, 1:13 PM · Restricted Project, Restricted Project
nikic added inline comments to D146200: [PassBuilder] Support O0 in default pipelines.
Thu, Mar 16, 11:02 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
nikic requested review of D146233: [LICM] Don't promote store to global even in single-thread mode.
Thu, Mar 16, 9:15 AM · Restricted Project, Restricted Project
nikic committed rGc3a6bea7598b: [LICM] Add additional single thread promotion test (NFC) (authored by nikic).
[LICM] Add additional single thread promotion test (NFC)
Thu, Mar 16, 9:00 AM · Restricted Project, Restricted Project
nikic added a comment to D146217: [ValueTracking] Support vscale in computeConstantRange().

In this case all comparisons just fold to true (but could also fold to any other value).

What is the reason that the IR doesn't explicitly return poison in that case? (i.e. ret i1 poison)

Thu, Mar 16, 7:50 AM · Restricted Project, Restricted Project
nikic requested review of D146226: [SCEV] Recognize vscale intrinsics.
Thu, Mar 16, 6:44 AM · Restricted Project, Restricted Project
nikic updated the diff for D146217: [ValueTracking] Support vscale in computeConstantRange().

Rebase over additional tests for the poison case. In this case all comparisons just fold to true (but could also fold to any other value).

Thu, Mar 16, 6:30 AM · Restricted Project, Restricted Project
nikic committed rG531e06668bf8: [ValueTracking] Return ConstantRange for intrinsic ranges (NFC) (authored by nikic).
[ValueTracking] Return ConstantRange for intrinsic ranges (NFC)
Thu, Mar 16, 6:26 AM · Restricted Project, Restricted Project
nikic committed rGa7a8e237e8cf: [InstCombine] Add more vscale icmp tests (NFC) (authored by nikic).
[InstCombine] Add more vscale icmp tests (NFC)
Thu, Mar 16, 6:26 AM · Restricted Project, Restricted Project