Page MenuHomePhabricator

smeenai (Shoaib Meenai)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 19 2016, 10:21 AM (343 w, 6 d)

Recent Activity

Yesterday

smeenai accepted D146666: [CMake] Respect variables for specifying host tools even without LLVM_USE_HOST_TOOLS set.

Fair enough; I'm convinced :) LGTM

Thu, Mar 23, 10:26 AM · Restricted Project, Restricted Project

Wed, Mar 22

smeenai added a comment to D146666: [CMake] Respect variables for specifying host tools even without LLVM_USE_HOST_TOOLS set.

I'd need to learn more about the use case (I see you're awaiting a response on the issue), but I'm not a huge fan personally; it seems really weird to not be going through the standard CMake mechanisms for cross-compilation (setting a CMAKE_SYSTEM_NAME), and if you do that then this should work as expected. We should understand why LLVM_USE_HOST_TOOLS isn't being set automatically.

Yeah, in one sense, that’s the correct thing to do. But on the other hand, even if I’m doing a simple native build, if I’m going out of my way to specify the path to these tools, perhaps we should respect it. We already do it somewhat inconsistently - AFAIK the variables do take effect for the tablegen family of tools without checking the LLVM_USE_HOST_TOOLS variables.

Wed, Mar 22, 4:42 PM · Restricted Project, Restricted Project
smeenai added a comment to D146666: [CMake] Respect variables for specifying host tools even without LLVM_USE_HOST_TOOLS set.

I'd need to learn more about the use case (I see you're awaiting a response on the issue), but I'm not a huge fan personally; it seems really weird to not be going through the standard CMake mechanisms for cross-compilation (setting a CMAKE_SYSTEM_NAME), and if you do that then this should work as expected. We should understand why LLVM_USE_HOST_TOOLS isn't being set automatically.

Wed, Mar 22, 4:09 PM · Restricted Project, Restricted Project

Tue, Mar 21

smeenai committed rG22b5fe74782a: [llvm-libtool-darwin] Fix test when libfile.a exists (authored by smeenai).
[llvm-libtool-darwin] Fix test when libfile.a exists
Tue, Mar 21, 11:21 AM · Restricted Project, Restricted Project
smeenai added inline comments to D85540: [llvm-libtool-darwin] Add support for -l and -L.
Tue, Mar 21, 11:21 AM · Restricted Project, Restricted Project

Fri, Mar 17

smeenai added a comment to D141222: [libc++] Use __verbose_abort instead of std::abort in __throw_ functions.

D146227 is a fix diff that's up and waiting for CI.

Fri, Mar 17, 1:54 PM · Restricted Project, Restricted Project

Thu, Mar 16

smeenai added inline comments to D142084: [RFC][X86][MemFold] Upgrade the mechanism of auto-generated Memory Folding Table.
Thu, Mar 16, 3:45 PM · Restricted Project, Restricted Project
smeenai committed rG7e271c2a8552: [TableGen] Fix test on macOS (authored by smeenai).
[TableGen] Fix test on macOS
Thu, Mar 16, 3:45 PM · Restricted Project, Restricted Project

Fri, Mar 10

smeenai accepted D145827: [cmake] Quote args when generating /libpath option specifying runtime dir for link/lld-link.

LGTM

Fri, Mar 10, 1:58 PM · Restricted Project, Restricted Project
smeenai accepted D145623: [lld-macho] Print archive names in linker map.

Note that we aren't using toString(InputFile*) here because it

includes the install name for dylibs in its output, and ld64's map file
does not contain those.

Fri, Mar 10, 1:30 PM · Restricted Project, Restricted Project, Restricted Project
smeenai added a comment to D145716: [CMake] Unify llvm_check_linker_flag and llvm_check_compiler_linker_flag.

LGTM

Fri, Mar 10, 11:37 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Mar 9

smeenai added inline comments to D145716: [CMake] Unify llvm_check_linker_flag and llvm_check_compiler_linker_flag.
Thu, Mar 9, 1:37 PM · Restricted Project, Restricted Project, Restricted Project
smeenai added a comment to D145619: extend llvm variables for build flexibility.

