- User Since
- Apr 13 2018, 4:23 PM (145 w, 5 d)
Mon, Jan 25
Thu, Jan 21
- replace double negation with explicit not nullptr comparison
Wed, Jan 20
@nathanchance verified this patch fixes the regression and doesn't appear to regress any of our other builds in https://github.com/ClangBuiltLinux/linux/issues/1261#issuecomment-763904779.
- remove dead function from test
Tue, Jan 19
- drop test metadata and fn attrs, unnecessary.
- fix comment in test
Fri, Jan 15
Thu, Jan 14
drop old pass manager test from callbr-critical-edge-splitting2.ll since it does not add signal
- use CHECK-NEXT, drop -passes=loop-reduce
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?
- run the same invocations for both tests, remove unnecessary target_triple
- add comments and FileCheck to tests
- mv my test
- remove comment from test, simplify lambda
- rebase, fix check for only non-default destination edges as per Bill
- looks like this also fixes Fixes: https://github.com/ClangBuiltLinux/linux/issues/1252 / D94470
- Added test case from D94470.
Patch fixes the reported bug; added test cases produces a crash before patch is applied. LGTM with minor nit.
Wed, Jan 13
Tue, Jan 12
Patch LGTM; just curious about the comment, since that's not what's occurring in the test AFAICT. Thanks for the patch!
ah! probably not, let me rebuild
I guess the presence of the profile data makes it difficult to use bugpoint to reduce the test case more?
Mon, Jan 11
Sure. I'll commit it.
This differs from the little endian targets, which always pass
Fri, Jan 8
Much thanks for the patch!
Compiler crash reported in: https://bugs.llvm.org/show_bug.cgi?id=48695
Thu, Jan 7
$ clang -E -fno-integrated-cc1 x.c | tee foo.txt |head
Wed, Jan 6
It sounds like portage should be using something like setuidgid to drop privileges for parts of the build.
Tue, Jan 5
Dec 23 2020
TODO: fix failing tests:
Dec 22 2020
The commit message of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f923efbcfdbaa4391874eeda676b08fcf9ad6e99 also has good background/history.
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.
Dec 17 2020
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 16 2020
Thanks for the patch!
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.
According to ISA 3.1 https://ibm.ent.box.com/s/hhjfw0x0lrbtyzmiaffnbxh2fuo0fog0 Page 1239 there are only two forms
Dec 14 2020
Dec 10 2020
Thanks for the patch.
Dec 7 2020
@lebedev.ri would you mind re-reviewing when you have a chance?