Page MenuHomePhabricator

hans (Hans Wennborg)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 18 2013, 6:48 AM (449 w, 2 d)

Recent Activity

Mon, Nov 22

hans accepted D114330: [asm] Merge EmitMSInlineAsmStr() and EmitGCCInlineAsmStr().

nice!

Mon, Nov 22, 5:59 AM · Restricted Project
hans accepted D114329: [asm] Allow labels as operands in intel asm syntax.

lgtm

Mon, Nov 22, 5:57 AM · Restricted Project

Sat, Nov 20

hans added a comment to D112811: [ARM] implement LOAD_STACK_GUARD for remaining targets.

We bisected some Chromium test failures on Android, which points to this change (https://crbug.com/1270361). We'll investigate further, just wanted to give a heads up.

Sat, Nov 20, 12:47 AM · Restricted Project

Fri, Nov 19

hans accepted D114167: [asm] Allow block address operands in `asm inteldialect`.

lgtm

Fri, Nov 19, 6:05 AM · Restricted Project
hans accepted D114216: [asm] Remove explicit branch for modifier 'l'.

lgtm

Fri, Nov 19, 5:08 AM · Restricted Project

Thu, Nov 18

hans added a comment to D110368: [AA] Move earliest escape tracking from DSE to AA.

A Chromium developer reported compiler non-determinism that we bisected to this change. see https://bugs.chromium.org/p/chromium/issues/detail?id=1268247#c12 for a reproducer with preprocessed source.

Thu, Nov 18, 11:51 AM · Restricted Project

Wed, Nov 17

hans accepted D113894: [x86/asm] Make variants work when converting at&t inline asm input to intel asm output.

lgtm

Wed, Nov 17, 7:08 AM · Restricted Project
hans accepted D113707: [clang] Make -masm=intel affect inline asm style.

lgtm

Wed, Nov 17, 7:08 AM · Restricted Project
hans accepted D113932: [x86/asm] Let EmitMSInlineAsmStr() handle variants too.

At what point does EmitGCCInlineAsmStr and EmitMSInlineAsmStr become similar enough that they could just take the desired variant as a parameter?

Wed, Nov 17, 6:12 AM · Restricted Project
hans added a comment to D110216: [clang] retain type sugar in auto / template argument deduction.

Sorry, the attached file is here:

Wed, Nov 17, 5:13 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
hans added a comment to D110216: [clang] retain type sugar in auto / template argument deduction.

I am not sure how to reproduce this.

Wed, Nov 17, 5:12 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Tue, Nov 16

hans added a comment to D110216: [clang] retain type sugar in auto / template argument deduction.

We're seeing a diagnostic change in Chromium which looks funny. For the following code (span<> is our own class):

Tue, Nov 16, 11:06 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Mon, Nov 15

hans accepted D113911: [asm] Convert AsmPrinter::PrintSpecial() to StringRef.

Nice!

Mon, Nov 15, 11:46 AM · Restricted Project
hans accepted D113909: [asm] Correctly handle special names in variants.

Thanks! lgtm

Mon, Nov 15, 11:45 AM · Restricted Project
hans accepted D113924: [asm] Make EmitMSInlineAsmStr and EmitGCCInlineAsmStr more alike.

lgtm

Mon, Nov 15, 11:21 AM · Restricted Project
hans added a comment to D113909: [asm] Correctly handle special names in variants.

I'm not familiar with this code, so apologies for the silly question, but how does this change make a difference for the new test case?

Mon, Nov 15, 9:45 AM · Restricted Project
hans added a comment to D113603: [x86] fold vector (X > -1) & Y to shift+andn.

creduce finished, posted the reduced input here: https://bugs.chromium.org/p/chromium/issues/detail?id=1270222#c5

Mon, Nov 15, 7:39 AM · Restricted Project
hans added reviewers for D113894: [x86/asm] Make variants work when converting at&t inline asm input to intel asm output: anirudhp, uweigand.

Looks reasonable to me, but every time I touch anything related to inline asm, something always breaks, so I'm also a bit worried.

Mon, Nov 15, 7:29 AM · Restricted Project
hans added a comment to D110368: [AA] Move earliest escape tracking from DSE to AA.

A Chromium developer reported compiler non-determinism that we bisected to this change. see https://bugs.chromium.org/p/chromium/issues/detail?id=1268247#c12 for a reproducer with preprocessed source.

Mon, Nov 15, 5:23 AM · Restricted Project
hans added a comment to D113603: [x86] fold vector (X > -1) & Y to shift+andn.

This caused assertions in Chromium builds targeting Windows. See https://bugs.chromium.org/p/chromium/issues/detail?id=1270222#c1 for a reproducer.

Mon, Nov 15, 3:36 AM · Restricted Project
hans added a reverting change for rGbf5748a1af0d: [x86] fold vector (X > -1) & Y to shift+andn: rG5be64d416481: Revert "[x86] fold vector (X > -1) & Y to shift+andn".
Mon, Nov 15, 3:36 AM
hans committed rG5be64d416481: Revert "[x86] fold vector (X > -1) & Y to shift+andn" (authored by hans).
Revert "[x86] fold vector (X > -1) & Y to shift+andn"
Mon, Nov 15, 3:36 AM
hans added a reverting change for D113603: [x86] fold vector (X > -1) & Y to shift+andn: rG5be64d416481: Revert "[x86] fold vector (X > -1) & Y to shift+andn".
Mon, Nov 15, 3:36 AM · Restricted Project

Fri, Nov 5

hans accepted D113282: [gn build] Use build-machine-independent paths in coverage information.

lgtm

Fri, Nov 5, 7:46 AM · Restricted Project

Wed, Nov 3

hans added a comment to D110867: X86InstrInfo: Support immediates that are +1/-1 different in optimizeCompareInstr.

The reproducer I was using looks good with the latest version of the patch. Thanks!

Wed, Nov 3, 12:29 PM · Restricted Project
hans added a comment to D110867: X86InstrInfo: Support immediates that are +1/-1 different in optimizeCompareInstr.

I've reverted back to green in https://github.com/llvm/llvm-project/commit/a2a58d91e82db38fbdf88cc317dcb3753d79d492 until this can be fixed.

Wed, Nov 3, 9:02 AM · Restricted Project
hans added a reverting change for rGe2c7ee074359: X86InstrInfo: Support immediates that are +1/-1 different in…: rGa2a58d91e82d: Revert "X86InstrInfo: Support immediates that are +1/-1 different in….
Wed, Nov 3, 9:02 AM
hans committed rGa2a58d91e82d: Revert "X86InstrInfo: Support immediates that are +1/-1 different in… (authored by hans).
Revert "X86InstrInfo: Support immediates that are +1/-1 different in…
Wed, Nov 3, 9:02 AM
hans added a reverting change for D110867: X86InstrInfo: Support immediates that are +1/-1 different in optimizeCompareInstr: rGa2a58d91e82d: Revert "X86InstrInfo: Support immediates that are +1/-1 different in….
Wed, Nov 3, 9:01 AM · Restricted Project
hans added a comment to D110867: X86InstrInfo: Support immediates that are +1/-1 different in optimizeCompareInstr.

This seems to have caused a miscompile of Chromium, see https://bugs.chromium.org/p/chromium/issues/detail?id=1265339 (there's even a screenshot).

Wed, Nov 3, 8:56 AM · Restricted Project

Tue, Nov 2

hans accepted D113021: [cmake] Make LLVM_ENABLE_LLD=ON work better on macOS.

lgtm with one question

Tue, Nov 2, 7:49 AM · Restricted Project, Restricted Project
hans accepted D112885: [llvm-reduce] Reduce more GlobalValue properties.

lgtm

Tue, Nov 2, 2:55 AM · Restricted Project
hans accepted D112884: [llvm-reduce] Reduce some GlobalObject properties.

lgtm

Tue, Nov 2, 2:40 AM · Restricted Project

Sun, Oct 31

hans accepted D112871: [lld/coff] Add parsing for /pdbpagesize: flag.

Feel free to ignore the comment.

Sun, Oct 31, 11:59 AM · Restricted Project

Oct 28 2021

hans committed rG4d2765e9949f: Re-instate -Wweak-template-vtables as a no-op flag (authored by hans).
Re-instate -Wweak-template-vtables as a no-op flag
Oct 28 2021, 5:41 AM
hans closed D112704: Re-instate -Wweak-template-vtables as a no-op flag.
Oct 28 2021, 5:41 AM · Restricted Project
hans requested review of D112704: Re-instate -Wweak-template-vtables as a no-op flag.
Oct 28 2021, 4:40 AM · Restricted Project

Oct 27 2021

hans accepted D112622: [gn build] Use LLD as host linker by default on macOS if clang_base_path is set.

lgtm

Oct 27 2021, 6:42 AM · Restricted Project
hans accepted D112620: [gn build] Add lldb to default target on Windows.

Sgtm.

Oct 27 2021, 6:36 AM · Restricted Project
hans accepted D112543: [clang] Add range accessor for ObjCAtTryStmt catch_stmts and use it.

Nice!

Oct 27 2021, 5:39 AM · Restricted Project
hans accepted D112542: [clang] Convert ObjCAtTryStmt to llvm::TrailingObjects.

Do you think the ObjCAtTryStmt::Create and CreateEmpty methods could be simplified by using totalSizeToAlloc()?

Oct 27 2021, 5:28 AM · Restricted Project

Oct 26 2021

hans accepted D112287: [clang] Implement CFG construction for @try and @catch.

lgtm, just some nits.

Oct 26 2021, 6:17 AM · Restricted Project

Oct 21 2021

hans committed rW5544a2e91620: Make index.html links use https more (authored by hans).
Make index.html links use https more
Oct 21 2021, 5:54 AM
hans committed rWfefb98a61c41: Add link to 13.0.0 release announcement email (authored by hans).
Add link to 13.0.0 release announcement email
Oct 21 2021, 5:54 AM
hans accepted D112190: [clang] Don't clear AST if we have consumers running after the main action.

lgtm

Oct 21 2021, 4:59 AM · Restricted Project

Oct 19 2021

hans added a comment to D112081: Define __STDC_NO_THREADS__ when targeting windows-msvc (PR48704).

Thanks for this! Should we similarly handle __STDC_NO_ATOMICS__, __STDC_NO_COMPLEX__, et al at the same time?

Oct 19 2021, 10:56 AM · Restricted Project
hans requested review of D112081: Define __STDC_NO_THREADS__ when targeting windows-msvc (PR48704).
Oct 19 2021, 8:41 AM · Restricted Project

Oct 12 2021

hans committed rGe76689ee3cce: Add self to .mailmap (authored by hans).
Add self to .mailmap
Oct 12 2021, 6:51 AM
hans accepted D111568: [clang] Omit most AttributedStatements from the CFG.
Oct 12 2021, 5:59 AM · Restricted Project
hans accepted D111570: [clang/CFG] Don't explicitly add AttributedStmtClass to AlwaysAddList.

Sounds good to me :)

