Page MenuHomePhabricator

hans (Hans Wennborg)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 18 2013, 6:48 AM (317 w, 5 d)

Recent Activity

Fri, May 17

hans added a comment to D62040: [docs] Add new document on building distributions.

The Windows packages currently includes at least the asan runtime (and a bunch of other stuff like openmp that people ask for but I'm never quite sure if it works).

But I assume you're not building them using the just-built clang (LLVM_ENABLE_RUNTIMES). I'm not sure how any of our current mechanisms for installing those would work with cpack.

Fri, May 17, 10:45 AM · Restricted Project
hans added a comment to D62040: [docs] Add new document on building distributions.

@hans I have some ideas on how to make package work. There is a simple solution to make it work as long as you're not using any runtime components, but I have an idea on how to make it work with runtime components.

Fri, May 17, 10:37 AM · Restricted Project
hans added a comment to D62040: [docs] Add new document on building distributions.

Interesting! I didn't know about most of this.

Fri, May 17, 12:23 AM · Restricted Project

Thu, May 16

hans committed rL360878: Revert r360876 "[Object] Change object::SectionRef::getContents() to return….
Revert r360876 "[Object] Change object::SectionRef::getContents() to return…
Thu, May 16, 5:06 AM

Tue, May 14

hans committed rC360657: Revert r360637 "PR41817: Fix regression in r359260 that caused the MS….
Revert r360637 "PR41817: Fix regression in r359260 that caused the MS…
Tue, May 14, 3:12 AM
hans committed rL360657: Revert r360637 "PR41817: Fix regression in r359260 that caused the MS….
Revert r360637 "PR41817: Fix regression in r359260 that caused the MS…
Tue, May 14, 3:12 AM

Mon, May 13

hans committed rC360580: Revert r360559 "[c++20] P1064R0: Allow virtual function calls in constant….
Revert r360559 "[c++20] P1064R0: Allow virtual function calls in constant…
Mon, May 13, 6:16 AM
hans committed rL360580: Revert r360559 "[c++20] P1064R0: Allow virtual function calls in constant….
Revert r360559 "[c++20] P1064R0: Allow virtual function calls in constant…
Mon, May 13, 6:16 AM

Thu, May 9

hans committed rL360320: X86WinAllocaExpander: Drop code looking through register copies (PR41786).
X86WinAllocaExpander: Drop code looking through register copies (PR41786)
Thu, May 9, 2:20 AM
hans closed D61671: X86WinAllocaExpander: Drop code looking through register copies (PR41786).
Thu, May 9, 2:20 AM · Restricted Project

Wed, May 8

hans accepted D61684: [compiler-rt] Make builtins test pass when using i386 gcc as host compiler.
Wed, May 8, 8:45 AM · Restricted Project
hans added inline comments to D61671: X86WinAllocaExpander: Drop code looking through register copies (PR41786).
Wed, May 8, 4:38 AM · Restricted Project
hans updated the diff for D61671: X86WinAllocaExpander: Drop code looking through register copies (PR41786).
Wed, May 8, 4:38 AM · Restricted Project
hans created D61671: X86WinAllocaExpander: Drop code looking through register copies (PR41786).
Wed, May 8, 3:06 AM · Restricted Project

Mon, May 6

hans committed rC360024: Revert r359949 "[clang] adding explicit(bool) from c++2a".
Revert r359949 "[clang] adding explicit(bool) from c++2a"
Mon, May 6, 2:50 AM
hans committed rLLDB360024: Revert r359949 "[clang] adding explicit(bool) from c++2a".
Revert r359949 "[clang] adding explicit(bool) from c++2a"
Mon, May 6, 2:49 AM
hans committed rL360024: Revert r359949 "[clang] adding explicit(bool) from c++2a".
Revert r359949 "[clang] adding explicit(bool) from c++2a"
Mon, May 6, 2:49 AM

Tue, Apr 30

hans accepted D61317: Add llvm-profdata to LLVM_TOOLCHAIN_TOOLS.

lgtm

Tue, Apr 30, 8:26 AM · Restricted Project
hans added a comment to D61193: vs integration: Use llvm-lib for librarian.

Thanks! I've rebuilt and published the extension: https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain (version 1.0.359557).

Tue, Apr 30, 5:49 AM · Restricted Project
hans committed rL359557: vs integration: vs2019 support.
vs integration: vs2019 support
Tue, Apr 30, 5:39 AM

Mon, Apr 29

hans committed rL359429: gn: Fix check-clang build after r359179.
gn: Fix check-clang build after r359179
Mon, Apr 29, 2:58 AM

Fri, Apr 26

hans added a comment to D61132: [builtins] run-time support for sparse maps in llvm.

I'm also not really familiar with code in compiler-rt.

Fri, Apr 26, 2:20 AM · Restricted Project, Restricted Project
hans accepted D61177: [MinGW] Always emit local typeinfo.

lgtm

Fri, Apr 26, 2:13 AM · Restricted Project
hans accepted D61176: [MinGW] Do dllexport inline methods in template instantiation.

lgtm

Fri, Apr 26, 2:08 AM · Restricted Project
hans accepted D61175: [MinGW] Don't let template instantiation declarations cover nested classes.

Seems okay to me.

Fri, Apr 26, 2:01 AM · Restricted Project
hans added a comment to D60982: [SimplifyCFG] Use lookup tables when they are more space efficient or a huge speed win..

I'm trying to follow along here, but there's so much churn I'm not sure what I'm supposed to be reviewing?

Fri, Apr 26, 1:58 AM · Restricted Project
hans committed rL359287: Fix alignment in AArch64InstructionSelector::emitConstantPoolEntry().
Fix alignment in AArch64InstructionSelector::emitConstantPoolEntry()
Fri, Apr 26, 1:29 AM
hans closed D61124: Fix alignment in AArch64InstructionSelector::emitConstantPoolEntry().
Fri, Apr 26, 1:29 AM · Restricted Project
hans added a comment to D61124: Fix alignment in AArch64InstructionSelector::emitConstantPoolEntry().

I'll commit this now since it seems like an obvious fix. Happy to take post-commit review comments.

Fri, Apr 26, 1:24 AM · Restricted Project

Thu, Apr 25

hans created D61124: Fix alignment in AArch64InstructionSelector::emitConstantPoolEntry().
Thu, Apr 25, 3:09 AM · Restricted Project
hans added a comment to D60295: [SelectionDAG] Change the jump table size unit from entry to target.

I still think looking at the number of cases isn't that much better than looking at the size of the range though. As you said, the point is to limit the load on the branch target predictor, and IIUC that's limited on the number of *different branch targets*, which is really orthogonal to the number of cases. I realize that we don't have that information as readily available, but do you agree that limiting the jump table to a certain number of different targets would be a better approach?

For each case there is a target in the table, that may potentially be reached or not at run time, but would prevent stressing the predictor. So, cases and targets are not orthogonal, but the same.

Thu, Apr 25, 2:02 AM · Restricted Project
hans accepted D61118: [MinGW] Fix dllexport of explicit template instantiation.

Looks good to me.

Thu, Apr 25, 1:42 AM · Restricted Project, Restricted Project

Wed, Apr 24

hans added a comment to D60935: [IndVarSimplify] Fixup nowrap flags during LFTR when moving to post-inc (PR31181).

Based on https://bugs.llvm.org/show_bug.cgi?id=31181#c9 it sounds like Sanjoy was the closest to a solution back then. Can you take a look?

Wed, Apr 24, 6:35 AM · Restricted Project
hans committed rC359081: Add 'REQUIRES: shell' to verbose-output-quoting.c.
Add 'REQUIRES: shell' to verbose-output-quoting.c
Wed, Apr 24, 3:10 AM
hans committed rL359081: Add 'REQUIRES: shell' to verbose-output-quoting.c.
Add 'REQUIRES: shell' to verbose-output-quoting.c
Wed, Apr 24, 3:10 AM
hans committed rL359077: Fix unquoted spaces in args in clang --verbose output.
Fix unquoted spaces in args in clang --verbose output
Wed, Apr 24, 2:04 AM
hans committed rC359077: Fix unquoted spaces in args in clang --verbose output.
Fix unquoted spaces in args in clang --verbose output
Wed, Apr 24, 2:04 AM
hans closed D60997: Fix unquoted spaces in args in clang --verbose output.
Wed, Apr 24, 2:04 AM · Restricted Project
hans accepted D61029: clang-cl: List valid values for /std: in /? output.

lgtm

Wed, Apr 24, 1:50 AM · Restricted Project

Tue, Apr 23

hans accepted D60997: Fix unquoted spaces in args in clang --verbose output.

Thanks for fixing!

Tue, Apr 23, 2:48 AM · Restricted Project

Apr 18 2019

hans accepted D60627: [MSVC] Use the correct casing of HostX64/HostX86.

Looks good to me.

Apr 18 2019, 4:50 AM · Restricted Project, Restricted Project

Apr 17 2019

hans added a comment to D60800: [MS] Emit S_HEAPALLOCSITE debug info.

I don't really know about the functionality here, just adding a few comments on the code itself.

Apr 17 2019, 10:00 AM · Restricted Project, Restricted Project
hans committed rC358570: clang-cl: Parse /openmp:experimental.
clang-cl: Parse /openmp:experimental
Apr 17 2019, 3:04 AM
hans committed rL358570: clang-cl: Parse /openmp:experimental.
clang-cl: Parse /openmp:experimental
Apr 17 2019, 3:04 AM
hans accepted D60728: [clang] [test] Add a (xfailing) test for PR41027.

What's the value in checking in this xfail'ed test without an actual fix for the problem?

Raise awareness about the problem.

Apr 17 2019, 12:30 AM

Apr 16 2019

hans accepted D60774: llvm-undname: Tweak arena allocator.

lgtm

Apr 16 2019, 6:47 AM · Restricted Project
hans added a comment to D60728: [clang] [test] Add a (xfailing) test for PR41027.

What's the value in checking in this xfail'ed test without an actual fix for the problem?

Apr 16 2019, 6:27 AM
hans added inline comments to D60771: llvm-undname: Add a -raw-input flag to pass a raw buffer to microsoftDemangle.
Apr 16 2019, 6:01 AM · Restricted Project
hans accepted D60771: llvm-undname: Add a -raw-input flag to pass a raw buffer to microsoftDemangle.

lgtm

Apr 16 2019, 5:42 AM · Restricted Project
hans committed rL358483: Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink….
Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink…
Apr 16 2019, 5:12 AM
hans committed rC358483: Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink….
Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink…
Apr 16 2019, 5:12 AM
hans added a comment to D59936: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259).

