Page MenuHomePhabricator

nikic (Nikita Popov)
User

Projects

User does not belong to any projects.

User Details

User Since
May 5 2018, 9:37 AM (63 w, 1 d)

Recent Activity

Yesterday

nikic added inline comments to rG1d149d08d3ae: [InstCombine] Remove insertRangeTest code that handles the equality case..
Sun, Jul 21, 1:36 AM

Sat, Jul 20

nikic added inline comments to D65017: [InstCombine] Teach foldOrOfICmps to allow icmp eq MIN_INT/MAX to be part of a range comparision. Similar for foldAndOfICmps.
Sat, Jul 20, 2:37 AM · Restricted Project

Wed, Jul 17

nikic added inline comments to D64533: [IndVars] Special case the problematic (gep inbounds p, iv == nullptr) problem (pr42357) .
Wed, Jul 17, 1:13 PM
nikic added inline comments to D64869: [SCEV] get more accurate range for AddExpr with NW flag.
Wed, Jul 17, 9:57 AM · Restricted Project

Sun, Jul 14

nikic added inline comments to D37215: [ValueTracking] improve reverse assumption inference.
Sun, Jul 14, 9:16 AM · Restricted Project
nikic updated the diff for D37215: [ValueTracking] improve reverse assumption inference.

Rebase over baseline tests.

Sun, Jul 14, 9:15 AM · Restricted Project
nikic committed rG57190b3974fb: [InstCombine] Add assume context test; NFC (authored by nikic).
[InstCombine] Add assume context test; NFC
Sun, Jul 14, 8:57 AM
nikic committed rL366021: [InstCombine] Add assume context test; NFC.
[InstCombine] Add assume context test; NFC
Sun, Jul 14, 8:55 AM
nikic requested review of D37215: [ValueTracking] improve reverse assumption inference.

In the meantime additional users of isAssumeLikeIntrinsic() have been added, so I've switched this to call isAssumeLikeIntrinsic() from isGuaranteedToTransferExecutionToSuccessor() instead. Does this still look good?

Sun, Jul 14, 8:47 AM · Restricted Project
nikic updated the diff for D37215: [ValueTracking] improve reverse assumption inference.

Rebase.

Sun, Jul 14, 8:46 AM · Restricted Project
nikic commandeered D37215: [ValueTracking] improve reverse assumption inference.

Looks like this never landed...

Sun, Jul 14, 8:42 AM · Restricted Project

Sat, Jul 13

nikic added inline comments to D64533: [IndVars] Special case the problematic (gep inbounds p, iv == nullptr) problem (pr42357) .
Sat, Jul 13, 1:40 PM
nikic added a comment to rL365999: [InstCombine] add tests for umin/umax via usub.sat; NFC.

These tests are already present higher up in the file. The transform you have in mind is unsound due to undef, see D63060.

Sat, Jul 13, 6:06 AM

Fri, Jul 12

nikic added a comment to D64523: [SLPVectorizer] Fix getSpillCost() calculation.

I guess it would be better if it visited all the BBs. You could traverse the VectorizableTree once and collect the BBs to be visited before you walk through them. Btw the TreeEntries now have operands, which can help you collect the BBs in the right order.

Fri, Jul 12, 2:39 PM · Restricted Project
nikic added inline comments to D60351: [builtins] Reformat builtins with clang-format.
Fri, Jul 12, 2:15 PM · Restricted Project, Restricted Project
nikic committed rGa205ebb09cc5: [builtins] Fix assembly in arm sync-ops.h (authored by nikic).
[builtins] Fix assembly in arm sync-ops.h
Fri, Jul 12, 1:53 PM
nikic committed rL365957: [builtins] Fix assembly in arm sync-ops.h.
[builtins] Fix assembly in arm sync-ops.h
Fri, Jul 12, 1:52 PM
nikic committed rG411fa4c0dfe1: [SystemZ] Fix addcarry of addcarry of const carry (PR42606) (authored by nikic).
[SystemZ] Fix addcarry of addcarry of const carry (PR42606)
Fri, Jul 12, 1:04 PM
nikic committed rL365949: [SystemZ] Fix addcarry of addcarry of const carry (PR42606).
[SystemZ] Fix addcarry of addcarry of const carry (PR42606)
Fri, Jul 12, 1:03 PM
nikic closed D64658: [SystemZ] Fix addcarry of addcarry of const carry (PR42606).
Fri, Jul 12, 1:03 PM · Restricted Project
nikic created D64658: [SystemZ] Fix addcarry of addcarry of const carry (PR42606).
Fri, Jul 12, 12:16 PM · Restricted Project
nikic added inline comments to D60351: [builtins] Reformat builtins with clang-format.
Fri, Jul 12, 9:54 AM · Restricted Project, Restricted Project
Herald added a project to D52634: [WebAssembly] Add DBG_VALUE with local operands location in WebAssemblyExplicitLocals pass: Restricted Project.
Fri, Jul 12, 7:39 AM · Restricted Project, debug-info

