Page MenuHomePhabricator

bcain (Brian Cain)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 16 2016, 9:22 PM (143 w, 3 d)

Recent Activity

Wed, Aug 14

bcain accepted D66105: Support HEX_32 when building shared objects.
Wed, Aug 14, 7:00 AM · Restricted Project, lld

Thu, Aug 8

bcain committed rG83df122039d1: [clang] add REQUIRES: linux to driver test case (authored by bcain).
[clang] add REQUIRES: linux to driver test case
Thu, Aug 8, 1:13 PM
bcain committed rL368334: [clang] add REQUIRES: linux to driver test case.
[clang] add REQUIRES: linux to driver test case
Thu, Aug 8, 1:12 PM
bcain committed rG37a1aa7eb761: [clang] add REQUIRES to driver test case (authored by bcain).
[clang] add REQUIRES to driver test case
Thu, Aug 8, 1:05 PM
bcain committed rL368332: [clang] add REQUIRES to driver test case.
[clang] add REQUIRES to driver test case
Thu, Aug 8, 1:04 PM
bcain committed rG7b953b6455bb: [clang] Add no-warn support for Wa (authored by bcain).
[clang] Add no-warn support for Wa
Thu, Aug 8, 12:20 PM
bcain committed rL368328: [clang] Add no-warn support for Wa.
[clang] Add no-warn support for Wa
Thu, Aug 8, 12:19 PM
bcain committed rG6dbbd0f34326: [llvm-mc] Add reportWarning() to MCContext (authored by bcain).
[llvm-mc] Add reportWarning() to MCContext
Thu, Aug 8, 12:14 PM
bcain committed rL368327: [llvm-mc] Add reportWarning() to MCContext.
[llvm-mc] Add reportWarning() to MCContext
Thu, Aug 8, 12:13 PM

Fri, Jul 19

bcain accepted D58091: Customize warnings for missing built-in type.

This will appear as a 9.0 regression, right? Let's please consider a way to address it for 9.0 before it's released.

Fri, Jul 19, 2:42 PM · Restricted Project, Restricted Project

Jul 9 2019

bcain abandoned D38630: Avoid 'unused param' warnings for !_LIBCPP_HAS_CATOPEN.

I think this patch is dead; the problem has been solved using _LIBCPP_UNUSED_VAR Is that correct?

Jul 9 2019, 6:50 AM · Restricted Project

Jun 27 2019

bcain added inline comments to D63847: [MC] Add MCInstrAnalysis::evaluateMemoryOperandAddress.
Jun 27 2019, 8:53 AM · Restricted Project
bcain abandoned D54348: Permit multiple .file directives with -g.

Obsoleted by r364039.

Jun 27 2019, 8:04 AM · Restricted Project, debug-info

Jun 5 2019

bcain added a comment to D54348: Permit multiple .file directives with -g.

Ping? Is anybody looking at or working on this? The bug this fixes is one of the issues currently blocking Chrome OS from being able to adopt Dwarf v5, so we are hoping for a fix?

Jun 5 2019, 4:32 PM · Restricted Project, debug-info

May 15 2019

bcain added a comment to D61915: [libcxx] change dylib- XFAILs to UNSUPPORTED.

Maybe the presence of the filesystem header is enough to get some of these tests to pass. [...]