Oct 12 2021, 5:49 AM · Restricted Project
hans added inline comments to D111568: [clang] Omit most AttributedStatements from the CFG.
Oct 12 2021, 4:40 AM · Restricted Project
hans added a comment to D111570: [clang/CFG] Don't explicitly add AttributedStmtClass to AlwaysAddList.

I guess I don't have enough context here. Why is AttributedStmtClass special here? Is it because it's a statement and the others are expressions, and so wouldn't go through CFGBlock::addStmt()?

Oct 12 2021, 4:27 AM · Restricted Project

Oct 11 2021

hans committed rG774388241e25: [MS compat] Handle #pragma fenv_access like #pragma STDC FENV_ACCESS (PR50694) (authored by hans).
[MS compat] Handle #pragma fenv_access like #pragma STDC FENV_ACCESS (PR50694)
Oct 11 2021, 8:08 AM
hans closed D111440: [MS compat] Handle #pragma fenv_access like #pragma STDC FENV_ACCESS (PR50694).
Oct 11 2021, 8:07 AM · Restricted Project
hans added inline comments to D111440: [MS compat] Handle #pragma fenv_access like #pragma STDC FENV_ACCESS (PR50694).
Oct 11 2021, 8:00 AM · Restricted Project
hans updated the diff for D111440: [MS compat] Handle #pragma fenv_access like #pragma STDC FENV_ACCESS (PR50694).

