Page MenuHomePhabricator
Feed Advanced Search

Sep 12 2018

srhines added a comment to D51713: Support -fno-omit-frame-pointer with -pg..

What is the call generated with -pg for AMR32, gnu_mcount_nc or _mount? gnu_mcount_nc with "-pg" is known to be broken ( https://bugs.llvm.org/show_bug.cgi?id=33845)

Sep 12 2018, 2:41 PM

Sep 7 2018

srhines accepted D51693: ADT: add <bit> header, implement C++20 bit_cast, use.

Union punning is one of my pet peeves, so I am glad to see this. bit_cast seems generally useful too, so thanks for adding it.

Sep 7 2018, 11:33 AM

Sep 5 2018

srhines added a comment to D51671: [ELF] Set Out::TlsPhdr earlier for encoding packed reloc tables.

Thanks for the update. I'll let the project maintainers give a final LGTM, but I'm happy with it.

Sep 5 2018, 7:55 PM
srhines added a comment to D51713: Support -fno-omit-frame-pointer with -pg..

http://b/32510864 was the internal bug request, so I am noting it here for future reference, but I think that the patch itself is pretty self-explanatory (rather than filing a distinct upstream bug about this issue).

Sep 5 2018, 7:40 PM
srhines added a comment to D51713: Support -fno-omit-frame-pointer with -pg..

This was discovered in the Android build system (which passes -fomit-frame-pointer by default for ARM configurations. This leads to the inability to specify -pg, since there is no way to override the mere presence of -fomit-frame-pointer.

Sep 5 2018, 7:39 PM
srhines updated subscribers of D51713: Support -fno-omit-frame-pointer with -pg..
Sep 5 2018, 7:37 PM
srhines created D51713: Support -fno-omit-frame-pointer with -pg..
Sep 5 2018, 7:37 PM
srhines added inline comments to D51671: [ELF] Set Out::TlsPhdr earlier for encoding packed reloc tables.
Sep 5 2018, 2:35 AM
srhines added a comment to D51671: [ELF] Set Out::TlsPhdr earlier for encoding packed reloc tables.

Thanks for the detailed explanations. I only had one minor nitpick.

Sep 5 2018, 1:04 AM

Aug 31 2018

srhines added inline comments to D51538: Add glibc_prereq to platform limits mmsghdr.
Aug 31 2018, 3:23 PM
srhines added inline comments to D51538: Add glibc_prereq to platform limits mmsghdr.
Aug 31 2018, 3:05 PM
srhines added a comment to D51538: Add glibc_prereq to platform limits mmsghdr.

Please upload patches with context, as it makes it easier to review. https://llvm.org/docs/Phabricator.html has instructions on how to do this (search for "context").

Aug 31 2018, 10:37 AM
srhines accepted D51521: Refactor Addlibgcc to make the when and what logic more straightfoward..

Thanks for cleaning this up and adding better checks for Android. :)

Aug 31 2018, 9:34 AM

Aug 30 2018

srhines added inline comments to D51502: [X86] Fix register resizings for inline assembly register operands..
Aug 30 2018, 1:11 PM

Aug 28 2018

srhines accepted D45588: Start reserving x18 by default on Android targets..

Sorry, this got buried in my inbox back in April right before EuroLLVM.

Aug 28 2018, 6:00 PM

Aug 21 2018

srhines accepted D51068: [Android] Default to -fno-math-errno.
Aug 21 2018, 5:28 PM
srhines added inline comments to D51002: [Tooling] Allow -flto flags and filter out -Wa, flags.
Aug 21 2018, 3:12 PM

Jul 26 2018

srhines committed rL338062: Handle the lack of a symbol table correctly..
Handle the lack of a symbol table correctly.
Jul 26 2018, 1:06 PM
srhines closed D49534: Handle the lack of a symbol table correctly..
Jul 26 2018, 1:05 PM
srhines added a comment to D49534: Handle the lack of a symbol table correctly..

@srhines - is there anything blocking this diff ?

Jul 26 2018, 1:01 PM

Jul 24 2018

srhines added a comment to D49751: Add maybe-unused attribute to a variable..

Definitely deal with the submodule stuff. We don't want a new file checked in for tools/clang.

Jul 24 2018, 1:19 PM

Jul 20 2018

srhines added a comment to D49534: Handle the lack of a symbol table correctly..

I restored the original change, since I had confused things with arcanist before. PTAL

Jul 20 2018, 3:50 PM
srhines updated the diff for D49534: Handle the lack of a symbol table correctly..

Revert back to not layering the positional argument change.

Jul 20 2018, 3:48 PM

Jul 19 2018

srhines abandoned D49537: Fix positional output argument for llvm-strip..

Gah, you are correct. Our Android build system had grown to depend on this behavior from llvm-strip previously. Doing an update now is how I am finding all of these issues. I'll fix it in our build system and abandon this CL. Thanks for the review.

Jul 19 2018, 12:38 PM
srhines updated the diff for D49537: Fix positional output argument for llvm-strip..

Switch to using .back() because I was lazy in the first upload. :)

