Page MenuHomePhabricator

nathanchance (Nathan Chancellor)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 9 2018, 11:07 PM (106 w, 5 d)

Recent Activity

Sat, Oct 10

nathanchance added a comment to D88834: [InstCombine] matchRotate - add support for matching general funnel shifts with constant shift amounts (PR46896).

@nathanchance Please can you confirm rG2c3e4a21f93d fixes the issue?

Sat, Oct 10, 11:07 PM · Restricted Project
nathanchance added a comment to D88834: [InstCombine] matchRotate - add support for matching general funnel shifts with constant shift amounts (PR46896).

This patch breaks building the PowerPC Linux kernel with clang.

Sat, Oct 10, 1:37 AM · Restricted Project

Jul 19 2020

nathanchance added a comment to D83870: [ConstantFolding] check applicability of AllOnes constant creation first.

Please ensure that this patch gets picked up into release/11.x as the patch that introduced this failure is in there.

Jul 19 2020, 11:11 PM · Restricted Project

Jul 15 2020

nathanchance added a comment to D83870: [ConstantFolding] check applicability of AllOnes constant creation first.

With this diff applied on top of f3731d34faa7432462c877714af235e9787c9b30, this looks good to me.

Jul 15 2020, 8:56 PM · Restricted Project
nathanchance added a comment to D83870: [ConstantFolding] check applicability of AllOnes constant creation first.

I will throw this through my build tests for the Linux kernel and make sure that it passes (will probably take my machine four hours or so). I do not feel qualified enough to approve this once I get those results though.

Jul 15 2020, 12:44 PM · Restricted Project

Jul 14 2020

nathanchance added a comment to D59730: [GVN] teach ConstantFolding correct handling of non-integral addrspace casts.

This commits causes a failed assertion when building the Linux kernel for arm32:

Jul 14 2020, 11:36 PM · Restricted Project

Jun 30 2020

nathanchance added a comment to D79635: [RISCV] Split the pseudo instruction splitting pass.

This patch breaks compiling the Linux kernel:

Jun 30 2020, 4:50 PM · Restricted Project

Jun 29 2020

nathanchance added a comment to D77448: [PowerPC] Canonicalize shuffles to match more single-instruction masks on LE.

@nemanjai thanks for the fix, I can confirm all of my PowerPC builds are successful with LLVM at 4772b99dffec4f87bb7bc9273495066058ac0186!

Jun 29 2020, 6:34 PM · Restricted Project

Jun 25 2020

nathanchance added a comment to D77448: [PowerPC] Canonicalize shuffles to match more single-instruction masks on LE.

Gentle ping. This is still an issue at 4c6548222b3c41d024581d28f42b3f02510bcfe3 and I have not heard anything about a fix. I know I sent that message on Friday night before the weekend so I am hoping that it did not get lost. If I need to file a bug report, I am more than happy to do so.

Jun 25 2020, 10:53 PM · Restricted Project

Jun 21 2020

nathanchance added a comment to D79794: Change the INLINEASM_BR MachineInstr to be a non-terminating instruction..

@void that diff on top of this revision resolves the issue I was seeing, thanks!

Jun 21 2020, 12:11 PM · Restricted Project

Jun 19 2020

nathanchance added a comment to D79794: Change the INLINEASM_BR MachineInstr to be a non-terminating instruction..

@void 's additional diff fixes the arm64 mainline boot issue I was observing. Maybe @nathanchance can help test with that additional diff applied atop this patch that we're in good shape?

Jun 19 2020, 10:43 PM · Restricted Project
nathanchance added a comment to D77448: [PowerPC] Canonicalize shuffles to match more single-instruction masks on LE.

Hi! This patch causes a crash when compiling the Linux kernel with certain distribution configs:

Jun 19 2020, 9:39 PM · Restricted Project

Jun 8 2020

nathanchance added a comment to D81390: [KernelAddressSanitizer] Make globals constructors compatible with kernel [v2].

I do not know enough about KASAN enough to review this patch but I can say that against mainline at https://git.kernel.org/linus/af7b4801030c07637840191c69eb666917e4135d, there appear to be no visible regressions with this version of the patch on top of caa2fddce72f2e8ca3d6346cc2c8fe85252b91d8.

Jun 8 2020, 3:33 PM · Restricted Project, Restricted Project

May 29 2020