Slightly better diags, try to appease clang-format.

Oct 11 2021, 7:25 AM · Restricted Project
hans added inline comments to D111440: [MS compat] Handle #pragma fenv_access like #pragma STDC FENV_ACCESS (PR50694).
Oct 11 2021, 7:25 AM · Restricted Project
hans accepted D111466: [llc] Support -time-trace in llc.

lgtm

Oct 11 2021, 2:58 AM · Restricted Project
hans accepted D111472: [docs] Mention in release notes that we now support 2^32 alignment.

Nice. Might be worth mentioning in Clang's release notes too.

Oct 11 2021, 2:36 AM · Restricted Project, Restricted Project

Oct 8 2021

hans requested review of D111440: [MS compat] Handle #pragma fenv_access like #pragma STDC FENV_ACCESS (PR50694).
Oct 8 2021, 9:45 AM · Restricted Project
hans accepted D111273: [clang-format-diff] Fix missing formatting for zero length git diff lines.

If you want to look into it, I think having some kind of test for this script would be useful.

Oct 8 2021, 3:09 AM · Restricted Project, Restricted Project
hans accepted D111122: [NFC][llvm-reduce] Cleanup types.
Oct 8 2021, 1:52 AM · Restricted Project

Oct 7 2021

hans accepted D111250: [clang] Set max allowed alignment to 2^32.
Oct 7 2021, 11:35 AM · Restricted Project
hans added a comment to D111250: [clang] Set max allowed alignment to 2^32.