Heh, "target" being an extremely overloaded term strikes again :)

Thu, Mar 9, 10:22 AM · Restricted Project, Restricted Project

Wed, Mar 8

smeenai added a comment to D143071: [libc++] Avoid ODR violations in __exception_guard.

Okay, -print-before-all did the trick, and the local variables it's complaining about are from https://github.com/llvm/llvm-project/blob/08b65c5c9e58a4f9e79a52a0fccd70e4c4ebd43b/libcxx/include/__memory/uninitialized_algorithms.h#L520. I guess we have some ODR issue with the specific types that template is being instantiated with (reverse_iterator<reverse_iterator<internal_type*>>) that's being exposed now?

Wed, Mar 8, 10:17 PM · Restricted Project, Restricted Project
smeenai updated smeenai.
Wed, Mar 8, 9:49 PM
smeenai added a comment to D143071: [libc++] Avoid ODR violations in __exception_guard.

I'm still seeing LTO errors after this patch:

fragment covers entire variable
  call void @llvm.dbg.value(metadata i64 poison, metadata !798696, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !798698
!798696 = !DILocalVariable(name: "__first", arg: 2, scope: !798693, file: !16879, line: 520, type: !159997)
fragment is larger than or outside of variable
  call void @llvm.dbg.value(metadata ptr %5, metadata !798696, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !798698
!798696 = !DILocalVariable(name: "__first", arg: 2, scope: !798693, file: !16879, line: 520, type: !159997)
fragment covers entire variable
  call void @llvm.dbg.value(metadata i64 poison, metadata !798697, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 64)), !dbg !798698
!798697 = !DILocalVariable(name: "__last", arg: 3, scope: !798693, file: !16879, line: 520, type: !159997)
fragment is larger than or outside of variable
  call void @llvm.dbg.value(metadata ptr %7, metadata !798697, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !798698
!798697 = !DILocalVariable(name: "__last", arg: 3, scope: !798693, file: !16879, line: 520, type: !159997)
fragment is larger than or outside of variable
  call void @llvm.dbg.value(metadata ptr %9, metadata !798696, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !798698
!798696 = !DILocalVariable(name: "__first", arg: 2, scope: !798693, file: !16879, line: 520, type: !159997)
fragment is larger than or outside of variable
  call void @llvm.dbg.value(metadata ptr %12, metadata !798696, metadata !DIExpression(DW_OP_LLVM_fragment, 64, 64)), !dbg !798698
!798696 = !DILocalVariable(name: "__first", arg: 2, scope: !798693, file: !16879, line: 520, type: !159997)
LLVM ERROR: Broken module found, compilation aborted!
Wed, Mar 8, 9:45 PM · Restricted Project, Restricted Project
smeenai added a comment to D145619: extend llvm variables for build flexibility.

One other alternative for Rust to consider would be to support building as part of an LLVM build using LLVM_EXTERNAL_PROJECTS and LLVM_EXTERNAL_<PROJECT>_SOURCE_DIR, so that Rust becomes part of the LLVM build graph and can easily access its targets. See https://github.com/apple/swift/blob/c95e11c011e5e6ee19f9c21332ff04df29dd49db/cmake/modules/SwiftSharedCMakeConfig.cmake#L269 for how Swift does it.

Wed, Mar 8, 7:27 PM · Restricted Project, Restricted Project
smeenai requested changes to D145619: extend llvm variables for build flexibility.

Adding the usual CMake reviewers.

Wed, Mar 8, 7:14 PM · Restricted Project, Restricted Project

Tue, Mar 7

smeenai accepted D145261: [lld-macho][nfc] Convert more alignTo() to alignToPowerOf2().

LGTM

Tue, Mar 7, 4:42 PM · Restricted Project, Restricted Project, Restricted Project

Fri, Mar 3

smeenai accepted D145228: [clangd] Add clangd headers to install targets.

LGTM

Fri, Mar 3, 10:48 AM · Restricted Project, Restricted Project

Thu, Mar 2

smeenai added a comment to D117852: [CMake][WinMsvc] Replace MSVC_BASE/WINSDK_BASE with LLVM_WINSYSROOT.

In case of Visual Studio 2019/2022, Windows SDK are installed outside of MSVS directory

C:\Program Files (x86)\Windows Kits\10
Thu, Mar 2, 9:58 AM · Restricted Project, Restricted Project

Wed, Mar 1

smeenai added a comment to D144603: Disable compiler launcher on external projects and multi stage clang.

Hmm, what cache key does ccache use for compilers? Is it the --version output string, the path, or some combination? If the path is involved then I don't see any value in using ccache for configuring anything past stage1, since the compiler will (presumably) be installed somewhere else afterwards and not used directly from the build tree. If it's just --version, what are the cache pollution concerns? The compiler binaries output by all the stages should produce the same outputs given the same inputs (and presumably have the same --version), right?

I am not sure about ccache. We use an internal distributed build cache system when we build LLVM. The compiler binary hash and the --version output will both be used to calculate the cache key so there is little value to use caching past stage1 as the runtime build and stage2+ will be built from a fresh from source compiler and it will always result in cache miss.

I don't believe ccache only uses --version output as cache key since two compiler binary with the same version string can have different output (e.g. 2 WIP source tree but track the same git revision).

So think it would be beneficial to add a flag to avoid using compiler launcher past stage1.

Wed, Mar 1, 10:40 AM · Restricted Project, Restricted Project, Restricted Project
smeenai added a comment to D144603: Disable compiler launcher on external projects and multi stage clang.

Hmm, what cache key does ccache use for compilers? Is it the --version output string, the path, or some combination? If the path is involved then I don't see any value in using ccache for configuring anything past stage1, since the compiler will (presumably) be installed somewhere else afterwards and not used directly from the build tree. If it's just --version, what are the cache pollution concerns? The compiler binaries output by all the stages should produce the same outputs given the same inputs (and presumably have the same --version), right?

Wed, Mar 1, 10:02 AM · Restricted Project, Restricted Project, Restricted Project

Tue, Feb 28

smeenai committed rGc2d6cc9ac41c: [builtins] Add option to always build int128 routines (authored by smeenai).
[builtins] Add option to always build int128 routines
Tue, Feb 28, 4:39 PM · Restricted Project, Restricted Project
smeenai closed D145003: [builtins] Add option to always build int128 routines.
Tue, Feb 28, 4:38 PM · Restricted Project, Restricted Project
smeenai updated the diff for D145003: [builtins] Add option to always build int128 routines.

Rename per review comment

Tue, Feb 28, 3:10 PM · Restricted Project, Restricted Project
smeenai added inline comments to D145003: [builtins] Add option to always build int128 routines.
Tue, Feb 28, 3:08 PM · Restricted Project, Restricted Project
smeenai requested review of D145003: [builtins] Add option to always build int128 routines.
Tue, Feb 28, 1:23 PM · Restricted Project, Restricted Project

Fri, Feb 24

smeenai added a comment to D124490: [InstrProf] Minimal Block Coverage.

Ping @MaskRay. Have your blocking concerns been addressed?

Very sorry for missing these notifications! I'll read this patch soon...

Fri, Feb 24, 2:41 PM · Restricted Project, Restricted Project, Restricted Project
smeenai added a comment to D140925: [CMake] Use Clang to infer the target triple.

Ping @ldionne, would you be able to take a look at this soon (or are you okay waiving the libc++ blocking requirement for it)? This is really useful for Android armv7, where the triple is traditionally spelled armv7-none-linux-androideabi but normalized to arvm7-none-linux-android, and this patch would resolve that discrepancy.

Fri, Feb 24, 2:38 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
smeenai added a comment to D124490: [InstrProf] Minimal Block Coverage.
Fri, Feb 24, 1:59 PM · Restricted Project, Restricted Project, Restricted Project

Wed, Feb 22

smeenai added a comment to D124490: [InstrProf] Minimal Block Coverage.

Ping @MaskRay

Wed, Feb 22, 5:37 PM · Restricted Project, Restricted Project, Restricted Project

Feb 16 2023

smeenai added a comment to D141882: [libc++] Remove #pragma GCC system_header.

it's just a matter of replacing -I with -isystem to get the correct behaviour

Feb 16 2023, 10:22 AM · Restricted Project, Restricted Project

Feb 13 2023

smeenai added a comment to D139254: Enhance stack protector.

! In D139254#4036649, @smeenai wrote:
I'm going on an extended leave soon, and I won't have time to implement it before then. I've asked some coworkers to take a look, but if you have the time to add the option it'd be hugely appreciated :)

Hi @smeenai I first implement at an llvm option for your requirement, you can use -mllvm -option-name to quick solve your code size problem.
PLS refer D141556

Feb 13 2023, 11:14 AM · Restricted Project, Restricted Project

Jan 10 2023

smeenai accepted D140925: [CMake] Use Clang to infer the target triple.

@tamas' suggestion would be a good change to make IMO, but I think it's outside the scope of this patch, and the patch as-is improves the status quo, so LGTM.

Jan 10 2023, 7:10 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
smeenai added a comment to D124490: [InstrProf] Minimal Block Coverage.

@MaskRay, were you still planning to review this/do you have any unaddressed concerns?

Jan 10 2023, 6:41 AM · Restricted Project, Restricted Project, Restricted Project
smeenai committed rG49c8f903efea: [libc++] Fix aligned_alloc usage for Android (authored by smeenai).
[libc++] Fix aligned_alloc usage for Android
Jan 10 2023, 6:26 AM · Restricted Project, Restricted Project
smeenai closed D141184: [libc++] Fix aligned_alloc usage for Android.
Jan 10 2023, 6:26 AM · Restricted Project, Restricted Project
smeenai added a comment to D141184: [libc++] Fix aligned_alloc usage for Android.

LGTM assuming D139147 is being worked on.

Jan 10 2023, 6:25 AM · Restricted Project, Restricted Project

Jan 9 2023

smeenai accepted D141273: Fix build when LLVM_BUILTIN_TARGETS is not set.

Ah, I didn't consider the case where you were using LLVM_RUNTIME_TARGETS but not LLVM_BUILTIN_TARGETS. Thanks.

Jan 9 2023, 8:53 PM · Restricted Project, Restricted Project
smeenai added a comment to D139254: Enhance stack protector.

Hi @smeenai , do you have plan to implement it ? If not, I will do it, but may some days later (due to some other jobs in my hands).

Jan 9 2023, 8:34 AM · Restricted Project, Restricted Project

Jan 7 2023

smeenai accepted D141199: [AArch64][compiler-rt] Option to build compiler-rt without FMV support..

LGTM, thank you!

Jan 7 2023, 10:48 PM · Restricted Project, Restricted Project
smeenai added inline comments to D139147: [libc++][Android] Enable libc++ testing using adb on an x86-64 emulator.
Jan 7 2023, 2:11 AM · Restricted Project, Restricted Project, Restricted Project

Jan 6 2023

smeenai added a comment to D138196: [libc++] Use aligned_alloc instead of posix_memalign for C++17.

cstdlib only has the following using ::aligned_alloc _LIBCPP_USING_IF_EXISTS;, so I assume it would also fail with std::aligned_alloc(). I don't have a chromium checkout, but maybe the C library that your build is using doesn't provide aligned_alloc() ? Or maybe it requires an additional macro to expose it? Otherwise you could add another opt-out case to libcxx/include/__config (like the macos < 10.15 one from this commit).

It's broken on android (bionic) and chromeos (some glibc, I think?).

libcxx/test/std/depr/depr.c.headers/stdlib_h.aligned_alloc.compile.pass.cpp claims "::aligned_alloc is available starting with Android P (API 28)". We support API level 24, so we can't use that yet.

So I think this breaks most people doing Android builds, so it'd probably be good if _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC was set correctly automatically for at least Android.

(But we'll just define _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC ourselves for now.)

CC @danalbert and @rprichard. (We hit the same breakage as well.)

If you give me instructions to test this and the right macro to check I can try to submit a fix, but it will probably be a lot quicker if someone with an existing development setup can add the right line to __config.

Jan 6 2023, 11:36 PM · Restricted Project, Restricted Project
smeenai requested review of D141184: [libc++] Fix aligned_alloc usage for Android.
Jan 6 2023, 11:36 PM · Restricted Project, Restricted Project
smeenai added a comment to D127812: [AArch64] FMV support and necessary target features dependencies..

We can use -mno-fmv to avoid that dependency, right? We're interested in using that for our own code (where we don't make use of function multi-versioning), and want to prevent the compiler-rt support from being pulled in from the archive unnecessarily. It'd still be available for users who needed it.

Right, you will need to explicitly provide '-mno-fmv` then. Currently __aarch64_cpu_features cpu_model.c stuff located in bultins (libclang_rt.builtins-aarch64.a). Did I understand you correctly that your apps linked agains libclang_rt.builtins-aarch64.a and if we move function multiversioning part to new library, lets say libclang_rt.cpu_features-aarch64.a, that will resolve your concern ? As a sidenote, builtins/cpu_model.c contains X86 CPU features used in function multiversioning on that target as well.

Jan 6 2023, 10:11 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
smeenai added a comment to D127812: [AArch64] FMV support and necessary target features dependencies..

We're not actually using multi-versioning anywhere, but we're still paying the size cost for it as a result. Would we consider moving the newly added functions into their own file (or perhaps moving the outlined atomics functions into a different file), so that you can use outlined atomics without also paying the size cost of function multiversioning if you don't need it?

Function multiversioning expects compiler-rt has __aarch64_cpu_features, it will be broken if compiler-rt miss that ( clang/lib/Driver/ToolChains/Clang.cpp:7231 ). I believe function multiversioning will be used in Android as outline atomics already did.

Jan 6 2023, 5:49 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
smeenai added a comment to D139254: Enhance stack protector.

Would there be any objections to adding a flag to restore the previous behavior? This is a fairly hefty size increase for us, and we don't think the additional checking is worth the size increase in our case. We also intend to look into the size increases more to determine how much is from guarding calls to e.g. __cxa_throw, where you will reuse the stack frame, vs. calls to e.g. abort or _Unwind_Resume, where the stack frame should never be reused and checking the stack cookie doesn't seem worthwhile (if my logic is sound, which I'm not 100% sure of).

I agree to add a option to go in previous behavior. (e.g -fstack-protector-weak or -fstack-protector-return)
But this enhance for no-return function is necessary for a security. We meet such cases in user code. That is why I did it.

Jan 6 2023, 3:21 AM · Restricted Project, Restricted Project
smeenai updated subscribers of D127812: [AArch64] FMV support and necessary target features dependencies..

I'm investigating a size increase we observed after this change for Meta's Android apps. This increases the size of compiler-rt by 1.6 KB, which is small by itself, but then compiler-rt is statically linked into each SO, and some of our apps have hundreds of SOs, so the increase adds up to a sizeable total. (We would ideally have far fewer SOs, but that's a pretty involved change.)

Jan 6 2023, 2:51 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jan 5 2023

smeenai added a comment to D139254: Enhance stack protector.

Would there be any objections to adding a flag to restore the previous behavior? This is a fairly hefty size increase for us, and we don't think the additional checking is worth the size increase in our case. We also intend to look into the size increases more to determine how much is from guarding calls to e.g. __cxa_throw, where you will reuse the stack frame, vs. calls to e.g. abort or _Unwind_Resume, where the stack frame should never be reused and checking the stack cookie doesn't seem worthwhile (if my logic is sound, which I'm not 100% sure of).

Jan 5 2023, 11:45 AM · Restricted Project, Restricted Project
smeenai updated subscribers of D138196: [libc++] Use aligned_alloc instead of posix_memalign for C++17.

cstdlib only has the following using ::aligned_alloc _LIBCPP_USING_IF_EXISTS;, so I assume it would also fail with std::aligned_alloc(). I don't have a chromium checkout, but maybe the C library that your build is using doesn't provide aligned_alloc() ? Or maybe it requires an additional macro to expose it? Otherwise you could add another opt-out case to libcxx/include/__config (like the macos < 10.15 one from this commit).

It's broken on android (bionic) and chromeos (some glibc, I think?).

libcxx/test/std/depr/depr.c.headers/stdlib_h.aligned_alloc.compile.pass.cpp claims "::aligned_alloc is available starting with Android P (API 28)". We support API level 24, so we can't use that yet.

So I think this breaks most people doing Android builds, so it'd probably be good if _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC was set correctly automatically for at least Android.

(But we'll just define _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC ourselves for now.)

Jan 5 2023, 11:39 AM · Restricted Project, Restricted Project

Jan 4 2023

smeenai committed rG72f3f6838fc4: [runtimes] Only depend on builtins for same target (authored by smeenai).
[runtimes] Only depend on builtins for same target
Jan 4 2023, 3:27 AM · Restricted Project, Restricted Project
smeenai closed D139913: [runtimes] Only depend on builtins for same target.
Jan 4 2023, 3:27 AM · Restricted Project, Restricted Project
smeenai updated the diff for D139913: [runtimes] Only depend on builtins for same target.

Address comment

Jan 4 2023, 3:26 AM · Restricted Project, Restricted Project

Dec 13 2022

smeenai updated the diff for D139913: [runtimes] Only depend on builtins for same target.

Rebase to see if CI is happier

Dec 13 2022, 3:34 PM · Restricted Project, Restricted Project

Dec 12 2022

smeenai updated smeenai.
Dec 12 2022, 9:59 PM
smeenai requested review of D139913: [runtimes] Only depend on builtins for same target.
Dec 12 2022, 9:56 PM · Restricted Project, Restricted Project
smeenai committed rG72b2ca5d0641: [COFF] Respect weak externals for mangled symbol searching (authored by smeenai).
[COFF] Respect weak externals for mangled symbol searching
Dec 12 2022, 10:53 AM · Restricted Project
smeenai closed D139764: [COFF] Respect weak externals for mangled symbol searching.
Dec 12 2022, 10:52 AM · Restricted Project, Restricted Project

Dec 11 2022

smeenai added inline comments to D139764: [COFF] Respect weak externals for mangled symbol searching.
Dec 11 2022, 1:52 PM · Restricted Project, Restricted Project
smeenai added a comment to D138460: [libcxxabi] Overhaul test_exception_storage.pass.cpp.

Pinging the libc++abi reviewer group.

Dec 11 2022, 1:51 PM · Restricted Project, Restricted Project

Dec 9 2022

smeenai updated the summary of D139764: [COFF] Respect weak externals for mangled symbol searching.
Dec 9 2022, 8:21 PM · Restricted Project, Restricted Project
smeenai requested review of D139764: [COFF] Respect weak externals for mangled symbol searching.
Dec 9 2022, 8:17 PM · Restricted Project, Restricted Project

Dec 7 2022

smeenai added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

The size regressions from this are acceptably small for us, so we have no problems with that. Thanks for flagging it.

Dec 7 2022, 5:41 PM · Restricted Project, Restricted Project
smeenai added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

I'm not able to apply the latest version of the patch, and it looks like CI isn't either. Which revision is this patch based on top of?

Your stack still has D122858 in it, which is making arc patch unhappy locally, but even taking the raw patch and using git apply is failing for me.

@smeenai , can you try again? I think I don't understand the 'arc' tool that well.

Dec 7 2022, 12:25 PM · Restricted Project, Restricted Project
smeenai added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

I'm not able to apply the latest version of the patch, and it looks like CI isn't either. Which revision is this patch based on top of?

Dec 7 2022, 10:23 AM · Restricted Project, Restricted Project

Dec 6 2022

smeenai added a comment to D138461: [libcxxabi] Always use thread_local for cxa_exception_storage.

I'll be going on an extended vacation soon. If anyone needs this sooner, they should feel free to pick it up, otherwise I'll get to it when I'm back in February. (Similarly, there's no rush on our end for you to figure out the platform issues you observed.)

Dec 6 2022, 8:05 PM · Restricted Project, Restricted Project

Dec 5 2022

smeenai accepted D139269: [lld-macho] Canonicalize LSDA pointers.

LGTM

Dec 5 2022, 1:15 PM · Restricted Project, Restricted Project, Restricted Project

Dec 2 2022

smeenai added a comment to D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Ah, I was hoping I'd be able to rebase the current version onto the 15.x release branch cleanly, but I'm running into conflicts that I'm not sure how to resolve. I'll wait for the rebased version and then try that.

Dec 2 2022, 10:32 AM · Restricted Project, Restricted Project

Dec 1 2022

smeenai updated subscribers of D122780: Modify std::sort: add BlockQuickSort partitioning algorithm for arithmetic types.

Thanks for looking into the APK size impact. Could you give me a couple of days (I'll try my best to get to this tomorrow) to evaluate this on Meta's Android apps as well? I maintain the libc++ used by those, and we have some apps that are incredibly sensitive to APK size (increases of even a few KB are flagged), so I'd appreciate the chance to evaluate this before it lands. (If I haven't been able to get to this by Wednesday of next week, feel free to go ahead regardless.)

Dec 1 2022, 5:07 PM · Restricted Project, Restricted Project

Nov 30 2022

smeenai committed rGdf43ec30ab66: [Driver] Add test for -stdlib++-isystem with -nostdinc (authored by smeenai).
[Driver] Add test for -stdlib++-isystem with -nostdinc
Nov 30 2022, 11:11 PM · Restricted Project, Restricted Project
smeenai committed rG658a5039373e: [Driver] Only check -nostdinc++ for -stdlib++-isystem (authored by smeenai).
[Driver] Only check -nostdinc++ for -stdlib++-isystem
Nov 30 2022, 4:57 PM · Restricted Project, Restricted Project
smeenai committed rG4eb84582344f: [runtimes] Fix runtimes-test-depends (authored by smeenai).
[runtimes] Fix runtimes-test-depends
Nov 30 2022, 4:57 PM · Restricted Project, Restricted Project
smeenai committed rG442c13f9ff8a: [compiler-rt] Fix check-profile dependencies (authored by smeenai).
[compiler-rt] Fix check-profile dependencies
Nov 30 2022, 11:16 AM · Restricted Project, Restricted Project
smeenai committed rGa57d91ef6bff: [runtimes] Add check-profile dependencies to runtimes (authored by smeenai).
[runtimes] Add check-profile dependencies to runtimes
Nov 30 2022, 11:15 AM · Restricted Project, Restricted Project
smeenai committed rG8947f26b8822: [runtimes] Create check- targets for LLVM_RUNTIME_DISTRIBUTION_COMPONENTS (authored by smeenai).
[runtimes] Create check- targets for LLVM_RUNTIME_DISTRIBUTION_COMPONENTS
Nov 30 2022, 11:15 AM · Restricted Project, Restricted Project
smeenai committed rGa323e515eee8: [runtimes] Support sub-components in LLVM_RUNTIME_DISTRIBUTION_COMPONENTS (authored by smeenai).
[runtimes] Support sub-components in LLVM_RUNTIME_DISTRIBUTION_COMPONENTS
Nov 30 2022, 11:15 AM · Restricted Project, Restricted Project
smeenai closed D138969: [compiler-rt] Fix check-profile dependencies.
Nov 30 2022, 11:15 AM · Restricted Project, Restricted Project
smeenai committed rG6de939dbe751: [runtimes] Name stripped install targets consistently (authored by smeenai).
[runtimes] Name stripped install targets consistently
Nov 30 2022, 11:15 AM · Restricted Project, Restricted Project, Restricted Project
smeenai closed D138968: [runtimes] Add check-profile dependencies to runtimes.
Nov 30 2022, 11:15 AM · Restricted Project, Restricted Project
smeenai closed D138967: [runtimes] Create check- targets for LLVM_RUNTIME_DISTRIBUTION_COMPONENTS.
Nov 30 2022, 11:15 AM · Restricted Project, Restricted Project
smeenai closed D138966: [runtimes] Support sub-components in LLVM_RUNTIME_DISTRIBUTION_COMPONENTS.
Nov 30 2022, 11:15 AM · Restricted Project, Restricted Project
smeenai closed D138965: [runtimes] Name stripped install targets consistently.
Nov 30 2022, 11:15 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
smeenai updated subscribers of D138967: [runtimes] Create check- targets for LLVM_RUNTIME_DISTRIBUTION_COMPONENTS.

I think that'd be pretty nice. Right now there's a bunch of different and inconsistent ways to control which parts of compiler-rt you build (e.g. the sanitizers have COMPILER_RT_SANITIZERS_TO_BUILD, but then things like XRay and libfuzzer have dedicated COMPILER_RT_BUILD_* variables), and it'd be great to have a consistent interface instead. I know @compnerd and some others have been interested in reorganizing compiler-rt, and this could be part of that.

Nov 30 2022, 11:13 AM · Restricted Project, Restricted Project
smeenai added a comment to D138460: [libcxxabi] Overhaul test_exception_storage.pass.cpp.

CI is happy now. Could someone from the libc++abi group please take a look?

Nov 30 2022, 11:09 AM · Restricted Project, Restricted Project

Nov 29 2022

smeenai planned changes to D138527: [libc++abi] Simplify __cxa_get_globals_fast callsites.

Pausing this while D138461 is sorted out.

Nov 29 2022, 7:41 PM · Restricted Project, Restricted Project
smeenai updated the diff for D138460: [libcxxabi] Overhaul test_exception_storage.pass.cpp.

Hopefully make CI happy this time

Nov 29 2022, 7:41 PM · Restricted Project, Restricted Project
smeenai accepted D138975: [perf-training] Support additional test suffixes.

LGTM

Nov 29 2022, 7:14 PM · Restricted Project, Restricted Project
smeenai accepted D138974: [CMake] Support injecting extra dependencies for perf-training.

Might be worth a mention in either https://llvm.org/docs/AdvancedBuilds.html#multi-stage-pgo, to make it a bit more discoverable.

Nov 29 2022, 7:09 PM · Restricted Project, Restricted Project, Restricted Project
smeenai requested review of D138969: [compiler-rt] Fix check-profile dependencies.
Nov 29 2022, 5:48 PM · Restricted Project, Restricted Project
smeenai requested review of D138968: [runtimes] Add check-profile dependencies to runtimes.
Nov 29 2022, 5:47 PM · Restricted Project, Restricted Project
smeenai requested review of D138967: [runtimes] Create check- targets for LLVM_RUNTIME_DISTRIBUTION_COMPONENTS.
Nov 29 2022, 5:47 PM · Restricted Project, Restricted Project
smeenai requested review of D138966: [runtimes] Support sub-components in LLVM_RUNTIME_DISTRIBUTION_COMPONENTS.
Nov 29 2022, 5:47 PM · Restricted Project, Restricted Project
smeenai requested review of D138965: [runtimes] Name stripped install targets consistently.
Nov 29 2022, 5:47 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Nov 28 2022

smeenai updated the summary of D138460: [libcxxabi] Overhaul test_exception_storage.pass.cpp.
Nov 28 2022, 11:35 PM · Restricted Project, Restricted Project
smeenai updated the diff for D138460: [libcxxabi] Overhaul test_exception_storage.pass.cpp.

Rebase and synchronize threads to avoid duplicates

Nov 28 2022, 11:13 PM · Restricted Project, Restricted Project
smeenai added a comment to D136774: [Outliner] Add an option to only enable outlining of patterns above a certain threshold.

This seems like a pretty simple and non-intrusive method to be able to tune the outliner. LGTM if you add a test case.

Nov 28 2022, 9:16 PM · Restricted Project, Restricted Project
smeenai added a comment to D138461: [libcxxabi] Always use thread_local for cxa_exception_storage.

Thanks for the revert.

Nov 28 2022, 12:00 PM · Restricted Project, Restricted Project

Nov 23 2022

smeenai added a comment to D138461: [libcxxabi] Always use thread_local for cxa_exception_storage.

It's not. I'm out for a few days; could you revert this for me please?

Nov 23 2022, 9:00 AM · Restricted Project, Restricted Project

Nov 22 2022

smeenai updated the diff for D138527: [libc++abi] Simplify __cxa_get_globals_fast callsites.

Rebase

Nov 22 2022, 11:41 PM · Restricted Project, Restricted Project