nathanchance added a comment to D80477: [LoopUnroll] Support loops with exiting block that is neither header nor latch..

This patch causes a crash in the Linux kernel when building s390 allyesconfig:

May 29 2020, 10:18 PM · Restricted Project

May 1 2020

nathanchance added a comment to D79229: [llvm-objcopy] -O binary: skip empty sections.

Thanks for the fix! I can confirm that a multi_v5_defconfig kernel looks normal size wise and boots in QEMU. I will do a set of kernel builds overnight to make sure that nothing else regresses.

May 1 2020, 12:43 AM · Restricted Project

Apr 23 2020

nathanchance added a comment to D78720: [globalopt] Don't emit DWARF fragments for members of a struct that cover the whole struct.

Thanks! I can confirm that I do not see a crash anymore with the config I used when initially reporting. I will try to run this patch through all of my kernel build tests this afternoon to make sure nothing else has regressed.

Apr 23 2020, 11:21 AM · Restricted Project

Apr 21 2020

nathanchance added a comment to D77330: Consider increasing the default ARM32 max page size to 64k..

Hmm...seems to have regressed ARMv5 Linux kernel boots according to a bisection from @nathanchance (https://groups.google.com/g/clang-built-linux/c/aKDK-N6JN4g)

I don't think that URL is publicly visible.

Apr 21 2020, 1:33 PM · Restricted Project, lld

Apr 17 2020

nathanchance added a comment to D78364: [MC][Bugfix] Remove redundant parameter for relaxInstruction.

Just as an FYI, this fixes the issue I reported here: https://bugs.llvm.org/show_bug.cgi?id=45580

Apr 17 2020, 11:20 AM · Restricted Project

Apr 10 2020

nathanchance added a comment to D73664: [PowerPC][Future] Add Support For Functions That Do Not Use A TOC..

Awesome. Thank you. I'll work on getting that fixed. To verify everything, I just replace modules in the invocation with all?

Correct!

Hi Nathan, I pushed 04eae396176ccebe359bbb47ca1458a6377bbc4f after building all successfully. When you get a chance, could you please confirm that it is back to normal? Thank you for your patience and for reporting this.

Apr 10 2020, 10:05 PM · Restricted Project, Restricted Project
nathanchance added a comment to D73664: [PowerPC][Future] Add Support For Functions That Do Not Use A TOC..

This is also a regression after this patch or something that was broken before?

Yes. If I checkout to f3bf25eb663c49e821120fd311677764d2bad79e, modules builds successfully but with 6c4b40def77622a5cf62a219ef4af63dc876e144, I get that error, with or without 5b18b6e9a84d985c0a907009fb71de7c1943bc88.

Awesome. Thank you. I'll work on getting that fixed. To verify everything, I just replace modules in the invocation with all?

Apr 10 2020, 3:06 PM · Restricted Project, Restricted Project
nathanchance added a comment to D73664: [PowerPC][Future] Add Support For Functions That Do Not Use A TOC..

This is also a regression after this patch or something that was broken before?

Apr 10 2020, 3:04 PM · Restricted Project, Restricted Project
nathanchance added a comment to D73664: [PowerPC][Future] Add Support For Functions That Do Not Use A TOC..

@nemanjai thank you for that fix! Unfortunately, I am still seeing some errors with the modules target:

Apr 10 2020, 1:58 PM · Restricted Project, Restricted Project

Apr 9 2020

nathanchance added a comment to D73664: [PowerPC][Future] Add Support For Functions That Do Not Use A TOC..

For what it's worth, this patch introduces a regression when building the Linux kernel's powernv_defconfig with Clang and linking with ld.bfd (for some reason, ld.lld is fine):

Apr 9 2020, 1:02 PM · Restricted Project, Restricted Project

Apr 7 2020

nathanchance added a comment to D77498: [Hexagon] Select lld as the default linker for linux-musl target.

These are new tests how do you get the generic lld driver to work?

Apr 7 2020, 4:22 PM · Restricted Project
nathanchance added a comment to D77498: [Hexagon] Select lld as the default linker for linux-musl target.

Weird -- the baseline didn't take CLANG_DEFAULT_LINKER into account either, though, right?

Apr 7 2020, 3:16 PM · Restricted Project
nathanchance added a comment to D77498: [Hexagon] Select lld as the default linker for linux-musl target.

This does not take into account CLANG_DEFAULT_LINKER, resulting in a check-clang failure:

Apr 7 2020, 2:10 PM · Restricted Project

Mar 22 2020

nathanchance added a comment to D76577: [libc] Don't configure test and fuzzer when -DLLVM_INCLUDE_TESTS=OFF.

I can confirm this fixes my issue, thank you for the quick fix! I can approve if need be but might be better for someone else more familiar with this area to do that :)