Jul 19 2018, 4:30 AM
srhines created D49537: Fix positional output argument for llvm-strip..
Jul 19 2018, 4:17 AM
srhines updated the diff for D49534: Handle the lack of a symbol table correctly..
  • Fix positional output argument for llvm-strip.
Jul 19 2018, 4:06 AM
srhines updated the diff for D49534: Handle the lack of a symbol table correctly..

Ran git-clang-format and added rationale to the test.

Jul 19 2018, 1:55 AM
srhines created D49534: Handle the lack of a symbol table correctly..
Jul 19 2018, 1:51 AM

Jul 12 2018

srhines committed rL336921: Add --strip-all option back to llvm-strip..
Add --strip-all option back to llvm-strip.
Jul 12 2018, 10:47 AM
srhines closed D49226: Add --strip-all option back to llvm-strip..
Jul 12 2018, 10:47 AM
srhines created D49226: Add --strip-all option back to llvm-strip..
Jul 12 2018, 2:56 AM

Jul 10 2018

srhines committed rCRT336749: Add libcxxabi option back for sanitizer use..
Add libcxxabi option back for sanitizer use.
Jul 10 2018, 5:55 PM
srhines committed rL336749: Add libcxxabi option back for sanitizer use..
Add libcxxabi option back for sanitizer use.
Jul 10 2018, 5:55 PM
srhines closed D49157: Add libcxxabi option back for sanitizer use..
Jul 10 2018, 5:55 PM
srhines added a comment to D49157: Add libcxxabi option back for sanitizer use..

Thanks for the quick review.

Jul 10 2018, 5:47 PM
srhines added a comment to D49157: Add libcxxabi option back for sanitizer use..

https://reviews.llvm.org/D47100 is the commit where this got dropped.

Jul 10 2018, 3:07 PM
srhines updated subscribers of D49157: Add libcxxabi option back for sanitizer use..
Jul 10 2018, 3:06 PM
srhines created D49157: Add libcxxabi option back for sanitizer use..
Jul 10 2018, 3:05 PM

Jul 6 2018

srhines abandoned D48459: Respect CMAKE_SYSROOT and CMAKE_CROSSCOMPILING when searching for libxml2..

Removed this in favor of the suggestions here. Setting the CMAKE_FIND_ROOT_PATH_MODE* variables does make this properly hermetic.

Jul 6 2018, 8:58 PM
srhines abandoned D48458: Respect CMAKE_SYSROOT and don't search out libxml2 if it is set..

Removed this in favor of the suggestions in https://reviews.llvm.org/D48459. Setting the CMAKE_FIND_ROOT_PATH_MODE* variables does make this properly hermetic.

Jul 6 2018, 8:58 PM

Jul 3 2018

srhines added a comment to D48538: Make __gcov_flush flush counters for all shared libraries.