Re-committed in r358483.

Apr 16 2019, 5:11 AM · Restricted Project
hans added a comment to D60586: [Clang] Conversion of a switch table to a bitmap is not profitable for -Os and -Oz compilation.

I've replied on the LLVM side of the patch, https://reviews.llvm.org/D60584

Apr 16 2019, 4:57 AM · Restricted Project
hans added a comment to D60584: Conversion of a switch table to a bitmap is not profitable for -Os and -Oz compilation.

First I was confused because your message mentions jump tables, but this is only about the switch-to-lookup table transformation in SimplifyCFG. So there are no jump tables involved, this is just about whether packing the lookup table into a "bitmap" scalar is a good idea or not.

Apr 16 2019, 4:57 AM
hans committed rL358480: Win snapshot: r358402.
Win snapshot: r358402
Apr 16 2019, 1:31 AM
hans added a comment to D59936: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259).

What are you thinking is best here? I agree that lifetime.end shouldn't prohibit optimisations. Do you think it's best to fix asan and go with this as-is, or to try and prevent sinking if it will only sink a lifetime.time?

Apr 16 2019, 1:02 AM · Restricted Project
hans committed rL358478: Asan use-after-scope: don't poison allocas if there were untraced lifetime….
Asan use-after-scope: don't poison allocas if there were untraced lifetime…
Apr 16 2019, 12:53 AM
hans closed D60686: Asan use-after-scope: don't poison allocas if there were untraced lifetime intrinsics in the function (PR41481).
Apr 16 2019, 12:53 AM · Restricted Project
hans added a comment to D60686: Asan use-after-scope: don't poison allocas if there were untraced lifetime intrinsics in the function (PR41481).