Mar 22 2020, 5:10 PM · Restricted Project
nathanchance added a comment to D74397: [libc] Adding memcpy implementation for x86_64.

This change breaks -DLLVM_INCLUDE_TESTS=OFF:

Mar 22 2020, 3:01 PM · Restricted Project
nathanchance added a comment to D76562: [llvm-objcopy] Improve tool selection logic to recognize llvm-strip-$major as strip.

Seems sane to me if I am understanding the string arithmetic correctly. I can confirm this fixes the Debian use case that we came across.

Mar 22 2020, 1:02 AM · Restricted Project

Mar 7 2020

nathanchance added a comment to D75758: [Sema] Add -Wpointer-to-enum-cast and -Wvoid-pointer-to-enum-cast.

Thanks for the review and accepting. I do not have commit rights, would you mind doing that on my behalf?

Mar 7 2020, 2:37 PM · Restricted Project

Mar 6 2020

nathanchance added inline comments to D75758: [Sema] Add -Wpointer-to-enum-cast and -Wvoid-pointer-to-enum-cast.
Mar 6 2020, 2:22 PM · Restricted Project
nathanchance updated the diff for D75758: [Sema] Add -Wpointer-to-enum-cast and -Wvoid-pointer-to-enum-cast.
Mar 6 2020, 1:51 PM · Restricted Project
nathanchance created D75758: [Sema] Add -Wpointer-to-enum-cast and -Wvoid-pointer-to-enum-cast.
Mar 6 2020, 9:53 AM · Restricted Project

Mar 3 2020

nathanchance added inline comments to D75563: [clang][Parse] properly parse asm-qualifiers, asm inline.
Mar 3 2020, 4:09 PM · Restricted Project
nathanchance added inline comments to D75563: [clang][Parse] properly parse asm-qualifiers, asm inline.
Mar 3 2020, 2:24 PM · Restricted Project

Feb 18 2020

nathanchance added a comment to D72231: [Sema] Adds the pointer-to-int-cast diagnostic.

There appear to a be semantic difference between GCC and clang with the current version of this patch which results in a lot of additional warnings in the Linux kernel: https://godbolt.org/z/eHFJd8

Warning about casting to an enum seems clearly correct and in scope for this warning. Warning about casting to _Bool seems clearly incorrect and should not be warned about at all.

Maybe we should only warn if the size of the void* is smaller than the size of the enum? (32b void*, 64b enum)? https://godbolt.org/z/oAts-u

Otherwise this warning creates a massive mess for us to clean up, and I suspect Linux kernel developers will just end up disabling the warning.

If deployment is easier if we split out a subgroup that we can turn off, that seems fine. But I don't see any good abstract justification for warning about a cast to int and not a cast to an int-sized enum. What would the reasoning be, just that the latter "couldn't possibly" be intended to preserve the original pointer value, so it must be an opaque value being represented as a void*? That seems pretty weak to me.

Less about enums, more about casts to/from void*, since you might use that in place of a union that would be too large to describe. Specifically, this struct is used throughout the kernel for most drivers: https://elixir.bootlin.com/linux/v5.5.4/source/include/linux/mod_devicetable.h#L260 It is exceedingly common to stuff whatever data in there: https://elixir.bootlin.com/linux/v5.5.4/source/drivers/ata/ahci_brcm.c#L428 so long as the driver is careful not to reinterpret the data as the incorrect type. Describing such a union for ever possible enum packed in there would not be fun.

No, I understand the pattern, but they must have already done some sort of pass over the code to make it warning-clean when they're working with a smaller integer type. Or do they just in practice never store smaller integers in there, whereas it's hard to control size with an enum?

Feb 18 2020, 9:11 PM · Restricted Project
nathanchance added a comment to D72231: [Sema] Adds the pointer-to-int-cast diagnostic.

Warning about casting to an enum seems clearly correct and in scope for this warning. Warning about casting to _Bool seems clearly incorrect and should not be warned about at all.