On Tue, Jul 3, 2018 at 4:29 PM Marco Castelluccio via Phabricator <reviews@reviews.llvm.org> wrote:

marco-c updated this revision to Diff 154015.
marco-c added a comment.

I've taken another approach which looks simpler to me. Instead of having two lists, I only have a shared list and I use a static variable's address as an identifier for a dynamic object.

I've also added another test (which would have failed with the previous iteration of the patch) which dlopens three libraries.

I will file follow-up bugs for things that don't look right in the llvm-cov output which are not regressions from this patch:

- instrprof-shared-main-gcov-flush_no-writeout.c.gcov: lines 23, 26 and 30 should not be covered; lines 33 and 35 should not be covered (they are considered as uncoverable instead).
- instrprof-dlopen-func{2,3}.c.gcov: the only line in the function should be covered once and not thrice

Regarding removing writeout and only always using __gcov_flush, do you see any disadvantage if we do that?

writeout function only writes the profile for the current dynamic module which is different from the behavior of __gcov_flush. The form is expected when shared lib is unloaded -- i.e., do not dump other load module's profile unless being explicitly told so (to use gcov_flush). The write out is similar to gcc's gcov_exit. In short, we should keep it as it is.

Sorry, what I meant is that we could remove llvm_gcov_writeout and only keep llvm_gcov_flush (they are defined in lib/Transforms/Instrumentation/GCOVProfiling.cpp and passed to llvm_gcov_init). We currently have writeout functions and flush functions, where the difference is just that the flush function is also resetting the counters to 0.
At exit, instead of calling llvm_gcov_writeout, we could call llvm_gcov_flush. Since we are at exit, the fact that we reset the counters to 0 for the current module doesn't matter (as the module is not usable anymore after that).
At exit we would still call llvm_gcov_flush only for the module that is exiting, at gcov_flush we would call __llvm_gcov_flush for all modules.

Regarding llvm_gcov_flush that was recently added, should I remove it since we can now unhide __gcov_flush?

I suggest we keep it -- there is no harm keeping it. llvm_gcov_flush can be documented to be always non hidden. There might also be a use case that user want to discover the dumper using dlsym, but only want to dump profile for that shared library. In that case, a symbol with protected visibility is needed which is a wrapper to the write-out method.

Should we make llvm_gcov_flush hidden and gcov_flush unhidden then? gcov_flush unhidden would be for compatibility with GCC.

Jul 3 2018, 5:31 PM

Jun 29 2018

srhines added inline comments to D48791: [AArch64] Implement execute-only CodeGen Support..
Jun 29 2018, 3:09 PM
srhines added a comment to D48791: [AArch64] Implement execute-only CodeGen Support..

This is really cool. I just had one minor suggestion for testing, and will otherwise defer to the ARM64-related folks to accept the patch. The rest looks quite reasonable to me, though.

Jun 29 2018, 2:51 PM
srhines added a comment to D45454: Add llvm_gcov_flush to be called outside a shared library.

LGTM. Thanks for making the checking more clear. This should help bridge the gap for now, so that we can resume getting per-library profile data in Android.

Jun 29 2018, 2:28 PM
srhines added a comment to D45454: Add llvm_gcov_flush to be called outside a shared library.

Thanks for picking this up again and updating the change to add llvm_gcov_flush().

Jun 29 2018, 11:02 AM

Jun 26 2018

srhines added a comment to D48459: Respect CMAKE_SYSROOT and CMAKE_CROSSCOMPILING when searching for libxml2..

Actually, I would imagine that if you're cross-compiling or using a custom sysroot, you should probably also specify CMAKE_FIND_ROOT_PATH and set CMAKE_FIND_ROOT_PATH_MODE_PACKAGE to ONLY, to limit all these searches to the desired directories?