Thu, Jul 11

nikic added inline comments to D64509: [SCEV] Compute exit count from overflow test.
Thu, Jul 11, 1:57 PM · Restricted Project
nikic accepted D63733: [IndVars] Use exit count reasoning to discharge obviously untaken exits.

LGTM

Thu, Jul 11, 1:21 PM · Restricted Project
nikic accepted D64572: [UpdateTestChecks] Emit warning when invalid test paths.

Your current variant with the warning looks good to me.

Thu, Jul 11, 12:31 PM · Restricted Project
nikic added a comment to D64285: [InstCombine] Fold select (icmp sgt x, -1), lshr (X, Y), ashr (X, Y) to ashr (X, Y)).

(I defer to your judgement though. If you think having the instsimplify variant is worthwhile, I definitely don't want to block this.)

Thu, Jul 11, 10:33 AM · Restricted Project
nikic added a comment to D64285: [InstCombine] Fold select (icmp sgt x, -1), lshr (X, Y), ashr (X, Y) to ashr (X, Y)).

Ugly, yeah, but powerful instsimplify is nice ^^

I feel pretty strongly that this is the not the right tradeoff to make here.

Unless there's some specific evidence that we benefit from having this in instsimplify,
reducing code duplication is imho much more valuable than making sure that
one out of thousands of ad-hoc folds runs in a few more cases than it otherwise would...

Feel free to bring this up as RFC on llvm-dev.

To elaborate, i don't disagree that this is truly a death of a thousand cuts,
*all* these folds are ad-hoc. Some will do wonders for some code patterns,
some will be useless drag for most of the code.

While theoretically we could teach the peep-hole pass all about
every possible pattern, it is infeasible in reality.
(at least until instcombine-SMT is here, will that be a glorious day!).

So what is feasible is teaching it about patterns that *were* observed
in real code. This is what i'm trying to do with my patches,
and i'd guess this may be the case with this patch, @xbolva00?

As to the question in the context of this patch, whether to only have the InstCombine part,
or duplicate it in InstSimplify thus not prohibiting other passes from being smarter,
is this a question of code duplication, or redundant matching?
The former can be workarounded with some refactoring to have a single function,
former is still the same death of a thousand cuts and can't be reasonably addressed
within existing framework.

Thu, Jul 11, 10:24 AM · Restricted Project
nikic added a comment to D64285: [InstCombine] Fold select (icmp sgt x, -1), lshr (X, Y), ashr (X, Y) to ashr (X, Y)).

Ugly, yeah, but powerful instsimplify is nice ^^

Thu, Jul 11, 5:34 AM · Restricted Project
nikic added a comment to D64304: [X86] -fno-plt: use GOT __tls_get_addr only if GOTPCRELX is enabled.

Can you share a reproduce of the Rust code?

Thu, Jul 11, 12:31 AM · Restricted Project

Wed, Jul 10

nikic created D64523: [SLPVectorizer] Fix getSpillCost() calculation.
Wed, Jul 10, 11:30 AM · Restricted Project
nikic accepted D64304: [X86] -fno-plt: use GOT __tls_get_addr only if GOTPCRELX is enabled.

LGTM, this looks like a reasonable workaround to me.

Wed, Jul 10, 10:08 AM · Restricted Project
nikic added a reviewer for D64422: [SCEV] teach SCEV symbolical execution about overflow intrinsics folding.: reames.

Philip's patch in D64509 sounds related (haven't looked closely at either yet).

Wed, Jul 10, 10:05 AM · Restricted Project

Tue, Jul 9

nikic committed rG5ca39e828c89: [SLP] Optimize getSpillCost(); NFCI (authored by nikic).
[SLP] Optimize getSpillCost(); NFCI
Tue, Jul 9, 1:26 PM
nikic committed rL365552: [SLP] Optimize getSpillCost(); NFCI.
[SLP] Optimize getSpillCost(); NFCI
Tue, Jul 9, 1:25 PM