Feb 18 2020, 2:53 PM · Restricted Project

Feb 16 2020

nathanchance added a comment to D72231: [Sema] Adds the pointer-to-int-cast diagnostic.

There appear to a be semantic difference between GCC and clang with the current version of this patch which results in a lot of additional warnings in the Linux kernel: https://godbolt.org/z/eHFJd8

Feb 16 2020, 9:34 PM · Restricted Project

Feb 11 2020

nathanchance added a comment to D61314: [SCCP] Remove forcedconstant, go to overdefined instead.

The Linux kernel hits the assert in markConstant on arm32 defconfig in net/mac80211/sta_info.o, as reported by Linaro's CI:

Feb 11 2020, 8:22 PM · Restricted Project

Feb 7 2020

nathanchance added a comment to D70072: [ARM] Improve codegen of volatile load/store of i64.

Please revert; I am happy to test a new revision to make sure there are no warnings but I don’t want this shipped in clang-10 and a revert is something that we can easily backport unless you can come up with a fix rather quickly.

Feb 7 2020, 3:29 PM · Restricted Project

Jan 19 2020

nathanchance created D73014: [ThinLTO] Fix up test case after D72658.
Jan 19 2020, 7:08 PM · Restricted Project

Jan 13 2020

nathanchance accepted D72668: [Driver][test] Fix Driver/hexagon-toolchain-elf.c for -DCLANG_DEFAULT_LINKER=lld builds.

This fixes the error for me and looks better from a documentation perspective.

Jan 13 2020, 5:18 PM · Restricted Project
nathanchance added a comment to D70919: [Hexagon] Avoid passing unsupported options to lld when -fuse-ld=lld is used.

I am seeing the same failure that @leonardchan reported above. This is related to -DCLANG_DEFAULT_LINKER=lld:

Jan 13 2020, 4:13 PM · Restricted Project, Restricted Project

Dec 21 2019

nathanchance added a comment to D71627: [Clang FE, SystemZ] Recognize -mrecord-mcount CL option..

This is regressing linux kernel builds for multiple architectures. The linux kernel uses feature detection for compiler flags, basically invoking:

$ clang -mrecord-mcount -target aarch64-linux-gnu -c -x c /dev/null

Because the target info isn't validated until code gen, the above returns 0, which seems like the flag is supported, so it is used for further compilations which then do fail.

I am not sure how this should be handled... Maybe you could open an issue on Bugzilla and add the right people on the CC list (I am not sure exactly who they would be...)?

Dec 21 2019, 10:01 PM

Dec 18 2019

nathanchance added a comment to D70638: [Diagnostic] add a warning which warns about misleading indentation.

As a follow up to my previous post, I have sent patches to clean up all of the warnings that I see in the Linux kernel. However, I found one that I do believe is a false positive:

Dec 18 2019, 6:05 AM · Restricted Project

Dec 4 2019

nathanchance added a comment to D70638: [Diagnostic] add a warning which warns about misleading indentation.

IMO that is misleading indentation. A single space followed by a tab? WTF

Dec 4 2019, 10:45 PM · Restricted Project

Dec 3 2019

nathanchance added a comment to D70638: [Diagnostic] add a warning which warns about misleading indentation.

As an FYI, this appears to cause several false positive warnings with the Linux kernel:

Dec 3 2019, 5:05 PM · Restricted Project

Oct 13 2019

nathanchance accepted D68726: [libc] Do not add unittests LLVM_INCLUDE_TESTS is OFF..
Oct 13 2019, 7:01 PM · Restricted Project

Oct 10 2019

nathanchance added a comment to D68726: [libc] Do not add unittests LLVM_INCLUDE_TESTS is OFF..

Yes, it does! I can approve this if you need it but I am not an expect in cmake so I cannot comment on how proper this is.

Oct 10 2019, 12:21 AM · Restricted Project

Oct 9 2019

nathanchance added a comment to D67867: [libc] Add few docs and implementation of strcpy and strcat..

Just as an FYI, this patch breaks LLVM_INCLUDE_TESTS=OFF for me:

Oct 9 2019, 11:54 AM · Restricted Project, Restricted Project

Aug 29 2019

nathanchance added a comment to D66404: [CFG] Make destructor calls more accurate.

@NoQ thank you for the fix, I can confirm it works!