(I'm actually playing around with a bunch of this stuff myself right now. I'm curious about your CMake setup for a custom sysroot or cross-compilation and what issues you've come across.)

Jun 26 2018, 9:13 PM
srhines added a comment to D48580: [AArch64] Support reserving x1-7 registers..

x1-x7 are argument registers in the calling convention; what's supposed to happen if there's a call in the code?

I can see two possibilities:

  1. We emit an error.
  2. We change the calling convention so it doesn't use the reserved register.

    Your patch implements neither of these choices; instead, it will just miscompile.
Jun 26 2018, 5:18 PM
srhines added a comment to D45454: Add llvm_gcov_flush to be called outside a shared library.

GCC's behavior is not documented and it also has changed over the years.

Unless there is a bug, changing LLVM's gcov_flush visibility can potentially break clients that depend on this behavior.

Jun 26 2018, 2:43 PM
srhines requested changes to D48580: [AArch64] Support reserving x1-7 registers..
Jun 26 2018, 2:36 PM
srhines updated subscribers of D48580: [AArch64] Support reserving x1-7 registers..
Jun 26 2018, 2:32 PM

Jun 25 2018

srhines accepted D48570: [Driver] Do not add -lpthread & -lrt with -static-libsan on Android.

Agree. This is the first time anyone is linking against static sanitizers on Android, so this is just something that we missed updating in the past.

Jun 25 2018, 4:02 PM
srhines added a comment to D48459: Respect CMAKE_SYSROOT and CMAKE_CROSSCOMPILING when searching for libxml2..

Rui, I added you to this review (and the other corresponding one), as you reviewed ecbeckmann's original work here. Can you take a quick look at these? Thanks.

Jun 25 2018, 1:45 PM
srhines added a reviewer for D48459: Respect CMAKE_SYSROOT and CMAKE_CROSSCOMPILING when searching for libxml2.: ruiu.
Jun 25 2018, 1:44 PM
srhines added a reviewer for D48458: Respect CMAKE_SYSROOT and don't search out libxml2 if it is set.: ruiu.
Jun 25 2018, 1:43 PM

Jun 21 2018

srhines created D48459: Respect CMAKE_SYSROOT and CMAKE_CROSSCOMPILING when searching for libxml2..
Jun 21 2018, 3:00 PM
srhines created D48458: Respect CMAKE_SYSROOT and don't search out libxml2 if it is set..
Jun 21 2018, 3:00 PM

Jun 7 2018

srhines added a comment to D47894: [clang]: Add support for "-fno-delete-null-pointer-checks".

The problem would come from propagating nonnull-ness from something which isn't inherently nonnull. For example, strlen has a nonnull argument, so strlen(NULL) is UB, therefore given int z = strlen(x); if (x) {...}, we can remove the null check. (Not sure we actually do this transform at the moment, but it's something we could do in the future.)

I think the question there is actually whether we need to, in addition to supporting null pointer dereference, also cause all __attribute__((nonnull)) annotations at the C/C++ level to be ignored.

And, yes, I believe we should.

Jun 7 2018, 6:13 PM

May 23 2018

srhines accepted D46978: [builtins] Delay emutls deallocation for one round.

Everything looks great now. Thanks again, Ryan!

May 23 2018, 2:38 AM

May 17 2018

srhines added inline comments to D47002: [Analysis] Only use _unlocked stdio functions on linux.
May 17 2018, 12:51 AM
srhines accepted D46978: [builtins] Delay emutls deallocation for one round.

Thanks, Ryan, for chasing this down (literally), and restoring some sanity to teardown.

May 17 2018, 12:19 AM

May 1 2018

srhines added a comment to D46300: [Clang] Implement function attribute no_stack_protector..

Looks fine. Please wait for a more experienced person to review this, however. Thanks for adding this feature.

May 1 2018, 9:39 AM

Apr 30 2018

srhines accepted D45291: [Driver] Infer Android sysroot location..

Thanks for adding this simplified support. Sorry about the extreme delay in getting these reviewed.

Apr 30 2018, 4:53 PM
srhines accepted D45292: [Driver] Obey computed sysroot when finding libc++ headers..
Apr 30 2018, 4:51 PM

