Page MenuHomePhabricator
Feed Advanced Search

Thu, Oct 15

beanz added a comment to D89177: [cmake] Add support for multiple distributions.

That isn't what I meant. It's entirely okay for the runtimes to be driven via AddExternalProject like the runtimes build does, since that's akin to having a separate CMake invocation for each configuration. That's okay.

What I'm saying is that if the next logical step is to also add support for multiple distributions in libc++'s build itself (e.g. adding LIBCXX_<DISTRIBUTION>_ENABLE_SHARED & al), then I don't think that's a good idea.

Thu, Oct 15, 10:06 AM · Restricted Project, Restricted Project, Restricted Project
beanz added a comment to D89177: [cmake] Add support for multiple distributions.

Are the runtimes expected to support this multi-distribution configuration? I don't think we'd want to move libc++ towards building multiple configurations at once in a single CMake invocation -- it's already too complicated to build just one configuration.

Thu, Oct 15, 9:33 AM · Restricted Project, Restricted Project, Restricted Project

Wed, Oct 7

beanz accepted D88990: Update documentation on stage3 cmake build.

LGTM

Wed, Oct 7, 12:45 PM · Restricted Project, Restricted Project
beanz added a comment to D88990: Update documentation on stage3 cmake build.

Using lld on Darwin isn't ideal, the system linker is desirable there.

What about making it the default on Linux and Windows?

Wed, Oct 7, 12:07 PM · Restricted Project, Restricted Project
beanz requested changes to D88990: Update documentation on stage3 cmake build.

Using lld on Darwin isn't ideal, the system linker is desirable there.

Wed, Oct 7, 11:11 AM · Restricted Project, Restricted Project

Aug 20 2020

beanz added a comment to D86313: [runtimes] Allow LLVM_BUILTIN_TARGETS to include Darwin.

I think this change makes configuration confusingly inaccurate. Since the compiler-rt Darwin build does not support picking and choosing which targets to configure making the configuration fail if a user tries to is the reasonable approach.

Aug 20 2020, 12:51 PM · Restricted Project

Aug 17 2020

beanz added reviewers for D85140: [RFC] Factor out repetitive cmake patterns for llvm-style projects: ldionne, compnerd, smeenai, phosek.
Aug 17 2020, 12:58 PM · Restricted Project, Restricted Project

Aug 7 2020

beanz added inline comments to D85247: [Darwin] [Driver] Clang should invoke dsymutil for multiarch builds.
Aug 7 2020, 10:09 AM · Restricted Project

Jul 27 2020

beanz accepted D84038: On Windows build, making the /bigobj flag global , instead of passing it per file..

The CMake code looks good to me. If @aaron.ballman is on board with it from the Windows perspective it sounds like this is the right fix.

Jul 27 2020, 3:33 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jul 24 2020

beanz added inline comments to D84565: [Darwin] [Driver] Clang should invoke dsymutil for lto builds -g*.
Jul 24 2020, 6:39 PM · Restricted Project
beanz updated the diff for D84565: [Darwin] [Driver] Clang should invoke dsymutil for lto builds -g*.

Updated to also pass the linker -object_path_lto

Jul 24 2020, 6:34 PM · Restricted Project
beanz added a comment to D84565: [Darwin] [Driver] Clang should invoke dsymutil for lto builds -g*.

@JDevlieghere you are right, I'm missing the change to how clang determines it needs to pass the linker the object file path. Update coming momentarily.

Jul 24 2020, 6:25 PM · Restricted Project
beanz updated the diff for D84565: [Darwin] [Driver] Clang should invoke dsymutil for lto builds -g*.

Fixing bad test case.

Jul 24 2020, 6:00 PM · Restricted Project
beanz added a comment to D84127: Make LLVM_ENABLE_LTO function with multi-arch values for CMAKE_OSX_ARCHITECTURES.

The clang fix -> https://reviews.llvm.org/D84565

Jul 24 2020, 4:23 PM · Restricted Project
Herald added a project to D84565: [Darwin] [Driver] Clang should invoke dsymutil for lto builds -g*: Restricted Project.
Jul 24 2020, 4:22 PM · Restricted Project
beanz accepted D84127: Make LLVM_ENABLE_LTO function with multi-arch values for CMAKE_OSX_ARCHITECTURES.