Yes, I think this is exactly what's happening, and this is what I wanted to understand. I think the best solution would be for LIBCXX_ENABLE_FILESYSTEM to actually control whether filesystem is enabled in the library, however this includes:

  • whether we build support for filesystem in the dylib (that's the only thing we already do)
  • whether the <filesystem> header is provided
  • whether we provide operations like std::ifstream::open() on std::filesystem::path & friends

    I think if we had that, then we could rename the lit feature from dylib-has-no-filesystem to just has-no-filesystem, and that feature would be enabled whenever:
  • we are testing back-deployment to a platform that doesn't have dylib support for filesystem (and has availability markup that makes it invalid to use stuff like std::ifstream::open(std::filesystem::path))
  • we are testing libc++ trunk without filesystem support (your use case)

    Is this something you'd be willing to investigate? I think having a good example of how to disable complete features from the library would be useful for other things as well, so this is something we need to do at some point. For example, our story for things like LIBCXX_ENABLE_STDIN and LIBCXX_ENABLE_STDOUT is similarly broken.
May 15 2019, 1:35 PM · Restricted Project
bcain added a comment to D61915: [libcxx] change dylib- XFAILs to UNSUPPORTED.

...

Maybe the presence of the filesystem header is enough to get some of these tests to pass. So maybe I should go ahead and change this patch to do that instead?

May 15 2019, 9:44 AM · Restricted Project
bcain added a comment to D61915: [libcxx] change dylib- XFAILs to UNSUPPORTED.

...

(I'm going to comment on just the variant/optional/ any tests here, because I think they're straightforward).
They're marked as XFAIL when the dylib doesn't have the appropriate exception classes - and they should fail.
They also should fail if they are built with exceptions disabled - because the exceptions will never get thrown. This behavior should be confirmed.

May 15 2019, 9:43 AM · Restricted Project

May 14 2019

bcain added a comment to D61915: [libcxx] change dylib- XFAILs to UNSUPPORTED.

I'd like to better understand what problem this is solving:

  • What platform are you testing on?
  • How did you configure CMake?
  • How do you run lit?
May 14 2019, 3:08 PM · Restricted Project
bcain created D61915: [libcxx] change dylib- XFAILs to UNSUPPORTED.
May 14 2019, 1:17 PM · Restricted Project

May 13 2019

bcain committed rG9423ba812183: [libcxx] teach type_traits test about long uint32_t (authored by bcain).
[libcxx] teach type_traits test about long uint32_t
May 13 2019, 8:40 AM
bcain committed rL360590: [libcxx] teach type_traits test about long uint32_t.
[libcxx] teach type_traits test about long uint32_t
May 13 2019, 8:39 AM
bcain committed rCXX360590: [libcxx] teach type_traits test about long uint32_t.
[libcxx] teach type_traits test about long uint32_t
May 13 2019, 8:38 AM

May 9 2019

bcain updated the diff for D61348: [libcxx] limit debug mode tests on platforms without fork.

Previous patch was missing update to config.py.

May 9 2019, 8:20 AM · Restricted Project
bcain updated the diff for D61348: [libcxx] limit debug mode tests on platforms without fork.

Changed to use 'has-fork' feature instead of 'debug-mode'.

May 9 2019, 8:18 AM · Restricted Project

May 8 2019

bcain added a comment to D61348: [libcxx] limit debug mode tests on platforms without fork.

Changed debug-mode feature to be deactivated when the LIBCXX_TEST_HAVE_FORK option is disabled. This hopefully sidesteps the debate triggered by the previous revision.

May 8 2019, 8:08 AM · Restricted Project

May 7 2019

bcain added a comment to D61655: [libcxx] teach type_traits test about long uint32_t.

This LGTM.

Although wouldn't unsigned int be the correct choice on all platforms? Because the issue only arises because sometimes uint32_t is unsigned long instead of unsigned int?

May 7 2019, 5:48 PM · Restricted Project
bcain created D61655: [libcxx] teach type_traits test about long uint32_t.
May 7 2019, 1:56 PM · Restricted Project
bcain added a comment to D61130: [llvm-mc] Add reportWarning() to MCContext.

More context for this change:

May 7 2019, 9:28 AM · Restricted Project, Restricted Project

May 3 2019

bcain committed rG3428c9daef9d: [hexagon] change AsmParser assertion to error (authored by bcain).
[hexagon] change AsmParser assertion to error
May 3 2019, 9:49 AM
bcain committed rL359905: [hexagon] change AsmParser assertion to error.
[hexagon] change AsmParser assertion to error
May 3 2019, 9:49 AM
bcain added a comment to D61130: [llvm-mc] Add reportWarning() to MCContext.

ping! any comments or concerns about this change?

May 3 2019, 7:17 AM · Restricted Project, Restricted Project

May 1 2019

bcain added reviewers for D61130: [llvm-mc] Add reportWarning() to MCContext: sgundapa, bcahoon.
May 1 2019, 9:19 PM · Restricted Project, Restricted Project
bcain committed rG9d744bcde993: [libcxx] cmake - guard list remove (authored by bcain).
[libcxx] cmake - guard list remove
May 1 2019, 8:48 PM
bcain committed rCXX359755: [libcxx] cmake - guard list remove.
[libcxx] cmake - guard list remove
May 1 2019, 8:48 PM
bcain committed rL359755: [libcxx] cmake - guard list remove.
[libcxx] cmake - guard list remove
May 1 2019, 8:48 PM
bcain added a comment to D61403: [libcxx] cmake - guard list remove.

I have a workaround for this locally. I guess this is only relevant with older CMakes.

May 1 2019, 4:24 PM · Restricted Project
bcain created D61403: [libcxx] cmake - guard list remove.
May 1 2019, 2:29 PM · Restricted Project
bcain updated the diff for D61348: [libcxx] limit debug mode tests on platforms without fork.

Changed debug-mode feature to be deactivated when the LIBCXX_TEST_HAVE_FORK option is disabled. This hopefully sidesteps the debate triggered by the previous revision.

May 1 2019, 10:41 AM · Restricted Project
bcain added reviewers for D61309: [clang] Add no-warn support for Wa: sgundapa, pgousseau, bcahoon.
May 1 2019, 8:23 AM · Restricted Project
bcain added a comment to D61348: [libcxx] limit debug mode tests on platforms without fork.

These tests turn on debug mode themselves - they don't need to be limited the configurations where the user turns it on.

These tests need to be fixed so that they DTRT when the user specifies -debug_level=X (where X is 0/1) as a LIT param as well.

May 1 2019, 7:34 AM · Restricted Project

Apr 30 2019

bcain created D61348: [libcxx] limit debug mode tests on platforms without fork.
Apr 30 2019, 3:13 PM · Restricted Project
bcain added a comment to D61133: [hexagon] change AsmParser assertion to error.

ping? any comments/concerns?

Apr 30 2019, 2:54 PM · Restricted Project
bcain updated the diff for D61130: [llvm-mc] Add reportWarning() to MCContext.

Add context, add clang update.

Apr 30 2019, 6:50 AM · Restricted Project, Restricted Project
bcain created D61309: [clang] Add no-warn support for Wa.
Apr 30 2019, 6:43 AM · Restricted Project

Apr 25 2019

bcain accepted D61092: [llvm-strip] Have --discard-all imply --strip-debug.
Apr 25 2019, 1:13 PM · Restricted Project
bcain updated the diff for D61133: [hexagon] change AsmParser assertion to error.

Added context lines.

Apr 25 2019, 10:03 AM · Restricted Project
bcain created D61133: [hexagon] change AsmParser assertion to error.
Apr 25 2019, 8:18 AM · Restricted Project
bcain created D61130: [llvm-mc] Add reportWarning() to MCContext.
Apr 25 2019, 8:04 AM · Restricted Project, Restricted Project

Apr 24 2019

bcain accepted D58843: [WIP][MC][RISCV] Allow targets to defer forcing relocations.
Apr 24 2019, 7:13 AM · Restricted Project

Apr 23 2019

bcain requested changes to D58843: [WIP][MC][RISCV] Allow targets to defer forcing relocations.
Apr 23 2019, 8:01 AM · Restricted Project

Mar 26 2019

bcain added a comment to D58091: Customize warnings for missing built-in type.

I think this warning (-Wbuiltin-requires-header) doesn't really make sense as its own warning.

We already have two related (on-by-default) warnings.

...

Mar 26 2019, 10:20 AM · Restricted Project, Restricted Project

Feb 28 2019

bcain added a comment to D58091: Customize warnings for missing built-in type.

I did address the comments but I will wait until I hear back on the "warning vs warning + note question".

...

I do not have strong feelings about this, either way is fine with me. However, I lack the
clang expertise to make such a change happen anytime soon which makes this patch
(with actual fix for the warning on pthread_create) my prefered first step.

Feb 28 2019, 2:42 PM · Restricted Project, Restricted Project

Feb 26 2019

Herald updated subscribers of D57244: [AsmPrinter] Remove hidden flag -print-schedule..
Feb 26 2019, 7:04 AM · Restricted Project

Feb 25 2019

bcain added inline comments to D58091: Customize warnings for missing built-in type.
Feb 25 2019, 12:51 PM · Restricted Project, Restricted Project

Feb 20 2019

bcain accepted D58091: Customize warnings for missing built-in type.

I can confirm that this fix is effective at addressing the problem we experienced.

Feb 20 2019, 7:08 AM · Restricted Project, Restricted Project

Feb 13 2019

bcain added a comment to D58091: Customize warnings for missing built-in type.

Are you sure it is unrelated?

Feb 13 2019, 9:33 AM · Restricted Project, Restricted Project
bcain added a comment to D58091: Customize warnings for missing built-in type.

I reported PR40692. I just tried this patch on our local build where we saw the failure on an RTOS implementing pthreads. Unfortunately with this patch I encountered an (unrelated) assertion. So this fix was inconclusive for me (for now). I will follow up but if this fix makes sense then you don't need to wait for my test results.

Feb 13 2019, 8:21 AM · Restricted Project, Restricted Project

Nov 12 2018

bcain added a comment to D54348: Permit multiple .file directives with -g.

...

So probably need to have some discussion about when/where/if this should fire.

Nov 12 2018, 3:32 PM · Restricted Project, debug-info

Nov 9 2018

bcain added a comment to D54348: Permit multiple .file directives with -g.

The directive_file-4.s test passes and no existing tests fail with this change.

Nov 9 2018, 1:28 PM · Restricted Project, debug-info
bcain created D54348: Permit multiple .file directives with -g.
Nov 9 2018, 1:07 PM · Restricted Project, debug-info

Sep 4 2018

bcain committed rCRT341442: Add glibc_prereq to platform limits mmsghdr.
Add glibc_prereq to platform limits mmsghdr
Sep 4 2018, 7:17 PM
bcain committed rL341442: Add glibc_prereq to platform limits mmsghdr.
Add glibc_prereq to platform limits mmsghdr
Sep 4 2018, 7:17 PM
bcain updated the diff for D51538: Add glibc_prereq to platform limits mmsghdr.

Updated per review, test-release.sh build completes w/this patch on sles11.3.

Sep 4 2018, 8:12 AM

Aug 31 2018

bcain added inline comments to D51538: Add glibc_prereq to platform limits mmsghdr.
Aug 31 2018, 2:54 PM
bcain created D51538: Add glibc_prereq to platform limits mmsghdr.
Aug 31 2018, 5:47 AM

Aug 28 2018

bcain accepted D51363: Add support for getRegisterByName..
Aug 28 2018, 11:49 AM
bcain committed rL340839: [debuginfo] generate debug info with asm+.file.
[debuginfo] generate debug info with asm+.file
Aug 28 2018, 9:24 AM
bcain closed D51315: [debuginfo] generate debug info with asm+.file.
Aug 28 2018, 9:24 AM

Aug 27 2018

bcain added a comment to D51315: [debuginfo] generate debug info with asm+.file.

The indentation in the test looks a little odd. Please verify there are no hard tabs.
Otherwise LGTM.

Please cite the PR number in the commit message, when you push this.

Aug 27 2018, 1:34 PM
bcain updated the diff for D51315: [debuginfo] generate debug info with asm+.file.
  • Changed indentation for nop
  • Added PR number to summary
Aug 27 2018, 1:33 PM
bcain added a comment to D51315: [debuginfo] generate debug info with asm+.file.

Comments:

Aug 27 2018, 11:24 AM
bcain created D51315: [debuginfo] generate debug info with asm+.file.
Aug 27 2018, 11:21 AM

Aug 24 2018

bcain updated subscribers of D51144: Implemented Protobuf fuzzer for LLVM RISC-V MC Assembler.
Aug 24 2018, 4:20 PM

Aug 17 2018

bcain abandoned D41727: [libcxx] Disable tautological-type-limit-compare warning.

I think this is now obsolete due to clang changing the warning.

Aug 17 2018, 12:42 PM

Aug 16 2018

bcain closed D48913: [llvm-mc-assemble-fuzzer] Update API - Pass MCObjectWriter instead of a stream.

r339981

Aug 16 2018, 9:53 PM
bcain committed rL339981: [llvm-mc-assemble-fuzzer] Update API - Pass MCObjectWriter instead of a stream.
[llvm-mc-assemble-fuzzer] Update API - Pass MCObjectWriter instead of a stream
Aug 16 2018, 9:39 PM
bcain committed rL339979: [hexagon] restore -fuse-cxa-atexit by default.
[hexagon] restore -fuse-cxa-atexit by default
Aug 16 2018, 8:54 PM
bcain committed rC339979: [hexagon] restore -fuse-cxa-atexit by default.
[hexagon] restore -fuse-cxa-atexit by default
Aug 16 2018, 8:54 PM
bcain closed D50816: [hexagon] restore -fuse-cxa-atexit by default.
Aug 16 2018, 8:54 PM
bcain closed D50816: [hexagon] restore -fuse-cxa-atexit by default.
Aug 16 2018, 8:54 PM
bcain added a reviewer for D50816: [hexagon] restore -fuse-cxa-atexit by default: kparzysz.
Aug 16 2018, 8:42 AM
bcain accepted D48913: [llvm-mc-assemble-fuzzer] Update API - Pass MCObjectWriter instead of a stream.

Should we have this build configuration in a buildbot?

Aug 16 2018, 5:15 AM

Aug 15 2018

bcain created D50816: [hexagon] restore -fuse-cxa-atexit by default.
Aug 15 2018, 3:25 PM

Aug 13 2018

bcain accepted D50657: Add R_HEX_32 relocation support.

LGTM

Aug 13 2018, 12:37 PM
bcain added inline comments to D50592: Add check for tied operands.
Aug 13 2018, 7:31 AM

Jul 20 2018

bcain accepted D49567: Add R_HEX_B15_PCREL_X relocation.
Jul 20 2018, 10:40 AM · lld

May 11 2018

bcain accepted D46728: Update Hexagon's relocation output.

LGTM

May 11 2018, 9:41 AM

May 8 2018

bcain accepted D46364: Add basic compiler-rt builtins support for hexagon.
May 8 2018, 11:26 AM

Mar 2 2018

bcain accepted D43951: [RFC] llvm-mca: a static performance analysis tool..

FYI several of the issues that I found are ones that I discovered when I tried to build the patch with 6.0.rc2. Also, I didn't get to detail them here but there were warnings regarding virtual methods w/o virtual destructor. I believe those were on the classes inherited from HWEventListener.

Mar 2 2018, 6:21 AM

Mar 1 2018

bcain requested changes to D43951: [RFC] llvm-mca: a static performance analysis tool..

Thanks for the contribution, it looks interesting.

Mar 1 2018, 12:17 PM

Jan 18 2018

bcain updated the diff for D41727: [libcxx] Disable tautological-type-limit-compare warning.

Changed per review

Jan 18 2018, 9:50 AM

Jan 17 2018

bcain added a comment to D41727: [libcxx] Disable tautological-type-limit-compare warning.

LGTM with the change mentioned by @lebedev.ri .

Jan 17 2018, 3:23 PM

Jan 11 2018

bcain abandoned D27715: libcxx std::condition_variable::wait_for() fix for when tick occurs during wait_for().

this was committed by Marshall

Jan 11 2018, 12:45 PM

Jan 4 2018

bcain added a comment to D41727: [libcxx] Disable tautological-type-limit-compare warning.

Note that it won't help for the cases where libc++ is used, and -Wextra -Wsystem-headers is specified.

Jan 4 2018, 9:09 AM
bcain created D41727: [libcxx] Disable tautological-type-limit-compare warning.
Jan 4 2018, 8:54 AM

Dec 19 2017

bcain added a comment to D39462: [Sema] Implement -Wmaybe-tautological-constant-compare for when the tautologicalness is data model dependent.

FWIW we've already rolled Clang that contains -Wtautological-constant-compare to our codebase and we had to set -Wno-tautological-constant-compare globally because we were getting bogus warnings in many places, similarly to D41368. If that warning ships as part of Clang 6, it's going to be be a major pain for many users so we really need some solution.

Dec 19 2017, 11:26 AM · Restricted Project, Restricted Project
bcain added a comment to D41368: [libc++] Ignore bogus tautologic comparison warnings.

@mclow.lists are you okay with this approach? I'm also fine using a cast to silence the warning, as @zturner suggested, but we should suppress the warning in some way, otherwise libc++ 6 is gonna have compile warnings with clang 6 out of the box, which isn't great.

A third alternative, which is the least invasive, though not complete in some sense: we just add -Wno-tautological-constant-compare to the compile flags for libc++ (in CMake), to suppress the warning during libc++'s compilation. There's still an instance of the warning in a header, but all other clients of the header should treat it as a system header (in which case warnings will be suppressed anyway). It's not targeted at all and could suppress legitimate instances of the warning though.

Dec 19 2017, 8:56 AM

Dec 18 2017

bcain added a comment to D39149: [libc++] Prevent tautological comparisons.

I confirmed that these warnings go away with D39462 applied, and they reappear if I manually specify -Wmaybe-tautological-constant-compare. Thank you!

Dec 18 2017, 7:40 AM

Dec 16 2017

bcain added a comment to D41316: [libcxx] Allow random_device to be built optionally.

I'd much rather provide no implementation than one that lies. Broken builds are much safer than problems at runtime.

Dec 16 2017, 2:37 PM

Nov 27 2017

bcain added a comment to D31739: Add markup for libc++ dylib availability.

I think some of the XFAIL: availability may be wrong here. I'd submit a patch, but it's not clear to me what the appropriate fix is.

Nov 27 2017, 3:06 PM · Restricted Project