Page MenuHomePhabricator

nickdesaulniers (Nick Desaulniers)
Google

Projects

User does not belong to any projects.

User Details

User Since
Apr 13 2018, 4:23 PM (144 w, 1 d)

Recent Activity

Yesterday

nickdesaulniers requested review of D94833: [LICM] permit CallBr critical edge to default dest to be split.
Fri, Jan 15, 3:07 PM · Restricted Project
nickdesaulniers committed rGed0fd567ebdb: BreakCriticalEdges: do not split the critical edge from a CallBr indirect… (authored by nickdesaulniers).
BreakCriticalEdges: do not split the critical edge from a CallBr indirect…
Fri, Jan 15, 1:52 PM
nickdesaulniers closed D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Fri, Jan 15, 1:52 PM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Fri, Jan 15, 10:38 AM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Fri, Jan 15, 10:24 AM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Fri, Jan 15, 12:48 AM · Restricted Project
nickdesaulniers updated subscribers of D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Fri, Jan 15, 12:47 AM · Restricted Project

Thu, Jan 14

nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 4:51 PM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 4:46 PM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 4:41 PM · Restricted Project
nickdesaulniers updated the diff for D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.

drop old pass manager test from callbr-critical-edge-splitting2.ll since it does not add signal

Thu, Jan 14, 4:38 PM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 4:36 PM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 4:22 PM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 4:16 PM · Restricted Project
nickdesaulniers updated the diff for D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
  • use CHECK-NEXT, drop -passes=loop-reduce
Thu, Jan 14, 4:16 PM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 1:43 PM · Restricted Project
nickdesaulniers added a comment to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".

This patch also fixes the test case in D88438 (and D88438 also fixes this test case).

Does that other review fix this test case intrinsically -- in that this patch is definitely not necessary if that is committed? Or might it just be fixed by accident -- e.g. this particular test-case doesn't trigger the problem anymore, but something else might, without this patch?

Thu, Jan 14, 1:32 PM · Restricted Project
nickdesaulniers added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 1:31 PM · Restricted Project
nickdesaulniers added a comment to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".