Sun, Jul 7

nikic added a comment to D62106: [X86] Support -fno-plt __tls_get_addr calls.

ld.bfd doesn't allow R_X86_64_GOTPCREL. You can work around the issue with:

% clang -fno-plt -fpic a.cc -Wa,-mrelax-relocations=yes -fuse-ld=bfd

Thanks, I've verified that setting RelaxELFRelocations in TargetOptions indeed works around the issue. I'm a bit concerned about what other compatibility issues this will cause though. If I understood correctly, relax relocations is a relatively recent feature and not compatible with older linkers, so may not be a suitable compiler default.

I think R_X86_64_GOTPCRELX should be usable in ld.bfd and gold since 2016. In gold, -fno-plt R_X86_64_GOTPCREL was supported in Aug 2016 (https://sourceware.org/bugzilla/show_bug.cgi?id=20216).

Sun, Jul 7, 1:13 PM · Restricted Project
nikic added a comment to D62106: [X86] Support -fno-plt __tls_get_addr calls.

ld.bfd doesn't allow R_X86_64_GOTPCREL. You can work around the issue with:

% clang -fno-plt -fpic a.cc -Wa,-mrelax-relocations=yes -fuse-ld=bfd
Sun, Jul 7, 7:23 AM · Restricted Project
nikic added a comment to D62106: [X86] Support -fno-plt __tls_get_addr calls.

@MaskRay Thanks for checking! Can you tell me which binutils version you are using? It looks like using plain ld works for you, but I'm seeing this error with binutils 2.30 ld (gold 1.15 works though).

Sun, Jul 7, 6:42 AM · Restricted Project
nikic added a comment to D62106: [X86] Support -fno-plt __tls_get_addr calls.

I'm seeing linker failures that I suspect are related to this change:

Sun, Jul 7, 4:57 AM · Restricted Project

Sat, Jul 6

nikic added inline comments to D64286: [LFTR] Don't use post-inc IV unless already used.
Sat, Jul 6, 7:59 AM · Restricted Project
nikic created D64286: [LFTR] Don't use post-inc IV unless already used.
Sat, Jul 6, 7:55 AM · Restricted Project
nikic committed rGa01502f1baba: [LFTR] Regenerate test checks; NFC (authored by nikic).
[LFTR] Regenerate test checks; NFC
Sat, Jul 6, 1:55 AM
nikic committed rL365262: [LFTR] Regenerate test checks; NFC.
[LFTR] Regenerate test checks; NFC
Sat, Jul 6, 1:54 AM

Fri, Jul 5

nikic committed rGa2a09cb60608: [SystemZ] Fix addcarry of usubo (PR42512) (authored by nikic).
[SystemZ] Fix addcarry of usubo (PR42512)
Fri, Jul 5, 1:37 PM
nikic committed rL365242: [SystemZ] Fix addcarry of usubo (PR42512).
[SystemZ] Fix addcarry of usubo (PR42512)
Fri, Jul 5, 1:37 PM
nikic closed D64213: [SystemZ] Fix addcarry of usubo (PR42512).
Fri, Jul 5, 1:37 PM · Restricted Project
nikic updated the diff for D64213: [SystemZ] Fix addcarry of usubo (PR42512).

Fall back to default legalization on add/sub mismatch of the carry generating and consuming operation.

Fri, Jul 5, 12:03 PM · Restricted Project

Thu, Jul 4

nikic created D64213: [SystemZ] Fix addcarry of usubo (PR42512).
Thu, Jul 4, 10:31 AM · Restricted Project

Sat, Jun 29

nikic added a comment to D63686: [LFTR] Fix post-inc pointer IV with truncated exit count (PR41998).

Ideally we would not use post-inc form in the middle end and let LSR move to post-inc if profitable. Apart from the issues we're seeing here, this post-inc form is also non-canonical -- clearly (a + C1) == C2 should canonically be a == C2-C1, but we have hacks in InstCombine to preserve this for multi-use cases. There is some relevant discussion on D58633 and in particular some samples where using pre-inc form currently causes regressions. The first step would probably be to figure out what is going on there.

Sat, Jun 29, 8:36 AM · Restricted Project
nikic committed rG8023c8443380: [LFTR] Rephrase getLoopTest into "based-on" check; NFCI (authored by nikic).
[LFTR] Rephrase getLoopTest into "based-on" check; NFCI
Sat, Jun 29, 8:17 AM
nikic committed rL364715: [LFTR] Rephrase getLoopTest into "based-on" check; NFCI.
[LFTR] Rephrase getLoopTest into "based-on" check; NFCI
Sat, Jun 29, 8:17 AM
nikic committed rG61a8b62b4c96: [LFTR] Remove unnecessary latch check; NFCI (authored by nikic).
[LFTR] Remove unnecessary latch check; NFCI
Sat, Jun 29, 5:43 AM
nikic committed rL364713: [LFTR] Remove unnecessary latch check; NFCI.
[LFTR] Remove unnecessary latch check; NFCI
Sat, Jun 29, 5:42 AM
nikic accepted D63812: [InstCombine] Shift amount reassociation (PR42391).

LGTM

Sat, Jun 29, 4:16 AM · Restricted Project
nikic added a comment to D63686: [LFTR] Fix post-inc pointer IV with truncated exit count (PR41998).

I'm hesitant about this. Not because your patch is wrong, but because we've ended up with a ton of complexity involving the post-increment case. I'd really like to take a step back and see if we can factor apart some code here.

Assume for the moment that we have a transform which knows how to generate the pre-increment form, can we do post increment conversion as a post processing step?

If we were willing to strip, I think we could just strip flags and add one to both sides of the comparison *in whatever bitwidth the pre-inc form chose*. Do you agree?

If so, then I think we can move the post-inc legality/stripping entirely into a separate transform which runs *after* we've formed the arguments for the new comparison. (Which is slightly different than the current patch as we'd do the pre-to-post *after* the extend/trunc decision.)