Apr 4 2018

srhines accepted D44995: [Driver] Include the Android multiarch includes..

Thanks for adding this support. Sorry about the delay in reviewing.

Apr 4 2018, 1:58 PM

Mar 27 2018

srhines added a comment to D44945: Always have std::condition_variable wait on CLOCK_MONOTONIC on Android.

Tom, large chunks of that last comment should probably be part of the CL description, as it outlines exactly why this approach was chosen. Sure, it's in the phabricator notes, but it would probably be better in a more easily accessible spot (especially since people might have questions about this code in the future).

Mar 27 2018, 7:11 PM

Mar 23 2018

srhines accepted D44852: [CodeGen] Mark fma as const for Android.
Mar 23 2018, 6:51 PM

Mar 22 2018

srhines added a comment to D44815: [AArch64]: Add support for parsing rN registers..

Peter also requested that a test be added to make sure that rY was not accepted by the Clang assembler as a true synonym for xY.

Mar 22 2018, 9:29 PM

Mar 7 2018

srhines accepted D44229: Don't use -pie in relocatable link..

Thanks for fixing this quickly. :)

Mar 7 2018, 3:06 PM

Mar 2 2018

srhines added a comment to D42970: [ARM] Fix codegen for VLD3/VLD4/VST3/VST4 with WB.

LGTM. Thanks for fixing this and thanks to samparker for reviewing and fhahn submitting it.

Mar 2 2018, 9:06 AM

Mar 1 2018

srhines added a comment to D42970: [ARM] Fix codegen for VLD3/VLD4/VST3/VST4 with WB.

Is this waiting on anything else? It looks like the approval happened at the same time as your last message.

Mar 1 2018, 1:44 PM

Feb 22 2018

srhines added a comment to D42970: [ARM] Fix codegen for VLD3/VLD4/VST3/VST4 with WB.

https://reviews.llvm.org/D42967 is blocking this, but it would be great to get this into our next toolchain update.

Feb 22 2018, 8:49 AM
srhines added a comment to D42967: [ARM] Fix PR36249: add expansion rule for VLD1d64 pseudo with reg WB.

This is blocking https://reviews.llvm.org/D42970, which we would also like to see fixed. This patch seems fairly straightforward to me, although I don't want to approve an ARM backend change.

Feb 22 2018, 8:47 AM
srhines added a reviewer for D42967: [ARM] Fix PR36249: add expansion rule for VLD1d64 pseudo with reg WB: kristof.beyls.
Feb 22 2018, 8:45 AM

Feb 21 2018

srhines added a comment to D42999: [TLS] use emulated TLS if the target supports only this mode.

James, can you comment on whether this meets your expectations here? This works fine with emulated-tls disabled as well.

Feb 21 2018, 3:16 PM

Feb 16 2018

srhines abandoned D42676: Add support for LLVM_REPOSITORY_STRING..

I'm going to solve this a different way.

Feb 16 2018, 4:52 PM

Feb 15 2018

srhines added a comment to D42274: [Support] Remove the terminfo dependency and rely on TERM.

https://github.com/android-ndk/ndk/issues/574 shows that this is becoming more of a problem for Android's users as well. I'm willing to +1 the ideas here too. It would be better to just not depend on these other libraries at all for general LLVM.

Feb 15 2018, 5:21 PM

Feb 13 2018

srhines added inline comments to D42999: [TLS] use emulated TLS if the target supports only this mode.
Feb 13 2018, 9:17 AM

Feb 12 2018

srhines added a comment to D43203: [Driver] Generate .eh_frame_hdr for static executables too..

LGTM, but we should make sure that there are no objections, especially since there is no rationale for why this was present to begin with.

Feb 12 2018, 12:54 PM

Jan 30 2018

srhines added a comment to D42722: [MC] Fix assembler infinite loop on EH table using LEB padding.

This looks great. Thanks for resolving this problem.