LGTM
Consider extending the test with another alloca which does not participate in any untraceable lifetimes, but has to be poisoned in entry block anyway.

Apr 16 2019, 12:33 AM · Restricted Project

Apr 15 2019

hans committed rC358402: clang-format vs plugin: Visual Studio 2019 support.
clang-format vs plugin: Visual Studio 2019 support
Apr 15 2019, 6:00 AM
hans committed rL358402: clang-format vs plugin: Visual Studio 2019 support.
clang-format vs plugin: Visual Studio 2019 support
Apr 15 2019, 6:00 AM
hans created D60686: Asan use-after-scope: don't poison allocas if there were untraced lifetime intrinsics in the function (PR41481).
Apr 15 2019, 4:42 AM · Restricted Project
hans accepted D60631: [Support] Fix recursive response file expansion guard.

Looks good to me.

Apr 15 2019, 1:46 AM · Restricted Project
hans accepted D60630: [Support] Add a test for recursive response file expansion.

Looks good to me.

Apr 15 2019, 1:46 AM · Restricted Project

Apr 12 2019

hans committed rL358281: Revert r358268 "[DebugInfo] DW_OP_deref_size in PrologEpilogInserter.".
Revert r358268 "[DebugInfo] DW_OP_deref_size in PrologEpilogInserter."
Apr 12 2019, 5:54 AM
hans added a comment to D59936: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259).
In D59936#1454346, @dlj wrote:

This revision causes tests to fail under ASAN. After some investigation (with Chandler's help), it looks like the safest course of action is to revert. We're following up with Hans separately.

Reverted as r357667.

Thanks, and sorry for the breakage.

For my own notes, the internal bug tracker entry is 129905821. The V8 team also saw asan errors from ICU due to this, tracked in https://bugs.chromium.org/p/v8/issues/detail?id=9086 I'll try to investigate there to keep this in the open.

Apr 12 2019, 5:16 AM · Restricted Project
hans committed rL358267: Fix missing arguments in tutorial.
Fix missing arguments in tutorial
Apr 12 2019, 1:23 AM
hans closed D60369: Fix missing arguments in tutorial.
Apr 12 2019, 1:23 AM · Restricted Project

Apr 11 2019

hans accepted D60437: Add MM register mapping from CodeView to MC register id.

Okay, let's not worry too much about the test case, the patch seems obviously good.

Apr 11 2019, 7:42 AM · Restricted Project
hans added a comment to D60437: Add MM register mapping from CodeView to MC register id.

I'm not familiar with the CodeView stuff, rnk is the better person for that, but would it be possible to add a test that exercises this mapping? Or to put it another way, what does this fix that's currently broken, and is it possible to add a test for it?

I try to add such test case, but I don't find any existing test case for mapping codeveiw register to MC register.
@rnk
Do you know if there is any reference test case in llvm/test code?

You can try removing a bunch of the entries in RegMap and see which tests fail. They're all in llvm/tests/DebugInfo/COFF/
I don't think there's any test for the mapping itself, but the tests rely on it to work.

That's what my second question was about: what is currently not working that your patch is fixing, and can that be used to write a test?

Thank you for the suggestion. I disable the code of xmm0 - xmm7 mapping and there is no case failure in llvm/tests/DebugInfo/COFF/. However when I disable general register (rax -r15), some of the test cases (.e.g test/DebugInfo/COFF/types-basic.ll) fail. There is pretty much code for the failed test case which I'm investigating. To create a small test case, we may need to cause much pressure on register allocator for mm0 - mm7 with __m64 variable in c code. However I have not figured out how to created such case.
Nevertheless, does anybody know why the mm0-mm7 registers are not mapped. Is there any reasons on it?

Apr 11 2019, 6:41 AM · Restricted Project
hans added a comment to D60295: [SelectionDAG] Change the jump table size unit from entry to target.

I also don't see exactly how the semantics of max-jump-table-size are changed with this patch? What am I missing? Can you upload it again with more context maybe?

Look at llvm/include/llvm/CodeGen/TargetLowering.h below.

Apr 11 2019, 5:47 AM · Restricted Project
hans added a comment to D60437: Add MM register mapping from CodeView to MC register id.

I'm not familiar with the CodeView stuff, rnk is the better person for that, but would it be possible to add a test that exercises this mapping? Or to put it another way, what does this fix that's currently broken, and is it possible to add a test for it?

I try to add such test case, but I don't find any existing test case for mapping codeveiw register to MC register.
@rnk
Do you know if there is any reference test case in llvm/test code?

Apr 11 2019, 2:26 AM · Restricted Project
hans committed rL358156: try to fix the sphinx build some more.
try to fix the sphinx build some more
Apr 11 2019, 12:50 AM
hans committed rLLD358155: Fix two sphinx warnings.
Fix two sphinx warnings
Apr 11 2019, 12:30 AM
hans committed rL358155: Fix two sphinx warnings.
Fix two sphinx warnings
Apr 11 2019, 12:29 AM
hans committed rL358154: Try to fix the shpinx build.
Try to fix the shpinx build
Apr 11 2019, 12:29 AM

Apr 10 2019

hans committed rC358087: clang-cl: Fix parsing of the /F option (PR41405).
clang-cl: Fix parsing of the /F option (PR41405)
Apr 10 2019, 7:28 AM
hans committed rL358087: clang-cl: Fix parsing of the /F option (PR41405).
clang-cl: Fix parsing of the /F option (PR41405)
Apr 10 2019, 7:28 AM
hans accepted D60369: Fix missing arguments in tutorial.

Thanks! This matches the code in llvm/examples/Kaleidoscope/Chapter8/toy.cpp

Apr 10 2019, 6:03 AM · Restricted Project
hans added a comment to D59415: Do not resolve directory junctions for `-fdiagnostics-absolute-paths` on Windows..

I don't feel like I have enough background on what you're trying to do to review this. It sounds related to clangd issues maybe?

Apr 10 2019, 5:58 AM · Restricted Project
hans added a reviewer for D60437: Add MM register mapping from CodeView to MC register id: rnk.

I'm not familiar with the CodeView stuff, rnk is the better person for that, but would it be possible to add a test that exercises this mapping? Or to put it another way, what does this fix that's currently broken, and is it possible to add a test for it?

Apr 10 2019, 5:53 AM · Restricted Project

Apr 9 2019

hans added a comment to D54439: CMake: Make most target symbols hidden by default.

Looks good to me.

Are there any buildbots that will catch if someone forgets to put an LLVM_EXTERNAL_VISIBILITY somewhere that's needed?

I don't think so. At least on linux this would require building with -DLLVM_BUILD_LLVM_DYLIB=ON and -DLLVM_LINK_LLVM_DYLIB=ON and I don't see any bots doing this.

Apr 9 2019, 12:04 AM · Restricted Project

Apr 5 2019

hans added a comment to D60295: [SelectionDAG] Change the jump table size unit from entry to target.

This patch changes the semantics of the options min-jump-table-entries and max-jump-table-size to use the number of different targets instead of the number of entries in a jump table. Thus, the are now renamed to min-jump-table-cases and max-jump-table-cases, respectively.

Apr 5 2019, 7:58 AM · Restricted Project
hans accepted D54439: CMake: Make most target symbols hidden by default.

Looks good to me.

Apr 5 2019, 2:45 AM · Restricted Project
hans committed rL357746: Update my gpg key.
Update my gpg key
Apr 5 2019, 12:42 AM

Apr 4 2019

hans added a comment to D59936: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259).
In D59936#1454346, @dlj wrote:

This revision causes tests to fail under ASAN. After some investigation (with Chandler's help), it looks like the safest course of action is to revert. We're following up with Hans separately.

Reverted as r357667.

Apr 4 2019, 12:52 AM · Restricted Project

Apr 3 2019

hans committed rCXX357569: Revert "[libc++] Correctly handle Objective-C++ ARC qualifiers in std….
Revert "[libc++] Correctly handle Objective-C++ ARC qualifiers in std…
Apr 3 2019, 3:06 AM
hans committed rL357569: Revert "[libc++] Correctly handle Objective-C++ ARC qualifiers in std….
Revert "[libc++] Correctly handle Objective-C++ ARC qualifiers in std…
Apr 3 2019, 3:06 AM
hans added a comment to D59936: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259).

For the lifetime intrinsics, I don't think this really matters. As you say, it's good to do lifetime.end as soon as possible, so sinking them in general doesn't make sense, but I also don't think this matters much here because they can't be sunk very far, i.e. I don't see how this sinking could actually extend the lifetime.

Ok, yes I don't know, when I saw it it just worried me that perhaps intrinsics like lifetime.end was the "arbitrary" reason that we didn't allow to sink zero-use instructions before.

Apr 3 2019, 2:19 AM · Restricted Project
hans added a comment to D59936: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259).