I was talking to @bogner about this. I think this patch is reasonable, but it is important to note that this patch (and the previous version) are both workarounds for a bug in clang. Anytime the clang driver is provided a flag to generate debug info and it is linking temporary object files, clang should insert a dsymutil step. Right now it only inserts the step if there is a compiler or assembler input to the compiler. I filed a bug to track it (https://bugs.llvm.org/show_bug.cgi?id=46841), and I will upload a patch to the clang driver to fix this issue.

Jul 24 2020, 3:05 PM · Restricted Project
beanz added a comment to D83372: Fix for memory leak reported by Valgrind.

What happens when someone creates a new managed static after this? This should work. Can you reset the mutex_init_flag somehow?

Jul 24 2020, 10:23 AM · Restricted Project

Jul 21 2020

beanz updated subscribers of D84038: On Windows build, making the /bigobj flag global , instead of passing it per file..

Sadly I think @rnk isn't around. This is something I'd really like him to weigh in on. I assume there was a reason for doing this per-object file rather than for everything, and I don't have the context.

Jul 21 2020, 12:59 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jul 9 2020

beanz added a comment to D83372: Fix for memory leak reported by Valgrind.

Logically your patch here looks fine. I'd rather see it use a std::lock_guard as the original code did, with a nested scope added, but that is pretty nitpicky.

Jul 9 2020, 7:41 AM · Restricted Project
beanz added a comment to D83372: Fix for memory leak reported by Valgrind.

There are a lot of downsides to global constructors. One is that they are difficult to debug because the code runs before main, so if anything goes wrong callstacks are odd, debuggers sometimes struggle to attach, and general headaches ensue.

Jul 9 2020, 7:39 AM · Restricted Project

Jul 8 2020

beanz added a comment to D83372: Fix for memory leak reported by Valgrind.

Does this add a static constructor?

Jul 8 2020, 12:53 PM · Restricted Project

Jun 15 2020

beanz accepted D81447: [llvm][NFC] Move content of ML subdirectory into Analysis.

LGTM

Jun 15 2020, 2:20 PM · Restricted Project
beanz added a reviewer for D81447: [llvm][NFC] Move content of ML subdirectory into Analysis: compnerd.

It is kinda bad form to merge a change that has unaddressed feedback.

Jun 15 2020, 12:37 PM · Restricted Project
beanz added a comment to D81447: [llvm][NFC] Move content of ML subdirectory into Analysis.

I have several concerns about this.

Jun 15 2020, 12:04 PM · Restricted Project

May 27 2020

beanz accepted D80492: Avoid linking libdl unless needed.

looks reasonable

May 27 2020, 9:11 AM · Restricted Project

May 20 2020

beanz added a comment to D72947: [CMake] llvm/runtimes: Do not override LLVM_* variables with just-built LLVM configurations.

Sorry for being late to the party on this.

May 20 2020, 10:22 AM · Restricted Project

Apr 20 2020

beanz committed rG887efa51c1e0: Fix DenseMap iterator asserts when shouldReverseIterate==true (authored by beanz).
Fix DenseMap iterator asserts when shouldReverseIterate==true
Apr 20 2020, 5:55 PM
beanz committed rG2171fa63b309: Fixing bot breakage (authored by beanz).
Fixing bot breakage
Apr 20 2020, 3:46 PM
beanz committed rG31282d399b79: Fix LLVM_REVERSE_ITERATION (authored by beanz).
Fix LLVM_REVERSE_ITERATION
Apr 20 2020, 3:46 PM
beanz added a comment to D77156: [CMAKE] Plumb include_directories() into tablegen().

I'm not sure this is actually the right approach. Adding the directory's INCLUDE_DIRECTORIES option also adds any path added with include_directories, which includes system paths and other locations that shouldn't ever have tablegen files.

Apr 20 2020, 11:53 AM · Restricted Project

Apr 13 2020

beanz added a comment to D78033: [cmake] Restrict symbols exported from libclang-cpp.

I think this has some unintended consequences. If your tool wants to use libLLVM and libClang you really need libClang to be linked against libLLVM, otherwise you're actually just hiding the problem.

Apr 13 2020, 12:59 PM · Restricted Project

Mar 26 2020

beanz requested changes to D76642: Make static linking for LLVM plugins more reliable..

Yea... this is not how plugin linking should work.

Mar 26 2020, 8:38 AM · Restricted Project

Jan 22 2020

beanz accepted D68520: [cmake] Fix clang builds with BUILD_SHARED=ON and CLANG_LINK_CLANG_DYLIB=ON.

Seems reasonable.

Jan 22 2020, 8:31 AM · Restricted Project

Jan 14 2020

beanz accepted D71169: [Debug] Convert DebugOnly from cl::opt with a custom type to cl::list [NFC].

Looks totally reasonable to me, and like a good simplification of the logic.

Jan 14 2020, 2:17 PM · Restricted Project

Jan 11 2020

beanz added a comment to D72278: [test] On Mac, don't try to use result of sysctl command if calling it failed..

I found this running lit tests on a Mac that doesn't have sysctl available. Not very familiar with it so I'm not sure why that is the case for our particular machine.

So this change is me assuming the intention was to just print and carry on if "sysctl" fails.

Jan 11 2020, 4:42 PM · Restricted Project

Dec 17 2019

beanz accepted D70764: build: reduce CMake handling for zlib.

I think this is good, and it has been sitting a while.

Dec 17 2019, 9:47 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Dec 5 2019

beanz accepted D70620: [CommandLine] Add callbacks to Options.

LGTM.

Dec 5 2019, 2:45 PM · Restricted Project

Dec 4 2019

beanz added a comment to D70764: build: reduce CMake handling for zlib.

I conferred off-list with @compnerd. He and I talked through my concerns, and I believe this patch is fine as-is, so LGTM.

Dec 4 2019, 2:48 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
beanz added a comment to D70764: build: reduce CMake handling for zlib.

@labath sorry for not replying on-list. I've actually been discussing offline with @compnerd. If llvm-config is printing an absolute path, I'm concerned about how that will interact with binary package distributions for the llvm-dev packages. Not sure if @tstellar has any thoughts on that.

Dec 4 2019, 1:32 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Dec 3 2019

beanz added inline comments to D70620: [CommandLine] Add callbacks to Options.
Dec 3 2019, 11:10 AM · Restricted Project

Dec 2 2019

beanz added a comment to D70620: [CommandLine] Add callbacks to Options.

I like the idea behind this. I provided more detailed feedback to Don off-list, but I really don't like the const void* parameter to the callback functions. I think we can make that match the parser data type, and have compile-time errors for type mismatches. That would be vastly preferable to casting void pointers.

Dec 2 2019, 2:44 PM · Restricted Project

Nov 19 2019

beanz accepted D69824: Extends the tblgen macro to allow mlir-tblgen to be installed.

Given that, this change LGTM. Using an extra argument would be nice, but this is a macro, not a function, and IIRC CMake argument parsing in macros doesn't really work, so that would be a big change.

Nov 19 2019, 12:52 PM · Restricted Project
beanz added a comment to D69824: Extends the tblgen macro to allow mlir-tblgen to be installed.

When cross compiling any LLVM-based project we do not rely on installed copies of table gen, instead we configure and build host tablegen tools. That functionality in the LLVM build system is flexible enough to support any sub-project that provides its own tablegen tool.

Nov 19 2019, 9:29 AM · Restricted Project

Nov 14 2019

beanz accepted D70280: Remove Support/Options.h, it is unused.

Yea. Unfortunately the migration stalled out because there was no way to make the registration method work with the new pass manager.

Nov 14 2019, 9:35 PM · Restricted Project, Restricted Project

Nov 13 2019

beanz accepted D70179: [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries".

This looks like a great cleanup to me.

Nov 13 2019, 11:23 AM · Restricted Project
beanz accepted D70161: [cmake] Emit an error for -DBUILD_SHARED_LIBS=ON on Windows.

LGTM.

Nov 13 2019, 11:23 AM · Restricted Project
beanz accepted D70160: [cmake] Prevent building with BUILD_SHARED_LIBS and LLVM_LINK_LLVM_DYLIB.

LGTM.

Nov 13 2019, 11:23 AM · Restricted Project
beanz accepted D70159: [cmake] Remove confusing condition argument from else() NFC.

LGTM

Nov 13 2019, 11:23 AM · Restricted Project
beanz added inline comments to D70026: [cmake] Always build the libLLVM shared library.
Nov 13 2019, 11:20 AM · Restricted Project

Nov 11 2019

beanz added a comment to D70026: [cmake] Always build the libLLVM shared library.

I very much dislike using EXCLUDE_FROM_ALL. I really believe all should be all, not most things I think are important. In general iteration cycles the check-* targets won't build or link libLLVM unless you specify LLVM_LINK_LLVM_DYLIB, and if you actually want to build everything as a means of testing your changes the all target should do that.

Nov 11 2019, 10:40 AM · Restricted Project

Nov 8 2019

beanz added a comment to D69973: [libcxxabi] Prevent cmake from removing our explicit system C++ include paths.

This should only be broken for CMake 3.14 and later. We should include that in the comments around this change.

Nov 8 2019, 4:05 PM · Restricted Project
beanz added a comment to D69973: [libcxxabi] Prevent cmake from removing our explicit system C++ include paths.

https://gitlab.kitware.com/cmake/cmake/issues/19227

Nov 8 2019, 10:53 AM · Restricted Project
beanz added a comment to D69973: [libcxxabi] Prevent cmake from removing our explicit system C++ include paths.

Reviewing the CMake change more closely, that is a bug. They shouldn't have changed the default behavior in that way. At the very least that change should have been a policy change.

Nov 8 2019, 10:35 AM · Restricted Project
beanz added a comment to D69973: [libcxxabi] Prevent cmake from removing our explicit system C++ include paths.

I suspect this behavior change was caused by: https://gitlab.kitware.com/cmake/cmake/commit/b0b820ea39fe4edaf0672ba899a7042ef93a20d2

Nov 8 2019, 10:27 AM · Restricted Project
beanz added a comment to D69931: Add rpath to liblldb so vendors can ship their own python framework (or others).

It is a bit gross that Python does an @rpath install name, that is generally against convention. I can see adding an option to add rpaths to liblldb making sense. I certainly agree LLDB shouldn't be in the business of packaging transitive dependencies.

Nov 8 2019, 10:17 AM · Restricted Project

Nov 6 2019

beanz accepted D69856: [Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML.

LGTM

Nov 6 2019, 11:23 AM · Restricted Project

Nov 5 2019

beanz committed rG34688fafea81: Implement `sys::getHostCPUName()` for Darwin ARM (authored by beanz).
Implement `sys::getHostCPUName()` for Darwin ARM
Nov 5 2019, 5:53 PM
beanz closed D69597: Implement `sys::getHostCPUName()` for Darwin ARM.
Nov 5 2019, 5:53 PM · Restricted Project
beanz added a comment to D69817: Fix OrcError build with modules enabled..

I don't think that's the right fix as it moves a module map from representing a project structure towards having a random set of headers. But even after excluding 3 headers there are errors

Nov 5 2019, 5:43 PM · Restricted Project
beanz accepted D69003: [dsymutil] Explicitly link against libatomic when necessary.

Yea, that makes sense. Sorry again for the run around.

Nov 5 2019, 2:29 PM · Restricted Project
beanz added a comment to D69817: Fix OrcError build with modules enabled..

RPCUtils.h and RPCSerialization.h can both also be excluded.

Nov 5 2019, 1:24 PM · Restricted Project
beanz added a comment to D69817: Fix OrcError build with modules enabled..

Adding exclude header "ExecutionEngine/Orc/OrcError.h" to the module specification for LLVM_ExecutionEngine seems like a more appropriate fix.

Nov 5 2019, 11:06 AM · Restricted Project
beanz accepted D69003: [dsymutil] Explicitly link against libatomic when necessary.

Sorry, I had missed the atomic use directly in the tool. Sorry for my incorrect statements. This seems like a reasonable fix.

Nov 5 2019, 10:56 AM · Restricted Project
beanz added a comment to D69817: Fix OrcError build with modules enabled..

This confuses me. LLVMOrcError only directly depends on LLVMSupport. It doesn't include or need anything from ExecutionEngine.h.

Nov 5 2019, 10:56 AM · Restricted Project
beanz updated the diff for D69597: Implement `sys::getHostCPUName()` for Darwin ARM.

Rebasing and updating to separate arm32 and arm64.

Nov 5 2019, 9:14 AM · Restricted Project

Nov 1 2019

beanz accepted D69638: [NFC] Add SUPPORT_PLUGINS to add_llvm_executable().

LGTM

Nov 1 2019, 3:02 PM · Restricted Project, Restricted Project

Oct 31 2019

beanz added a comment to D69638: [NFC] Add SUPPORT_PLUGINS to add_llvm_executable().

A few comments inline.

Oct 31 2019, 11:07 AM · Restricted Project, Restricted Project

Oct 30 2019

beanz added a comment to D69356: [NFC] Rename LLVM_NO_DEAD_STRIP.

The intention of LLVM_SUPPORT_PLUGINS was as an internal option set by tools which may have plugins and need to be built in a specific way (such as avoiding deadstriping) if plugins are enabled.

Oct 30 2019, 11:12 AM · Restricted Project, Restricted Project
beanz added a comment to D69356: [NFC] Rename LLVM_NO_DEAD_STRIP.

For your second question: As the patch author indicated, the change to adjust the behaviour on the affected platform is forthcoming. Your question seems predicated upon that not happening.

Oct 30 2019, 10:22 AM · Restricted Project, Restricted Project

Oct 29 2019

beanz updated subscribers of D69597: Implement `sys::getHostCPUName()` for Darwin ARM.
Oct 29 2019, 6:48 PM · Restricted Project
beanz updated the summary of D69597: Implement `sys::getHostCPUName()` for Darwin ARM.
Oct 29 2019, 6:16 PM · Restricted Project
beanz created D69597: Implement `sys::getHostCPUName()` for Darwin ARM.
Oct 29 2019, 6:14 PM · Restricted Project
beanz committed rGa34680a33eb1: Break out OrcError and RPC (authored by beanz).
Break out OrcError and RPC
Oct 29 2019, 5:46 PM
beanz closed D68732: Break out OrcError and RPC.
Oct 29 2019, 5:46 PM · Restricted Project
beanz added a comment to D69356: [NFC] Rename LLVM_NO_DEAD_STRIP.

Is there some documentation indicating these other use cases?

Oct 29 2019, 5:27 PM · Restricted Project, Restricted Project
beanz committed rG187d43b8fc89: NFC. clang-format (authored by beanz).
NFC. clang-format
Oct 29 2019, 4:17 PM
beanz committed rG51c9c1d23a79: Fixing clang build as a result of r332021 (authored by beanz).
Fixing clang build as a result of r332021
Oct 29 2019, 4:17 PM
beanz added a comment to D69356: [NFC] Rename LLVM_NO_DEAD_STRIP.

LLVM_NO_DEAD_STRIP isn't actually useful only for when plugins are enabled. It is also useful in a lot of contexts around building JIT host processes. The advantage of the old name was it specified exactly what it did (i.e. not dead strip code).

Oct 29 2019, 2:31 PM · Restricted Project, Restricted Project
beanz committed rGd9d83b6c126d: Merge remote-tracking branch 'origin/master' into upstream-with-swift (authored by beanz).
Merge remote-tracking branch 'origin/master' into upstream-with-swift
Oct 29 2019, 12:59 PM
beanz committed rGf72d762d1e8c: Merge remote-tracking branch 'origin/master' into upstream-with-swift (authored by beanz).
Merge remote-tracking branch 'origin/master' into upstream-with-swift
Oct 29 2019, 12:36 PM
beanz accepted D69444: [Support] Check for atomics64 when deciding if '-latomic' is needed.
Oct 29 2019, 12:31 PM · Restricted Project

Oct 25 2019

beanz accepted D69412: build: avoid hardcoding the libxml2 library name.

LGTM

Oct 25 2019, 3:06 PM · Restricted Project
beanz requested changes to D69003: [dsymutil] Explicitly link against libatomic when necessary.

You don't need to add the library to dsymutil. It is not code in dsymutil that depends on libatomic, it is code in LLVMSupport that dsymutil is using. By fixing this in LLVMSupport, any library linked against LLVMSupport will have a linkage to libatomic added.

Oct 25 2019, 2:56 PM · Restricted Project
beanz added a comment to D69407: build: remove `LLVM_CXX_STD` extension point.

Everything about this change seems good to me, the only thing I'd suggest is that we add a documentation note about CMAKE_CXX_STANDARD to docs/CMake.rst.

Oct 25 2019, 10:34 AM · Restricted Project
beanz accepted D69407: build: remove `LLVM_CXX_STD` extension point.
Oct 25 2019, 10:34 AM · Restricted Project

Oct 22 2019

beanz accepted D69325: Fix broken sphinx link in CMake.rst..

LGTM

Oct 22 2019, 2:50 PM · Restricted Project

Oct 16 2019

beanz added a comment to D69003: [dsymutil] Explicitly link against libatomic when necessary.

I'm not sure this is the correct fix.

Oct 16 2019, 12:31 PM · Restricted Project

Oct 11 2019

beanz added a comment to D68833: [CMake] Re-order runtimes in the order of dependencies.

Yes, precisely. That's also the currently preferred way of building libc++: https://libcxx.llvm.org/docs/BuildingLibcxx.html

Oct 11 2019, 2:04 PM · Restricted Project
beanz added a comment to D68833: [CMake] Re-order runtimes in the order of dependencies.

CMake tracks dependencies between targets, but not between directories. If the CMakeLists.txt in some directory (e.g. <root>/libcxx/) needs a target defined in another directory (e.g. <root>/libcxxabi/), one has to make sure that libcxxabi's CMakeLists.txt is included before libcxx's CMakeLists.txt. This isn't new or vexing, IMO. If that is what this patch ensures (I don't know the runtimes build very well), I think this is good.

Oct 11 2019, 11:19 AM · Restricted Project

Oct 10 2019

beanz added a comment to D68833: [CMake] Re-order runtimes in the order of dependencies.

Two thoughts.

Oct 10 2019, 8:12 PM · Restricted Project
beanz requested changes to D68833: [CMake] Re-order runtimes in the order of dependencies.
Oct 10 2019, 8:12 PM · Restricted Project

Oct 9 2019

beanz created D68732: Break out OrcError and RPC.
Oct 9 2019, 2:31 PM · Restricted Project
beanz added a comment to D63614: [System Model] [TTI] Update cache and prefetch TTI interfaces.

This patch causes lots of warning spews because it adds virtual methods to a class that doesn't have a virtual destructor.

Oct 9 2019, 1:22 PM · Restricted Project

Oct 6 2019

beanz created D68556: Document `LLVM_USE_SPLIT_DWARF` option.
Oct 6 2019, 2:20 PM · Restricted Project
beanz abandoned D68555: Make appendCallNB lambda mutable.

Accidentally uploaded this

Oct 6 2019, 12:24 PM · Restricted Project
beanz created D68555: Make appendCallNB lambda mutable.
Oct 6 2019, 12:24 PM · Restricted Project

Oct 4 2019

beanz added a comment to D68448: [clang-tools-extra] [cmake] Link against libclang-cpp whenever possible.

More dynamic, less static usage :)

Oct 4 2019, 1:20 PM · Restricted Project
beanz accepted D68448: [clang-tools-extra] [cmake] Link against libclang-cpp whenever possible.

LGTM.

Oct 4 2019, 1:17 PM · Restricted Project
beanz accepted D68429: [clang] [cmake] Use add_clang_tool() to install all tools.

fair enough

Oct 4 2019, 1:13 PM · Restricted Project
beanz accepted D68430: Don't use object libraries with Xcode.

That's fine. That said, there are things that just can't be done, or don't work well, in the Xcode and Visual Studio generators, so we have precedent for disabling functionality based on those generators.

Oct 4 2019, 11:13 AM · Restricted Project