Aug 29 2019, 10:23 PM · Restricted Project, Restricted Project
nathanchance added a comment to D66404: [CFG] Make destructor calls more accurate.

This commit causes some warnings in the Linux kernel that appear to be false positives. For example:

Aug 29 2019, 12:24 AM · Restricted Project, Restricted Project

Aug 28 2019

nathanchance accepted D66873: [Test][Time profiler] Fix test for python3.

LGTM.

Aug 28 2019, 5:07 PM · Restricted Project, Restricted Project
nathanchance added a comment to D66873: [Test][Time profiler] Fix test for python3.

The test case passes for me after this, thanks for the fix!

Aug 28 2019, 12:01 PM · Restricted Project, Restricted Project

Aug 26 2019

nathanchance added a comment to D66537: [DAGCombiner] Remove a bunch of redundant AddToWorklist calls..

My instrumented stage 2 build fails after this commit with this script.

Aug 26 2019, 4:16 PM · Restricted Project

Aug 23 2019

nathanchance added a comment to D63325: [Support][Time profiler] Make FE codegen blocks to be inside frontend blocks.

Could it be an issue with python? What is the version you are using?

Aug 23 2019, 12:12 PM · Restricted Project, Restricted Project
nathanchance added a comment to D63325: [Support][Time profiler] Make FE codegen blocks to be inside frontend blocks.

Done, thanks for looking into this!

Aug 23 2019, 8:39 AM · Restricted Project, Restricted Project

Aug 22 2019

nathanchance added a comment to D63325: [Support][Time profiler] Make FE codegen blocks to be inside frontend blocks.

This test case has never passed for me with check-clang, is there something environment related that is needed with this or are others experiencing this too?

Aug 22 2019, 10:54 PM · Restricted Project, Restricted Project

Aug 12 2019

nathanchance abandoned D65726: [gold] Fix X86/strip_names.ll after r367755.

Yes, it does look like that is the case, I will abandon this. Thanks for the reply!

Aug 12 2019, 9:47 AM · Restricted Project

Aug 8 2019

nathanchance added inline comments to D65352: [CodeGen] Require a name for a block addr target.
Aug 8 2019, 11:52 AM · Restricted Project
nathanchance added inline comments to D65352: [CodeGen] Require a name for a block addr target.
Aug 8 2019, 11:46 AM · Restricted Project

Aug 4 2019

nathanchance added a comment to rGc9171bd0a955: [x86] change free truncate hook to handle only simple types (PR42880).

This causes a compiler hang (I assume infinite loop or deadlock somewhere) when compiling the Linux kernel.

Aug 4 2019, 7:25 PM
nathanchance created D65726: [gold] Fix X86/strip_names.ll after r367755.
Aug 4 2019, 12:54 PM · Restricted Project
nathanchance updated the summary of D65726: [gold] Fix X86/strip_names.ll after r367755.
Aug 4 2019, 12:54 PM · Restricted Project

Jul 22 2019

nathanchance added a comment to D65108: Reland "driver: Don't warn about assembler flags being unused when not assembling".

I tested this patch on top of r366728 and saw no regressions in my set of kernel builds.

Jul 22 2019, 2:43 PM

Jul 11 2019

nathanchance added a comment to D64527: driver: Don't warn about assembler flags being unused when not assembling.

This change breaks building the Linux kernel for arm32 (at least):

Jul 11 2019, 1:43 AM · Restricted Project

Jun 4 2019

nathanchance added a comment to D62873: Avoid building analyzer plugins if CLANG_ENABLE_STATIC_ANALYZER is OFF.

Thanks for the quick fix, looks good to me!

Jun 4 2019, 1:06 PM · Restricted Project
nathanchance added inline comments to D62445: [test] Fix plugin tests.
Jun 4 2019, 12:11 PM · Restricted Project, Restricted Project

May 21 2019

nathanchance added a comment to D62218: [docs][cmake] document LLVM_ENABLE_PLUGINS.

Is there a point to adding this if it isn't a user selectable option? LLVM_ENABLE_PLUGINS doesn't have an option in any cmake files, it is only ever set.

May 21 2019, 2:45 PM · Restricted Project

Jan 15 2019

nathanchance added inline comments to D56658: [MSP430] Add msp430 toochain.
Jan 15 2019, 1:32 PM
nathanchance added inline comments to D56658: [MSP430] Add msp430 toochain.
Jan 15 2019, 1:14 PM