Jan 30 2018, 5:35 PM
srhines added inline comments to D42668: [Analysis] Disable calls to *_finite and other glibc-only functions on Android..
Jan 30 2018, 1:04 AM

Jan 29 2018

srhines created D42676: Add support for LLVM_REPOSITORY_STRING..
Jan 29 2018, 7:14 PM
srhines added a reviewer for D42676: Add support for LLVM_REPOSITORY_STRING.: beanz.
Jan 29 2018, 7:14 PM

Jan 22 2018

srhines accepted D42288: [Analysis] Disable exp/exp2/pow finite lib calls on Android with -ffast-math..

Thanks for fixing this. We were just starting to encounter build issues with the _finite functions, and wondering about the best way to approach it. This is very clean.

Jan 22 2018, 5:10 PM
srhines updated subscribers of D42288: [Analysis] Disable exp/exp2/pow finite lib calls on Android with -ffast-math..
Jan 22 2018, 5:07 PM

Jan 19 2018

srhines accepted D42329: [ubsan] Disable signal handling on Android..

Thanks so much for helping us figure this out. Hopefully we can find a better way to actually allow for signal interception, but this at least gets us back to a working build.

Jan 19 2018, 8:18 PM

Jan 12 2018

srhines accepted D41995: [scudo] Add SANITIZER_CXX_ABI_LIBRARY to SCUDO_DYNAMIC_LIBS.

Thanks. This looks like it should work. Chih-hung can verify it on his side as well.

Jan 12 2018, 9:01 AM
srhines updated subscribers of D41995: [scudo] Add SANITIZER_CXX_ABI_LIBRARY to SCUDO_DYNAMIC_LIBS.
Jan 12 2018, 9:01 AM

Nov 28 2017

srhines added a comment to D40590: [LibFuzzer] Allow fuzzer to be built standalone.

@kcc
Fuzzer can be built in the same tree with other sanitizer runtimes.
Why do you need a standalone build?

Nov 28 2017, 5:36 PM
srhines added a reviewer for D40590: [LibFuzzer] Allow fuzzer to be built standalone: kcc.
Nov 28 2017, 5:26 PM

Nov 27 2017

srhines accepted D40476: Switch kryo to use -mcpu=cortex-a57 when invoking the assembler.
Nov 27 2017, 10:05 AM
srhines added inline comments to D40476: Switch kryo to use -mcpu=cortex-a57 when invoking the assembler.
Nov 27 2017, 10:01 AM
srhines added inline comments to D40476: Switch kryo to use -mcpu=cortex-a57 when invoking the assembler.
Nov 27 2017, 9:24 AM

Nov 16 2017

srhines added a comment to D40137: [ARM] 't' asm constraint should accept i32.

Thanks for addressing this.

Nov 16 2017, 10:11 AM

Oct 30 2017

srhines added a comment to D39313: Handle x86 feature specific alignment of __builtin_alloca..

As android 32 target is in question, adding reviewers that added the target and reviewed the addition
I believe android's SuitableAlign should be 128 like the other x86's

Oct 30 2017, 12:44 PM · Restricted Project

Oct 24 2017

srhines accepted D38430: Enable -pie and --enable-new-dtags by default on Android..
Oct 24 2017, 11:49 PM

Oct 20 2017

srhines updated subscribers of D39152: ELF: Add support for emitting dynamic relocations in the Android relocation packing format..
Oct 20 2017, 6:50 PM

Oct 3 2017

srhines accepted D38520: [sanitizer] Move cxx-abi library earlier in link flags..

Thank you for cleaning this up.

Oct 3 2017, 4:48 PM

Oct 2 2017

srhines added a comment to D36806: Switch to cantFail(), since it does the same assertion..

Ping again. This is really trivial.

Oct 2 2017, 11:40 AM · Restricted Project

Sep 25 2017

srhines added a comment to D36806: Switch to cantFail(), since it does the same assertion..

Ping.

Sep 25 2017, 1:02 PM · Restricted Project