Is there any codegen test we could update to check that a high alignment value makes it all the way through to the IR?

Oct 7 2021, 7:13 AM · Restricted Project
hans added a comment to D111273: [clang-format-diff] Fix missing formatting for zero length git diff lines.

Are there no tests for clang-format-diff.py? That seems unfortunate.

Oct 7 2021, 5:17 AM · Restricted Project, Restricted Project

Oct 6 2021

hans accepted D111232: [clang] Don't mark _ReadBarrier(), _ReadWriteBarrier(), _WriteBarrier() deprecated.

Sounds very reasonable to me. lgtm

Oct 6 2021, 7:47 AM · Restricted Project

Oct 5 2021

hans added a comment to D111072: [llvm-cxxfilt][NFC] Fix test for running in Windows cmd.

Is there a config tweak needed to get this to run properly for us? Given the upstream Windows bots are not seeing a problem.

Oct 5 2021, 6:37 AM · Restricted Project
hans accepted D111072: [llvm-cxxfilt][NFC] Fix test for running in Windows cmd.

We're also hitting the error in a downstream build (https://ci.chromium.org/ui/p/chromium/builders/try/win_upload_clang/1808), and it reproduces for me locally.

Oct 5 2021, 12:30 AM · Restricted Project

Oct 4 2021

hans accepted D110451: [IR] Increase max alignment to 4GB.
Oct 4 2021, 2:56 AM · Restricted Project, Restricted Project
hans committed rGc7bd6435993f: [libFuzzer] Use octal instead of hex escape sequences in PrintASCII (authored by hans).
[libFuzzer] Use octal instead of hex escape sequences in PrintASCII
Oct 4 2021, 2:34 AM
hans closed D110920: [libFuzzer] Use octal instead of hex escape sequences in PrintASCII.
Oct 4 2021, 2:34 AM · Restricted Project

Oct 1 2021

hans added a comment to D110451: [IR] Increase max alignment to 4GB.

This looks good to me. The only downside I could see is if we'd be growing sizeof(Instruction), but it sounds like that's not happening.

Oct 1 2021, 6:24 AM · Restricted Project, Restricted Project
hans requested review of D110920: [libFuzzer] Use octal instead of hex escape sequences in PrintASCII.
Oct 1 2021, 4:53 AM · Restricted Project
hans committed rG369ac758531a: [libFuzzer] Fix two typos (authored by hans).
[libFuzzer] Fix two typos
Oct 1 2021, 4:16 AM

Sep 30 2021

hans accepted D110770: [clang] Remove duplication in types::getCompilationPhases().

lgtm

Sep 30 2021, 11:02 AM · Restricted Project
hans accepted D110783: [clang] Make crash reproducer work with clang-cl.

lgtm, thanks for digging into this!

Sep 30 2021, 7:17 AM · Restricted Project
hans added inline comments to D110770: [clang] Remove duplication in types::getCompilationPhases().
Sep 30 2021, 6:41 AM · Restricted Project

Sep 29 2021

hans accepted D110668: [clang-cl] Accept `#pragma warning(disable : N)` for some N.

Nice! lgtm

Sep 29 2021, 9:25 AM · Restricted Project, Restricted Project
hans added a comment to D110668: [clang-cl] Accept `#pragma warning(disable : N)` for some N.

Nice!

Sep 29 2021, 1:23 AM · Restricted Project, Restricted Project

Sep 28 2021

hans accepted D110635: [clang] Let PPCallbacks::PragmaWarning() pass specifier as enum instead of string.

lgtm

Sep 28 2021, 10:03 AM · Restricted Project, Restricted Project

Sep 27 2021

hans accepted D110458: [clang] Put original flags on 'Driver args:' crash report line.

lgtm

Sep 27 2021, 5:57 AM · Restricted Project

Sep 24 2021

hans added a reverting change for rG4604695d7c20: Revert "[JumpThreading] Ignore free instructions": rG1e9afab87569: Re-apply "[JumpThreading] Ignore free instructions".
Sep 24 2021, 9:53 AM
hans committed rG1e9afab87569: Re-apply "[JumpThreading] Ignore free instructions" (authored by hans).
Re-apply "[JumpThreading] Ignore free instructions"
Sep 24 2021, 9:53 AM
hans added a comment to D110290: [JumpThreading] Ignore free instructions.

@hans Do I understand correctly that this change was mistakenly reverted and can be reapplied now that the DSE issue is fixed?