I'm also really questioning the value of doing pre-to-post conversion in the middle end at all. I'm getting increasing tempted to move that to just before codegen, and just strip all the flags without concern. :)

Sat, Jun 29, 2:49 AM · Restricted Project
nikic committed rG2d756c4feb69: [LFTR] Fix post-inc pointer IV with truncated exit count (PR41998) (authored by nikic).
[LFTR] Fix post-inc pointer IV with truncated exit count (PR41998)
Sat, Jun 29, 2:27 AM
nikic committed rL364709: [LFTR] Fix post-inc pointer IV with truncated exit count (PR41998).
[LFTR] Fix post-inc pointer IV with truncated exit count (PR41998)
Sat, Jun 29, 2:24 AM
nikic closed D63686: [LFTR] Fix post-inc pointer IV with truncated exit count (PR41998).
Sat, Jun 29, 2:24 AM · Restricted Project

Thu, Jun 27

nikic updated the diff for D54749: Saturating float to int casts: Basics [1/n].

Rebase

Thu, Jun 27, 12:05 PM · Restricted Project
nikic added inline comments to D63812: [InstCombine] Shift amount reassociation (PR42391).
Thu, Jun 27, 11:55 AM · Restricted Project

Wed, Jun 26

nikic added inline comments to D63812: [InstCombine] Shift amount reassociation (PR42391).
Wed, Jun 26, 10:03 AM · Restricted Project

Tue, Jun 25

nikic added inline comments to rL364346: [LFTR] Adjust debug output to include extensions (if any).
Tue, Jun 25, 1:48 PM

Mon, Jun 24

nikic committed rGf1ffc4305dd1: [CVP] Reenable nowrap flag inference (authored by nikic).
[CVP] Reenable nowrap flag inference
Mon, Jun 24, 1:19 PM
nikic committed rL364228: [CVP] Reenable nowrap flag inference.
[CVP] Reenable nowrap flag inference
Mon, Jun 24, 1:14 PM
nikic closed D62776: [CVP] Reenable nowrap flag inference.
Mon, Jun 24, 1:14 PM · Restricted Project
nikic added inline comments to D63733: [IndVars] Use exit count reasoning to discharge obviously untaken exits.
Mon, Jun 24, 12:52 PM · Restricted Project

Jun 22 2019

Herald added a project to D56455: [ADT] Fix SmallDenseMap assertion with large InlineBuckets: Restricted Project.

ping

Jun 22 2019, 4:23 AM · Restricted Project
nikic abandoned D47010: [NewGVN] Minor cleanups.

