Page MenuHomePhabricator

jwhowarth (Jack Howarth)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 6 2016, 5:41 AM (206 w, 8 h)

Recent Activity

Jan 6 2017

jwhowarth added a comment to D28312: NewGVN: Fix PR 31501..
The most interesting failures are those of the format...
Jan 6 2017, 8:57 PM
jwhowarth added a comment to D28312: NewGVN: Fix PR 31501..

Perhaps also flip the default on the RunNewGVN enable-newgvn opt to true to see if any remaining latent regressions can be smoked out on less common targets?

We're nowhere near there yet, unfortunately.

Jan 6 2017, 8:51 PM
jwhowarth added a comment to D28312: NewGVN: Fix PR 31501..

Perhaps also flip the default on the RunNewGVN enable-newgvn opt to true to see if any remaining latent regressions can be smoked out on less common targets?

Jan 6 2017, 5:51 PM

Jan 5 2017

jwhowarth added a comment to D28312: NewGVN: Fix PR 31501..

Confirmed that the proposed patch builds a full 3-stage bootstrap with stage2/stage3 comparison on x86_64-apple-darwin16 for llvm/cfe/clang-tools-extra/polly/openmp/libcxx/compiler-rt when https://llvm.org/bugs/show_bug.cgi?id=31506 is worked around with...

Jan 5 2017, 1:01 PM
jwhowarth added a comment to D28312: NewGVN: Fix PR 31501..

Note: I 3-staged this change on both darwin, and linux.

Jan 5 2017, 7:30 AM

Nov 19 2016

jwhowarth added a comment to D26224: NewGVN.

Can you also post on Phabricator a mockup of a patch to enable the newgvn pass by default in the trunk clang compiler in order to simplify end-user testing? I noticed that the current clang compiler doesn't seem to enable the current gvn pass by default.

Nov 19 2016, 7:13 AM

Nov 8 2016

jwhowarth added a comment to D13072: [OpenMP] Enable ThreadSanitizer to check OpenMP programs.

Are there any benchmarks yet on potential performance penalties from building libomp with -D LIBOMP_TSAN_SUPPORT=TRUE as the release version of the library?

Nov 8 2016, 8:23 AM

Oct 30 2016

jwhowarth added a comment to D26116: Fix parent_path, used when generating libLTO path for unconditional`-lto_library', to handle compiler symlinks.

You mean 3.9.1 release, right?

Oct 30 2016, 4:33 PM
jwhowarth added a comment to D26116: Fix parent_path, used when generating libLTO path for unconditional`-lto_library', to handle compiler symlinks.

Do you have commit access or should I commit it for you?

Oct 30 2016, 4:01 PM

Oct 29 2016

jwhowarth added a comment to D26116: Fix parent_path, used when generating libLTO path for unconditional`-lto_library', to handle compiler symlinks.

One clarification why the observed values of...

Oct 29 2016, 1:39 PM
jwhowarth added a comment to D26116: Fix parent_path, used when generating libLTO path for unconditional`-lto_library', to handle compiler symlinks.

Proposed patch validated on x86_64-apple-darwin15 using 3-stage bootstrap with stage2/stage3 file comparison. No regressions are introduced in the compiler test suite. Also confirmed that the installed compiler properly generates the libLTO path for the unconditional '-lto_library' when invoked using the full path to the compiler binary or symlink as well as for using the compiler or symlink filename when their directories are in PATH.

Oct 29 2016, 6:31 AM
jwhowarth retitled D26116: Fix parent_path, used when generating libLTO path for unconditional`-lto_library', to handle compiler symlinks from to Fix parent_path, used when generating libLTO path for unconditional`-lto_library', to handle compiler symlinks.
Oct 29 2016, 6:21 AM

Oct 27 2016

jwhowarth added a comment to D25932: Unconditionally pass `-lto_library` to the linker on Darwin.

I just verified that I reproduce with -flto and an previous clang version.