This patch also fixes the test case in D88438 (and D88438 also fixes this test case). So two different ways of solving similar bugs.
(ie. either would fix https://github.com/ClangBuiltLinux/linux/issues/1161 and https://github.com/ClangBuiltLinux/linux/issues/1252). I don't feel strongly either way; maybe reviewers could take a look at both approaches?

Thu, Jan 14, 1:19 PM · Restricted Project
nickdesaulniers retitled D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor from BreakCriticalEdges: bail if loop-simplify form requested for CallBr terminated BB to BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 12:56 PM · Restricted Project
nickdesaulniers added a reviewer for D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor: jyknight.
Thu, Jan 14, 12:55 PM · Restricted Project
nickdesaulniers updated the diff for D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
  • run the same invocations for both tests, remove unnecessary target_triple
Thu, Jan 14, 12:54 PM · Restricted Project
nickdesaulniers added a comment to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.

The concept of splitting a critical edge is still relatively new to me; any thoughts on *why* it would not be ok to split a critical branch of an indirect-like jump?

The problem has to do with blockaddress.

For normal branches, splitting an edge is usually straightforward: you just introduce a new block that branches to the original block, and then you rewrite the branch in the predecessor. But suppose you have a block with two indirectbr predecessors, and you want to split the edge. In that case, the "rewrite the branch" step doesn't work: you can't rewrite the address argument to the indirectbr. (Or at least, you can't without performing some invasive rewrite like indirectbr->switch lowering.)

Thu, Jan 14, 12:43 PM · Restricted Project
nickdesaulniers updated the diff for D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
  • add comments and FileCheck to tests
Thu, Jan 14, 12:15 PM · Restricted Project
nickdesaulniers updated the diff for D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
  • mv my test
Thu, Jan 14, 11:46 AM · Restricted Project
nickdesaulniers updated the summary of D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 11:44 AM · Restricted Project
nickdesaulniers updated the diff for D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
  • remove comment from test, simplify lambda
Thu, Jan 14, 11:44 AM · Restricted Project
nickdesaulniers updated the diff for D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Thu, Jan 14, 11:42 AM · Restricted Project
nickdesaulniers added a reviewer for D94685: [CSInfo][MIPS] Update CSInfo during MipsDelaySlotFiller: nickdesaulniers.
Thu, Jan 14, 10:35 AM · Restricted Project, debug-info
nickdesaulniers added a comment to D94685: [CSInfo][MIPS] Update CSInfo during MipsDelaySlotFiller.

Patch fixes the reported bug; added test cases produces a crash before patch is applied. LGTM with minor nit.

Thu, Jan 14, 10:34 AM · Restricted Project, debug-info
nickdesaulniers updated subscribers of D94685: [CSInfo][MIPS] Update CSInfo during MipsDelaySlotFiller.
Thu, Jan 14, 10:27 AM · Restricted Project, debug-info

Wed, Jan 13

nickdesaulniers added a comment to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".

@nathanchance also pointed out I had https://reviews.llvm.org/D88438 to fix a similar issue (I forgot about that patch, I should try it with this test case, too).

Wed, Jan 13, 6:51 PM · Restricted Project

Tue, Jan 12

nickdesaulniers added inline comments to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".
Tue, Jan 12, 2:46 PM · Restricted Project
nickdesaulniers added inline comments to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".
Tue, Jan 12, 2:39 PM · Restricted Project
nickdesaulniers added inline comments to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".
Tue, Jan 12, 2:35 PM · Restricted Project
nickdesaulniers added inline comments to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".
Tue, Jan 12, 2:18 PM · Restricted Project
nickdesaulniers accepted D94470: [LSR] Don't break a critical edge if parent ends with "callbr".

Patch LGTM; just curious about the comment, since that's not what's occurring in the test AFAICT. Thanks for the patch!

Tue, Jan 12, 1:40 PM · Restricted Project
nickdesaulniers added a comment to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".

ah! probably not, let me rebuild

Tue, Jan 12, 1:18 PM · Restricted Project
nickdesaulniers added a comment to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".

I guess the presence of the profile data makes it difficult to use bugpoint to reduce the test case more?

It looks like I was able to reduce it. PTAL.

Tue, Jan 12, 12:58 PM · Restricted Project
nickdesaulniers added a comment to D94470: [LSR] Don't break a critical edge if parent ends with "callbr".

I guess the presence of the profile data makes it difficult to use bugpoint to reduce the test case more?

Tue, Jan 12, 9:16 AM · Restricted Project
nickdesaulniers added a reviewer for D94470: [LSR] Don't break a critical edge if parent ends with "callbr": jyknight.
Tue, Jan 12, 9:15 AM · Restricted Project

Mon, Jan 11

nickdesaulniers committed rG0a23fbd28c75: clang: Always pass PowerPC endian information to GNU as (authored by nathanchance).
clang: Always pass PowerPC endian information to GNU as
Mon, Jan 11, 2:51 PM
nickdesaulniers closed D94442: clang: Always pass PowerPC endian information to GNU as.
Mon, Jan 11, 2:51 PM · Restricted Project
nickdesaulniers accepted D94442: clang: Always pass PowerPC endian information to GNU as.

Sure. I'll commit it.

Mon, Jan 11, 2:38 PM · Restricted Project
nickdesaulniers added a reviewer for D94442: clang: Always pass PowerPC endian information to GNU as: jsji.
Mon, Jan 11, 1:44 PM · Restricted Project
nickdesaulniers added a comment to D94442: clang: Always pass PowerPC endian information to GNU as.

This differs from the little endian targets, which always pass
-mbig-endian.

Mon, Jan 11, 12:25 PM · Restricted Project

Fri, Jan 8

nickdesaulniers accepted D94324: [InitLLVM] Ensure SIGPIPE handler installed before sigaction().
Fri, Jan 8, 1:03 PM · Restricted Project, Restricted Project
nickdesaulniers added a comment to D94324: [InitLLVM] Ensure SIGPIPE handler installed before sigaction().

Much thanks for the patch!

Fri, Jan 8, 12:06 PM · Restricted Project, Restricted Project
nickdesaulniers added a comment to D78105: [CSInfo][ISEL] Call site info generation support for Mips.

Compiler crash reported in: https://bugs.llvm.org/show_bug.cgi?id=48695

Fri, Jan 8, 9:42 AM · Restricted Project, Restricted Project, debug-info

Thu, Jan 7

nickdesaulniers added a comment to D70277: [Signal] Allow llvm clients to opt into one-shot SIGPIPE handling.

This causes:

$ clang -E -fno-integrated-cc1 x.c | tee foo.txt |head

to crash. If I revert 9a3f892d018238dce5181e458905311db8e682f5 and 4624e83ce7b124545b55e45ba13f2d900ed65654, the crash goes away.

Thu, Jan 7, 1:21 PM · Restricted Project, Restricted Project

Wed, Jan 6

nickdesaulniers added a comment to D93881: [llvm-objcopy] preserve file ownership when overwritten.

It sounds like portage should be using something like setuidgid to drop privileges for parts of the build.

Wed, Jan 6, 4:10 PM · Restricted Project

Tue, Jan 5

nickdesaulniers updated subscribers of D93948: [MC] Merge section flags for user defined sections.
Tue, Jan 5, 11:20 AM · Restricted Project

Wed, Dec 23

nickdesaulniers updated subscribers of D93783: [ELFObjectWriter] emit STT_SECTION symbols for sections.
Wed, Dec 23, 3:01 PM · Restricted Project
nickdesaulniers updated the summary of D93783: [ELFObjectWriter] emit STT_SECTION symbols for sections.
Wed, Dec 23, 3:00 PM · Restricted Project
nickdesaulniers updated subscribers of D93783: [ELFObjectWriter] emit STT_SECTION symbols for sections.
Wed, Dec 23, 2:58 PM · Restricted Project
nickdesaulniers planned changes to D93783: [ELFObjectWriter] emit STT_SECTION symbols for sections.

TODO: fix failing tests:

  • lld/test/ELF/error-handling-script-linux.test
  • llvm/test/ExecutionEngine/JITLink/X86/ELF_x86-64_relocations.s
Wed, Dec 23, 2:58 PM · Restricted Project
nickdesaulniers requested review of D93783: [ELFObjectWriter] emit STT_SECTION symbols for sections.
Wed, Dec 23, 2:57 PM · Restricted Project

Tue, Dec 22

nickdesaulniers added a comment to D92156: [PowerPC] Add support for "tlbiel" with two arguments.

The commit message of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f923efbcfdbaa4391874eeda676b08fcf9ad6e99 also has good background/history.

Tue, Dec 22, 3:25 PM · Restricted Project
nickdesaulniers added a comment to D92156: [PowerPC] Add support for "tlbiel" with two arguments.

If tlbiel %r4 is equivalent encoding wise to tlbiel %r4, 0, then we could work around this limitation in Clang's integrated assembler via kernel patch:

diff --git a/arch/powerpc/mm/book3s64/hash_native.c b/arch/powerpc/mm/book3s64/hash_native.c
index 52e170bd95ae..3e902dc91582 100644
--- a/arch/powerpc/mm/book3s64/hash_native.c
+++ b/arch/powerpc/mm/book3s64/hash_native.c
@@ -267,7 +267,7 @@ static inline void __tlbiel(unsigned long vpn, int psize, int apsize, int ssize)
                va |= ssize << 8;
                sllp = get_sllp_encoding(apsize);
                va |= sllp << 5;
-               asm volatile(ASM_FTR_IFSET("tlbiel %0", "tlbiel %0,0", %1)
+               asm volatile(ASM_FTR_IFSET("tlbiel %0", "tlbiel %0", %1)
                             : : "r" (va), "i" (CPU_FTR_ARCH_206)
                             : "memory");
                break;

which looks like a mistake in the kernel to not use the same number of operands for either case (though they should encode the same); but I'd much rather improve LLVM if possible.

Tue, Dec 22, 3:17 PM · Restricted Project
nickdesaulniers added a comment to D92156: [PowerPC] Add support for "tlbiel" with two arguments.

tlbie is different from tlbiel.

Tue, Dec 22, 3:08 PM · Restricted Project

Dec 17 2020

nickdesaulniers accepted D91460: [AsmParser] make .ascii support spaces as separators.

Thanks Jian! (I can get a little further assembling the Linux kernel's arch/arm/probes/kprobes/test-arm.o (allyesconfig) with Clang's integrated assembler with this; though that file now has additional failures unrelated to this patch.

Dec 17 2020, 4:14 PM · Restricted Project
nickdesaulniers added a comment to D92156: [PowerPC] Add support for "tlbiel" with two arguments.

Perhaps GNU assembler has a pseudo-instruction for this? If it's not used significantly throughout the Linux kernel, maybe we should change the kernel to use the canonical form of the instruction?

I did some research and chatted with GNU assembler developers. I think the situation is:
Old ISA used to define 2 operands tlbiel, but we changed the format in ISA 3.0 (Power 9) and later , introducing the 5 operands basic form and its one operand extended mnemonic.

So gas supports the 5 operands basic forms only with -mpower9 and up. The 2 operands mnemonic in gas is actually an extended mnemonic with other 3 operands default to 0.

We are working with ISA guys to confirm whether we can support the 2 operands extended mnemonic.

So my recommendation is we should implement according to ISA 3.1 first for now, we can add the two operands InstAlias later if confirmed by ISA .

Regarding to usage in kernel, I think it depends on which arch are you building for, if it's with -mcpu=pwr9 and above, yes, I would recommend we update the code to use 5 operands basic form.

Dec 17 2020, 2:21 PM · Restricted Project
nickdesaulniers added a comment to D92156: [PowerPC] Add support for "tlbiel" with two arguments.

Regarding to usage in kernel, I think it depends on which arch are you building for, if it's with -mcpu=pwr9 and above, yes, I would recommend we update the code to use 5 operands basic form.

I haven't verified yet that -mcpu=pwr9 is being used, but it looks like the one TU that's using tlbie with 2 operands mixes the use of 2 and 5 operand variants without any kind of check from what I can tell. If that's the case, we might be able to do:

Great. Thanks. It would be great if we can get rid of 2 operands usage in kernel...

Dec 17 2020, 1:25 PM · Restricted Project
nickdesaulniers committed rGe75fec2b238f: [AttrDocs] document always_inline (authored by nickdesaulniers).
[AttrDocs] document always_inline
Dec 17 2020, 12:35 PM
nickdesaulniers closed D68410: [AttrDocs] document always_inline.
Dec 17 2020, 12:35 PM · Restricted Project

Dec 16 2020

nickdesaulniers accepted D93422: [LangRef] Update new ssp/sspstrong/sspreq semantics after D91816.

Thanks for the patch!

Dec 16 2020, 6:00 PM · Restricted Project
nickdesaulniers added a comment to D92156: [PowerPC] Add support for "tlbiel" with two arguments.

Regarding to usage in kernel, I think it depends on which arch are you building for, if it's with -mcpu=pwr9 and above, yes, I would recommend we update the code to use 5 operands basic form.

Dec 16 2020, 5:54 PM · Restricted Project
nickdesaulniers added a comment to D92156: [PowerPC] Add support for "tlbiel" with two arguments.

According to ISA 3.1 https://ibm.ent.box.com/s/hhjfw0x0lrbtyzmiaffnbxh2fuo0fog0 Page 1239 there are only two forms

Dec 16 2020, 3:36 PM · Restricted Project
nickdesaulniers added a reviewer for D92156: [PowerPC] Add support for "tlbiel" with two arguments: NeHuang.
Dec 16 2020, 11:24 AM · Restricted Project
nickdesaulniers added reviewers for D92156: [PowerPC] Add support for "tlbiel" with two arguments: jsji, qshanz.
Dec 16 2020, 11:23 AM · Restricted Project
nickdesaulniers added reviewers for D92156: [PowerPC] Add support for "tlbiel" with two arguments: joerg, stefanp.
Dec 16 2020, 11:22 AM · Restricted Project

Dec 14 2020

nickdesaulniers added a reviewer for D92156: [PowerPC] Add support for "tlbiel" with two arguments: kbarton.
Dec 14 2020, 10:15 AM · Restricted Project

Dec 10 2020

nickdesaulniers added inline comments to D92846: [KernelAddressSanitizer] Fix globals exclusion for indirect aliases.
Dec 10 2020, 3:36 PM · Restricted Project, Restricted Project
nickdesaulniers accepted D92846: [KernelAddressSanitizer] Fix globals exclusion for indirect aliases.

Thanks for the patch.

Dec 10 2020, 1:35 PM · Restricted Project, Restricted Project

Dec 7 2020

nickdesaulniers added a comment to D90271: [clang][ToolChains] explicitly return LangOptions::StackProtectorMode.
Dec 7 2020, 12:04 PM · Restricted Project
nickdesaulniers added a comment to D68410: [AttrDocs] document always_inline.

@lebedev.ri would you mind re-reviewing when you have a chance?

Dec 7 2020, 11:32 AM · Restricted Project
nickdesaulniers updated the diff for D68410: [AttrDocs] document always_inline.

s/MSDN/Microsoft Docs/

Dec 7 2020, 11:32 AM · Restricted Project

Dec 4 2020

nickdesaulniers added a comment to D92709: [TailDuplicator] allow for callbr.

I suspect that duplicateInstruction is not updating isInlineAsmBrIndirectTarget correctly when moving the INLINEASM_BR, but will have to verify.

Dec 4 2020, 5:38 PM · Restricted Project
nickdesaulniers planned changes to D92709: [TailDuplicator] allow for callbr.
Dec 4 2020, 5:35 PM · Restricted Project
nickdesaulniers added inline comments to D92709: [TailDuplicator] allow for callbr.
Dec 4 2020, 5:16 PM · Restricted Project
nickdesaulniers requested review of D92709: [TailDuplicator] allow for callbr.
Dec 4 2020, 5:10 PM · Restricted Project
nickdesaulniers added a comment to D68410: [AttrDocs] document always_inline.

Sorry, I should not have waiting this long to update this patch...

Dec 4 2020, 3:36 PM · Restricted Project
nickdesaulniers updated the diff for D68410: [AttrDocs] document always_inline.
  • rebased, s/Inline/Inlining/
Dec 4 2020, 3:35 PM · Restricted Project
nickdesaulniers added a comment to D92695: [X86ISelLowering] don't emit frame pointers for eflags intrinsics..

Maybe the linux kernel disables the red zone and this isn't a problem.

The x86_64 (64b) Linux kernel is built with -mno-red-zone; I'm not sure if that's precisely the same as "disables the red zone."

Dec 4 2020, 3:25 PM · Restricted Project
nickdesaulniers added a comment to D92695: [X86ISelLowering] don't emit frame pointers for eflags intrinsics..

Maybe the linux kernel disables the red zone and this isn't a problem.

Dec 4 2020, 3:15 PM · Restricted Project
nickdesaulniers added inline comments to D92657: Fix interaction between clang and some inline builtins from glibc under _FORTIFY_SOURCE.
Dec 4 2020, 3:06 PM · Restricted Project
nickdesaulniers added a comment to D92695: [X86ISelLowering] don't emit frame pointers for eflags intrinsics..

What prevents overwriting something in the red zone?

Dec 4 2020, 2:57 PM · Restricted Project
nickdesaulniers added a reviewer for D92695: [X86ISelLowering] don't emit frame pointers for eflags intrinsics.: craig.topper.
Dec 4 2020, 2:51 PM · Restricted Project
nickdesaulniers requested review of D92695: [X86ISelLowering] don't emit frame pointers for eflags intrinsics..
Dec 4 2020, 2:37 PM · Restricted Project
nickdesaulniers added inline comments to D91789: [clang-tidy] find/fix unneeded trailing semicolons in macros.
Dec 4 2020, 11:44 AM · Restricted Project, Restricted Project

Dec 2 2020

nickdesaulniers added a comment to D91789: [clang-tidy] find/fix unneeded trailing semicolons in macros.

Hi @trixirt , thanks for the follow up. I think the lint feedback about qualifying auto with pointers where applicable would be nice to have. Please make those suggested changes.

Dec 2 2020, 11:39 AM · Restricted Project, Restricted Project
nickdesaulniers committed rGbc044a88ee3c: [Inline] prevent inlining on stack protector mismatch (authored by nickdesaulniers).
[Inline] prevent inlining on stack protector mismatch
Dec 2 2020, 11:00 AM
nickdesaulniers closed D91816: [Inline] prevent inlining on stack protector mismatch.
Dec 2 2020, 11:00 AM · Restricted Project

Nov 30 2020

nickdesaulniers committed rG91aff1d8bae0: [InlineCost] prefer range-for. NFC (authored by nickdesaulniers).
[InlineCost] prefer range-for. NFC
Nov 30 2020, 4:08 PM
nickdesaulniers closed D92350: [InlineCost] prefer range-for. NFC.
Nov 30 2020, 4:08 PM · Restricted Project
nickdesaulniers added inline comments to D91460: [AsmParser] make .ascii support spaces as separators.
Nov 30 2020, 2:58 PM · Restricted Project
nickdesaulniers added a comment to D91816: [Inline] prevent inlining on stack protector mismatch.

Cool, that should be all of the feedback addressed. How does it look?

Nov 30 2020, 2:47 PM · Restricted Project
nickdesaulniers updated the summary of D91816: [Inline] prevent inlining on stack protector mismatch.
Nov 30 2020, 2:46 PM · Restricted Project
nickdesaulniers updated the diff for D91816: [Inline] prevent inlining on stack protector mismatch.
Nov 30 2020, 2:42 PM · Restricted Project
nickdesaulniers requested review of D92350: [InlineCost] prefer range-for. NFC.
Nov 30 2020, 2:41 PM · Restricted Project