Applied trivial parts of this in rL364129 and rL364130. Abandoning the rest as I don't do clang bootstraps.

Jun 22 2019, 3:29 AM
nikic committed rG8c8e40f763f8: [NewGVN] Fix copy/paste mistake in cast (authored by nikic).
[NewGVN] Fix copy/paste mistake in cast
Jun 22 2019, 3:22 AM
nikic committed rGe96fda726e8d: [NewGVN] Remove dead SwitchEdges variable; NFC (authored by nikic).
[NewGVN] Remove dead SwitchEdges variable; NFC
Jun 22 2019, 3:22 AM
nikic committed rL364130: [NewGVN] Fix copy/paste mistake in cast.
[NewGVN] Fix copy/paste mistake in cast
Jun 22 2019, 3:22 AM
nikic committed rL364129: [NewGVN] Remove dead SwitchEdges variable; NFC.
[NewGVN] Remove dead SwitchEdges variable; NFC
Jun 22 2019, 3:22 AM
nikic created D63686: [LFTR] Fix post-inc pointer IV with truncated exit count (PR41998).
Jun 22 2019, 3:11 AM · Restricted Project
nikic committed rGb89d7e52dbcb: [LFTR] Add tests for PR41998; NFC (authored by nikic).
[LFTR] Add tests for PR41998; NFC
Jun 22 2019, 3:01 AM
nikic committed rL364128: [LFTR] Add tests for PR41998; NFC.
[LFTR] Add tests for PR41998; NFC
Jun 22 2019, 3:00 AM

Jun 21 2019

nikic added a comment to D63618: Exploit a zero LoopExit count to eliminate loop exits.

it seems like there are a lot of cases where SCEV's exit count reasoning is stronger than it's isKnownPredicate reasoning.

This is somewhat surprising. For instance in @test_06 I would have expected SCEV to compute the range of %narrow.iv to be [INT32_MAX, INT32_MAX+1) (using the fact that the backedge taken count is 0), and thus figure resolve the icmp slt to false by just looking at the ranges. Any idea why that's not happening?

I haven't looked into that one specifically,

SCEV seems to compute the correct range for that specific case:

%narrow.iv = trunc i64 %iv to i32
-->  {2147483647,+,1}<%loop> U: [2147483647,-2147483648) S: [2147483647,-2147483648)          Exits: 2147483647               LoopDispositions: { %loop: Computable }

so the comparison should be folded based on constant range analysis alone. Do you mind spot checking if indvars is even _trying_ to fold the condition correctly?

Jun 21 2019, 11:16 AM · Restricted Project
nikic added inline comments to D63652: [InstCombine] (1 << (C - x)) -> ((1 << C) >> x) if C is bitwidth - 1.
Jun 21 2019, 8:40 AM · Restricted Project
nikic added inline comments to D63652: [InstCombine] (1 << (C - x)) -> ((1 << C) >> x) if C is bitwidth - 1.
Jun 21 2019, 8:38 AM · Restricted Project

Jun 19 2019

nikic added inline comments to D63385: [ConstantFolding] Add constant folding for smul.fix and smul.fix.sat.
Jun 19 2019, 9:43 AM · Restricted Project
nikic accepted D63384: [ConstantFolding] Refactor ConstantFoldScalarCall. NFC.

LG and already landed in rL363810.

Jun 19 2019, 9:40 AM · Restricted Project
nikic closed D63384: [ConstantFolding] Refactor ConstantFoldScalarCall. NFC.
Jun 19 2019, 9:40 AM · Restricted Project

Jun 16 2019

nikic abandoned D63065: [InstSimplify] Fix addo/subo undef folds (PR42209).

Sorry, I'm still not convinced. Alive evaluates a single atomic with_overflow operation by computing the operation result and the overflow flag independently, which is usually okay but in my eyes not right when it comes to undef modeling, because it artificially increases the number of undef users over what exists in IR. (For reference, some of the discussion is in https://github.com/AliveToolkit/alive2/issues/71.)

Jun 16 2019, 8:46 AM · Restricted Project
nikic added a comment to D63065: [InstSimplify] Fix addo/subo undef folds (PR42209).

Isn't this checking exactly the transform proposed here?

Jun 16 2019, 4:18 AM · Restricted Project
nikic added a comment to D63065: [InstSimplify] Fix addo/subo undef folds (PR42209).