Oct 27 2016, 11:09 AM
jwhowarth added a comment to D25932: Unconditionally pass `-lto_library` to the linker on Darwin.

Opened https://llvm.org/bugs/show_bug.cgi?id=30811 since the inability for symlinks to be handled in locating libLTO.dylib defeats the purpose of this commit.

Oct 27 2016, 11:04 AM
jwhowarth reopened D25932: Unconditionally pass `-lto_library` to the linker on Darwin.

This approach doesn't work if the user installs clang in a buried subdirectory such as /sw/opt/llvm-4.0 but accesses the compilers via a /sw/bin/clang-4.0 symlink pointing at /sw/opt/llvm-4.0/bin/clang-4.0...

Oct 27 2016, 10:49 AM

Feb 9 2016

jwhowarth updated the diff for D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Use refactored patch from Andrew Wilkins instead. Tested stock (static), BUILD_SHARED_LIBS and LLVM_LINK_LLVM_DYLIB builds of current trunk with this patch on x86_64 darwin for llvm/clang/clang-tools-extra/compiler-rt/polly/openmp/libc++ with no regressions introduced and proper linkages verified. Okay for trunk and back port to 3.8 branch?

Feb 9 2016, 10:10 PM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Diff 6 ID 47297 also tested for the same llvm/clang/clang-tools-extra/compiler-rt/openmp/polly/libc++ build on x86_64 darwin for the stock (static) and BUILD_SHARED_LIBS builds without regression. Likewise tested the patch back ported to 3.8 branch for the LLVM_LINK_LLVM_DYLIB build without regressions.

Feb 9 2016, 10:46 AM

Feb 8 2016

jwhowarth updated the diff for D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Drop changes to the linkage of the utils programs from patch. Successsfully regression tested on x86_64 darwin for a llvm/clang/clang-tools-extra/compiler-rt/polly/openmp/libc++ build using LLVM_LINK_LLVM_DYLIB.

Feb 8 2016, 11:13 PM
jwhowarth added inline comments to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.
Feb 8 2016, 8:16 PM
jwhowarth updated the diff for D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

For LLVM_LINK_LLVM_DYLIB builds, set the library dependencies of the gtest library to LLVM within llvm_add_library(), using a set_property() on LLVMBUILD_LIB_DEPS_gtest, rather than reading them from tools/llvm-config/LibraryDependencies.inc using get_property(). The patch avoids any attempt to refactor the unitests build machinery to keep these changes suitable for back porting to 3.8 branch. Confirmed that bootstraps of llvm/clang/clang-tools-extra/compiler-rt/openmp/polly/libc++ on x86_64 darwin for the stock (static), BUILD_SHARED_LIBS and LLVM_LINK_LLVM_DYLIB builds of current trunk produce no test suite regressions. Refactoring the unitests build machinery should be a separate follow-on patch to trunk.

Feb 8 2016, 7:42 PM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

It does look like the 'get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${name})' call for name as gtest is the problem. The build directory has...

Feb 8 2016, 1:48 PM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

I suspect the problem *might* be at...

Feb 8 2016, 1:25 PM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Using message statements to print out link_components in explicit_llvm_config() of cmake/modules/LLVM-Config.cmake shows that the 'gtest' linkage never passes through there.

Feb 8 2016, 12:58 PM
jwhowarth updated the diff for D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

This version still requires the pruning of 'support' from the required_libraries of the 'gtest' library at the cmake level.

Feb 8 2016, 11:18 AM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Doesn't the correct handling of the 'support' library dependency of 'gtest' have to be special cased for LLVM_LINK_LLVM_DYLIB in expand_topologically() of cmake/modules/LLVM-Config.cmake? It preceded by the comment...

Feb 8 2016, 10:35 AM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Any suggestions on how to adjust cmake to interpret the "required_libraries: Support" as "add Support to LLVM_LINK_COMPONENTS"? I am lost on that one.

Feb 8 2016, 9:44 AM

Feb 7 2016

jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Confirmed for Diff ID 47155 that a 3-stage bootstrap with stage2/stage3 file comparison for llvm/clang/clang-tools-extra/polly/openmp/libc++ on x86_64 darwin built with LLVM_LINK_LLVM_DYLIB produces no test suite regressions on both trunk and 3.8 branch. All other sections of the proposed patch have now been verified as essential.

Feb 7 2016, 1:16 PM
jwhowarth updated the diff for D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Simplify fix for utils/unittest/CMakeLists.txt to just adding 'if (NOT LLVM_LINK_LLVM_DYLIB)' wrapper.

Feb 7 2016, 1:11 PM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

While a change to utils/unittest/CMakeLists.txt is required to avoid these failures for the LLVM_LINK_LLVM_DYLIB build...

Feb 7 2016, 1:08 PM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

With regard to the changes in utils/unittest/CMakeLists.txt, these were introduced with the commit of http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20140224/206085.html and then refactored in https://github.com/llvm-mirror/llvm/commit/e4f11175cb95cd8609c0a81c798a550bd9add685#diff-740fc9f6ddb86b18e2f51ef242f40b8a. Since it is unclear exactly where utils/unittest/CMakeLists.txt is used, I think we should treat it very conservatively as I do in Diff ID 47114.

Feb 7 2016, 7:14 AM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Confirmed that the instance of 'LLVM' appended on target_link_libraries for LLVM_LINK_LLVM_DYLIB is essential in utils/FileCheck/CMakeLists.txt, utils/KillTheDoctor/CMakeLists.txt, utils/not/CMakeLists.txt and utils/yaml-bench/CMakeLists.txt. Removal of 'LLVM" from those instances of target_link_libraries() for LLVM_LINK_LLVM_DYLIB in Diff ID 47114 prunes it from the generated link.txt.

Feb 7 2016, 6:29 AM

Feb 6 2016

jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Tested Diff 47114 with 3-stage bootstraps and stage2/stage3 file comparison for llvm/clang/clang-tools-extra/polly/openmp/libc++ on x86_64 darwin. The stock (static), BUILD_SHARED_LIBS and LLVM_LINK_LLVM_DYLIB builds all show no regressions in the test suite. Also confirmed on the LLVM_LINK_LLVM_DYLIB build using...

Feb 6 2016, 10:12 PM
jwhowarth updated the diff for D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Eliminated linkages against both libLLVM and libLLVMSupport for FileCheck, KillTheDoctor, not and yams-bench with addition of a conditional on LLVM_LINK_LLVM_DYLIB in their CMakeLists.txt. Also, restored LIBS assignment using a conditional in unittest/CMakeLists.txt. I suspect the cmake files in the utils subdirectories are configured differently because TableGen build needs to link against selective static LLVM components as it is used in the later LLVM component builds.

Feb 6 2016, 7:40 PM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Unfortunately, I haven't caught every single hard-coding of LLVMSupport linkages. We still have a libLLVMSupport.a linkage with libLLVM and libgtest for FileCheck which seems to be hardcoded in cmake/modules/TableGen.cmake. So we will have to conditionalize that on. We are also getting those for the linkage of not, llvm-tblgen and yams-bench as well.

Feb 6 2016, 1:03 PM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

The original bug report this bug address is [[ URL | https://llvm.org/bugs/show_bug.cgi?id=26393 ]].

Feb 6 2016, 10:51 AM
jwhowarth added a comment to D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM.

Confirmed for 3-stage bootstraps (with stage-2/stage-3 file comparison) on x86-64 darwin of llvm/clang/clang-extras/compiler-rt/polly/openmp/libc++ svn trunk with diff 47085 applied that no regressions on the stock (static), BUILD_SHARED_LIBS and LLVM_LINK_LLVM_DYLIB builds are produced.

Feb 6 2016, 9:48 AM
jwhowarth retitled D16945: LLVM overhaul to avoid linking LLVM component libraries with libLLVM from to LLVM overhaul to avoid linking LLVM component libraries with libLLVM.
Feb 6 2016, 8:44 AM