Sep 24 2021, 9:43 AM · Restricted Project
hans added a comment to D110290: [JumpThreading] Ignore free instructions.

This caused compiler crash when building Chromium. See https://bugs.chromium.org/p/chromium/issues/detail?id=1252762#c8 for a reproducer, and the top of that bug for the stack dump.

Sep 24 2021, 7:26 AM · Restricted Project
hans added a reverting change for rG1e3c6fc7cb9d: [JumpThreading] Ignore free instructions: rG4604695d7c20: Revert "[JumpThreading] Ignore free instructions".
Sep 24 2021, 7:25 AM
hans committed rG4604695d7c20: Revert "[JumpThreading] Ignore free instructions" (authored by hans).
Revert "[JumpThreading] Ignore free instructions"
Sep 24 2021, 7:25 AM
hans added a reverting change for D110290: [JumpThreading] Ignore free instructions: rG4604695d7c20: Revert "[JumpThreading] Ignore free instructions".
Sep 24 2021, 7:25 AM · Restricted Project

Sep 16 2021

hans accepted D109828: [clang-cl] Add a /diasdkdir flag and make /winsysroot imply it.

The /winsysroot part makes sense to me, but what's the case for the new /diasdkdir flag?

  • If you do have a vcvars shell, you don't need the full sysroot path and it's kind of useful (see example in commit message)
  • it seems nice to be able to explain /winsysroot as combination of other flags in the help text
  • it makes writing the test a bit easier
  • it makes diasdkdir more like the other flags controlled by /winsysroot
Sep 16 2021, 3:25 AM · Restricted Project

Sep 15 2021

hans added a comment to D109828: [clang-cl] Add a /diasdkdir flag and make /winsysroot imply it.

The /winsysroot part makes sense to me, but what's the case for the new /diasdkdir flag?

Sep 15 2021, 11:04 AM · Restricted Project

Sep 14 2021

hans accepted D109763: [gn build] Use lib_dirs instead of putting a qualified path in libs for diaguids.lib.

Commit message nit:

Sep 14 2021, 9:08 AM · Restricted Project
hans accepted D109708: [Windows build] Use "DIA SDK" in sysroot.

lgtm

Sep 14 2021, 1:53 AM · Restricted Project, Restricted Project

Sep 11 2021

hans accepted D109624: [clang] Make the driver not diagnose errors on nonexistent linker inputs.

I wonder if there are deeper reasons for GCC and Clang's current behaviour than early diagnosis and slightly nicer error messages.

One easy way to find out is land this and if it breaks something, add a comment and a test for the next person :)

Since cl.exe seems to match the behaviour your patch is switching to, maybe we should only do this in clang-cl mode?

Maybe! But the current behavior is arguably wrong for the clang -fuse-ld=lld -Wl,-chroot,some/path /foo.o case, so maybe we should try changing both for starters and then row back if needed?

Sep 11 2021, 10:30 AM · Restricted Project

Sep 10 2021

hans added a comment to D109624: [clang] Make the driver not diagnose errors on nonexistent linker inputs.

Hmm. As you worried yourself in https://bugs.llvm.org/show_bug.cgi?id=27234#c3 we might be getting a worse user experience in some cases. For example:

Sep 10 2021, 12:26 PM · Restricted Project
hans added a comment to D109361: [clang][Driver] Pick the last --driver-mode in case of multiple ones.

Thanks! I tried this locally and it fixes the issue I mentioned on D109361

Sep 10 2021, 8:04 AM · Restricted Project

Sep 9 2021

hans accepted D109455: [NFC] rename member of BitTestBlock and JumpTableHeader.

lgtm, thanks!

Sep 9 2021, 1:52 AM · Restricted Project

Sep 8 2021

hans accepted D109106: [ISEL][BitTestBlock] pre-commit test for D109103.

lgtm

Sep 8 2021, 12:31 AM · Restricted Project

Sep 7 2021

hans committed rGc364dcbf1fd8: Add llvm-ml to LLVM_TOOLCHAIN_TOOLS (PR50536) (authored by hans).
Add llvm-ml to LLVM_TOOLCHAIN_TOOLS (PR50536)
Sep 7 2021, 7:56 AM
hans closed D109358: Add llvm-ml to LLVM_TOOLCHAIN_TOOLS (PR50536).
Sep 7 2021, 7:55 AM · Restricted Project
hans added a comment to D109361: [clang][Driver] Pick the last --driver-mode in case of multiple ones.

Thanks! I tried this locally and it fixes the issue I mentioned on D109361

Sep 7 2021, 6:37 AM · Restricted Project