@lebedev.ri Not familiar with what exactly alive proves, but assuming you're using two separate proofs for a reason: It is possible to make the result zero, yes. But only if the overflow flag is chosen as true (rather than false) at the same time. Both result & overflow need to be checked together for the result to be meaningful.

Good observarvation. Close, but nope:

$ ./src/alive2/build-Clang-release/alive -root-only /tmp/test.opt 
OMP: Info #270: omp_set_nested routine deprecated, please use omp_set_max_active_levels instead.
Processing /tmp/test.opt..

----------------------------------------
Name: uadd_overflow
  %X = uadd_overflow i8 %a, undef
  %Op = extractvalue {i8, i1} %X, 0
  %Ov = extractvalue {i8, i1} %X, 1
  %OpIsZero = icmp eq %Op, 0
  %NoOverflow = icmp eq %Ov, 0
  %Zero = and i1 %OpIsZero, %NoOverflow
  ret i1 %Zero
=>
  ret i1 1

Done: 1
Optimization is correct!
Jun 16 2019, 4:14 AM · Restricted Project
nikic added a comment to D63065: [InstSimplify] Fix addo/subo undef folds (PR42209).

@lebedev.ri Not familiar with what exactly alive proves, but assuming you're using two separate proofs for a reason: It is possible to make the result zero, yes. But only if the overflow flag is chosen as true (rather than false) at the same time. Both result & overflow need to be checked together for the result to be meaningful.

Jun 16 2019, 1:27 AM · Restricted Project

Jun 15 2019

nikic added inline comments to D63281: [TargetLowering] Add SimplifyMultipleUseDemandedBits.
Jun 15 2019, 3:41 AM · Restricted Project
nikic committed rG8550fb386a36: [SCEV] Use unsigned/signed intersection type in SCEV (authored by nikic).
[SCEV] Use unsigned/signed intersection type in SCEV
Jun 15 2019, 2:14 AM
nikic committed rL363490: [SCEV] Use unsigned/signed intersection type in SCEV.
[SCEV] Use unsigned/signed intersection type in SCEV
Jun 15 2019, 2:14 AM
nikic closed D60035: [SCEV] Use unsigned/signed intersection type in SCEV.
Jun 15 2019, 2:14 AM · Restricted Project
nikic committed rG9145562b4879: [SimplifyIndVar] Simplify non-overflowing saturating add/sub (authored by nikic).
[SimplifyIndVar] Simplify non-overflowing saturating add/sub
Jun 15 2019, 1:47 AM
nikic committed rL363489: [SimplifyIndVar] Simplify non-overflowing saturating add/sub.
[SimplifyIndVar] Simplify non-overflowing saturating add/sub
Jun 15 2019, 1:47 AM
nikic closed D62792: [SimplifyIndVar] Simplify non-overflowing saturating add/sub.
Jun 15 2019, 1:47 AM · Restricted Project
nikic added a comment to D63065: [InstSimplify] Fix addo/subo undef folds (PR42209).

@lebedev.ri It's not possible to fold to { i8 undef, i1 false }. As a counter-example uaddo(1, undef) can never have the value { 0, false }. Reaching the zero value would have required overflow, which is precluded by the overflow result. Similar cases exist for the other intrinsics as well.

Jun 15 2019, 1:19 AM · Restricted Project

Jun 14 2019

nikic accepted D63349: [EarlyCSE] Fix hashing of self-compares.

LGTM

Jun 14 2019, 12:02 PM · Restricted Project
nikic added inline comments to D63349: [EarlyCSE] Fix hashing of self-compares.
Jun 14 2019, 11:53 AM · Restricted Project

Jun 13 2019

nikic committed rGad81d427caaf: [LangRef] Clarify poison semantics (authored by nikic).
[LangRef] Clarify poison semantics
Jun 13 2019, 12:43 PM
nikic committed rL363320: [LangRef] Clarify poison semantics.
[LangRef] Clarify poison semantics
Jun 13 2019, 12:43 PM
nikic closed D63044: [LangRef] Clarify poison semantics.
Jun 13 2019, 12:43 PM · Restricted Project
nikic added a comment to D62792: [SimplifyIndVar] Simplify non-overflowing saturating add/sub.

ping

Jun 13 2019, 12:39 PM · Restricted Project
nikic accepted D62625: LFTR for multiple exit loops.

LGTM, thanks for the extra tests.

Jun 13 2019, 10:10 AM · Restricted Project