When looking at some code changes for my out-of-tree target with this commit I noticed a change that I thought I'd ask if you think
is good or not.

With this change we now seem to sink e.g. calls to @llvm.lifetime.end? It returns void, and thus has 0 uses, and as far as I understand
such calls were not sinked before? Is this on purpose and is that good? In general I guess it's good to do lifetime.end at soon as possible?

(And I suppose there are also a whole bunch of other intrinsics that also return void that can be sinked now, I've no idea if that
can cause problems somewhere?)

Apr 3 2019, 1:29 AM · Restricted Project
hans added a comment to D59795: [DAGCombine] Improve Lifetime node chains..

This was reverted together with r357309 in r357563 as it caused
https://bugs.llvm.org/show_bug.cgi?id=41352

Apr 3 2019, 12:47 AM · Restricted Project
hans committed rL357563: Revert r357256 "[DAGCombine] Improve Lifetime node chains.".
Revert r357256 "[DAGCombine] Improve Lifetime node chains."
Apr 3 2019, 12:40 AM

Apr 2 2019

hans committed rL357464: Win snapshot: r357435.
Win snapshot: r357435
Apr 2 2019, 3:30 AM
hans committed rCRT357462: Fix tests after r357452.
Fix tests after r357452
Apr 2 2019, 3:05 AM
hans committed rL357462: Fix tests after r357452.
Fix tests after r357452
Apr 2 2019, 3:05 AM
hans committed rC357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without….
SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without…
Apr 2 2019, 1:00 AM
hans committed rL357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without….
SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without…
Apr 2 2019, 1:00 AM
hans closed D59936: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259).
Apr 2 2019, 1:00 AM · Restricted Project
hans added a comment to D59936: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259).

Looks like a good improvement to me.

Apr 2 2019, 12:59 AM · Restricted Project

Mar 29 2019

hans committed rC357255: clang-cl: Expose -fprofile-generate and -fcs-profile-generate (PR41252).
clang-cl: Expose -fprofile-generate and -fcs-profile-generate (PR41252)
Mar 29 2019, 7:03 AM