Page MenuHomePhabricator

hans (Hans Wennborg)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Today

hans committed rL351980: Merging r351670:.
Merging r351670:
Wed, Jan 23, 1:12 PM
hans committed rL351964: Merging r351899:.
Merging r351899:
Wed, Jan 23, 8:25 AM
hans committed rL351963: Merging r351898:.
Merging r351898:
Wed, Jan 23, 8:25 AM
hans committed rL351962: Merging r351738:.
Merging r351738:
Wed, Jan 23, 8:21 AM
hans committed rL351961: Merging r351531:.
Merging r351531:
Wed, Jan 23, 8:18 AM

Yesterday

hans committed rL351860: Merging r351788:.
Merging r351788:
Tue, Jan 22, 11:08 AM
hans committed rL351858: Merging r351754:.
Merging r351754:
Tue, Jan 22, 11:05 AM
hans committed rL351857: Merging r351753:.
Merging r351753:
Tue, Jan 22, 11:02 AM
hans accepted D56946: [Documentation] Use HTTPS whenever possible in Clang.

Seems like a good change to me.

Tue, Jan 22, 10:39 AM · Restricted Project
hans accepted D57005: [LLD] [docs] Amend the release notes with more things I've contributed since the last release.

lgtm

Tue, Jan 22, 10:37 AM
hans accepted D57004: [docs] Add release notes for notable things I've contributed since last release.
Tue, Jan 22, 10:15 AM
hans accepted D56963: Update the license text on the release page to telegraph to users about the relicening..

lgtm

Tue, Jan 22, 10:13 AM
hans committed rL351844: Merging r351686:.
Merging r351686:
Tue, Jan 22, 9:34 AM
hans committed rL351841: ReleaseNotes: remove openmp notes from r351580.
ReleaseNotes: remove openmp notes from r351580
Tue, Jan 22, 9:03 AM
hans committed rC351841: ReleaseNotes: remove openmp notes from r351580.
ReleaseNotes: remove openmp notes from r351580
Tue, Jan 22, 9:03 AM
hans committed rL351839: Merging r351580:.
Merging r351580:
Tue, Jan 22, 9:00 AM

Fri, Jan 18

hans committed rL351543: Merging r351426:.
Merging r351426:
Fri, Jan 18, 3:03 AM
hans added inline comments to rL351452: Merging r351421:.
Fri, Jan 18, 3:03 AM
hans added inline comments to D56819: Document toolchain update policy.
Fri, Jan 18, 2:17 AM
hans committed rL351538: Merging r351463, r351466, r351467, and r351468.
Merging r351463, r351466, r351467, and r351468
Fri, Jan 18, 2:06 AM
hans committed rL351536: Merging r351504:.
Merging r351504:
Fri, Jan 18, 2:01 AM
hans committed rL351535: Merging r351459:.
Merging r351459:
Fri, Jan 18, 1:57 AM
hans committed rL351533: Merging r351457:.
Merging r351457:
Fri, Jan 18, 1:36 AM
hans committed rL351532: Merging r351325:.
Merging r351325:
Fri, Jan 18, 1:08 AM
hans committed rL351530: Merging r351475:.
Merging r351475:
Fri, Jan 18, 1:08 AM

Thu, Jan 17

hans committed rL351452: Merging r351421:.
Merging r351421:
Thu, Jan 17, 7:43 AM
hans committed rL351451: Merging r351370:.
Merging r351370:
Thu, Jan 17, 7:41 AM
hans committed rL351446: Merging r351335:.
Merging r351335:
Thu, Jan 17, 5:52 AM
hans committed rL351445: Merging r351326:.
Merging r351326:
Thu, Jan 17, 5:51 AM
hans committed rL351444: Merging r351381:.
Merging r351381:
Thu, Jan 17, 5:48 AM
hans committed rL351443: Merging r351351:.
Merging r351351:
Thu, Jan 17, 5:46 AM
hans committed rL351442: Merging r351345:.
Merging r351345:
Thu, Jan 17, 5:40 AM
hans committed rL351441: Merging r351344:.
Merging r351344:
Thu, Jan 17, 5:36 AM
hans committed rL351440: Merging r351349:.
Merging r351349:
Thu, Jan 17, 5:31 AM
hans committed rL351439: Win snapshot: version number dump.
Win snapshot: version number dump
Thu, Jan 17, 5:22 AM
hans committed rL351438: Win snapshot: r351376.
Win snapshot: r351376
Thu, Jan 17, 5:20 AM
hans committed rL351437: Merging r351436:.
Merging r351436:
Thu, Jan 17, 5:16 AM
hans committed rL351436: build_llvm_package.bat: Run more tests.
build_llvm_package.bat: Run more tests
Thu, Jan 17, 5:15 AM
hans added a comment to D56445: [Sema] Teach Clang that aligned allocation is not supported with macosx10.13.

This (I think) caused a bunch of libc++ tests to start failing during testing of the newly created 8.0 branch on my machine, see https://bugs.llvm.org/show_bug.cgi?id=40354

Thu, Jan 17, 4:59 AM
hans committed rL351432: Merging r351431:.
Merging r351431:
Thu, Jan 17, 3:36 AM
hans committed rOMP351431: Revert r351311 "[OMPT] Make sure that OMPT is enabled when accessing internals….
Revert r351311 "[OMPT] Make sure that OMPT is enabled when accessing internals…
Thu, Jan 17, 3:36 AM
hans committed rL351431: Revert r351311 "[OMPT] Make sure that OMPT is enabled when accessing internals….
Revert r351311 "[OMPT] Make sure that OMPT is enabled when accessing internals…
Thu, Jan 17, 3:36 AM
hans committed rL351420: Merging r351340:.
Merging r351340:
Thu, Jan 17, 1:29 AM
hans committed rL351419: Merging r351360:.
Merging r351360:
Thu, Jan 17, 1:23 AM

Wed, Jan 16

hans accepted D52002: Omit range checks from jump tables when lowering switches with unreachable default.

ayonam updated this revision to Diff 181000.Thu, Jan 10, 12:55
Comment Actions

The patch failed another test because the branch to the unreachable default was omitted. The test cases have been modified. The >>affected tests are test/CodeGen/X86/pr38743.ll and test/CodeGen/X86/switch-jump-table.ll

I have no clue how the file test/CodeGen/X86/pr38743.ll got left out when I updated the revision on Jan 10. I am updating this revision with that file added.

@hans
My sincere apologies for this rework. The only changes are in test/CodeGen/X86/pr38743.ll. Could you please quickly check if things are fine with that file and accept this patch?

Wed, Jan 16, 11:42 PM
hans added a comment to D56781: Use response file when generating LLVM-C.dll.

I actually tried the patch and got

Wed, Jan 16, 6:24 AM
hans committed rL351343: Merging r351334:.
Merging r351334:
Wed, Jan 16, 5:48 AM
hans committed rL351342: Merging r351327:.
Merging r351327:
Wed, Jan 16, 5:37 AM
hans committed rCXXA351341: Found another version number to increase from 8 to 9.
Found another version number to increase from 8 to 9
Wed, Jan 16, 5:37 AM
hans committed rL351341: Found another version number to increase from 8 to 9.
Found another version number to increase from 8 to 9
Wed, Jan 16, 5:32 AM
hans committed rL351339: Drop svn version suffix.
Drop svn version suffix
Wed, Jan 16, 5:31 AM
hans committed rL351338: Drop svn version suffix.
Drop svn version suffix
Wed, Jan 16, 5:31 AM
hans committed rL351337: Drop svn version suffix.
Drop svn version suffix
Wed, Jan 16, 5:30 AM
hans committed rL351336: Drop svn version suffix.
Drop svn version suffix
Wed, Jan 16, 5:29 AM
hans added a comment to D56774: Build LLVM-C.dll by default on windows and enable in release package.

Here's an example from the buildbots: http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/31389/steps/build%20lld/logs/stdio

Wed, Jan 16, 4:50 AM
hans committed rL351329: Revert r351324 "Build LLVM-C.dll by default on windows and enable in release….
Revert r351324 "Build LLVM-C.dll by default on windows and enable in release…
Wed, Jan 16, 4:40 AM
hans added a comment to D56774: Build LLVM-C.dll by default on windows and enable in release package.

I just tried to build a package, and it failed like this:

Wed, Jan 16, 4:40 AM
hans committed rL351324: Build LLVM-C.dll by default on windows and enable in release package.
Build LLVM-C.dll by default on windows and enable in release package
Wed, Jan 16, 3:53 AM
hans closed D56774: Build LLVM-C.dll by default on windows and enable in release package.
Wed, Jan 16, 3:53 AM
hans added a comment to D56774: Build LLVM-C.dll by default on windows and enable in release package.

I've committed in r351324. That's just after the branch point, but if no problems show up, I'll merge it to the release branch.

Wed, Jan 16, 3:53 AM
hans committed rUNW351320: Bump the trunk version to 9.0.0svn.
Bump the trunk version to 9.0.0svn
Wed, Jan 16, 3:01 AM
hans committed rCXX351320: Bump the trunk version to 9.0.0svn.
Bump the trunk version to 9.0.0svn
Wed, Jan 16, 3:01 AM
hans committed rLLD351320: Bump the trunk version to 9.0.0svn.
Bump the trunk version to 9.0.0svn
Wed, Jan 16, 3:01 AM
hans committed rL351320: Bump the trunk version to 9.0.0svn.
Bump the trunk version to 9.0.0svn
Wed, Jan 16, 3:01 AM
hans committed rCTE351320: Bump the trunk version to 9.0.0svn.
Bump the trunk version to 9.0.0svn
Wed, Jan 16, 3:01 AM
hans committed rC351320: Bump the trunk version to 9.0.0svn.
Bump the trunk version to 9.0.0svn
Wed, Jan 16, 3:00 AM
hans accepted D56774: Build LLVM-C.dll by default on windows and enable in release package.

Looks good to me. Do you have commit access, or would you like me to commit it for you?

Wed, Jan 16, 1:50 AM
hans committed rC351312: UsersManual.rst: Update the clang-cl flags section.
UsersManual.rst: Update the clang-cl flags section
Wed, Jan 16, 1:17 AM
hans committed rL351312: UsersManual.rst: Update the clang-cl flags section.
UsersManual.rst: Update the clang-cl flags section
Wed, Jan 16, 1:17 AM
hans committed rL351309: Include lldb in Win snapshots again (PR37307).
Include lldb in Win snapshots again (PR37307)
Wed, Jan 16, 12:43 AM

Tue, Jan 15

hans committed rCXXA351194: Update year in license files.
Update year in license files
Tue, Jan 15, 10:55 AM
hans committed rL351202: gn build: Don't assume valgrind.h exists on Linux.
gn build: Don't assume valgrind.h exists on Linux
Tue, Jan 15, 8:56 AM
hans closed D56727: gn build: Don't assume valgrind.h exists on Linux.
Tue, Jan 15, 8:55 AM
hans added a comment to D56727: gn build: Don't assume valgrind.h exists on Linux.

Will do.

Tue, Jan 15, 8:53 AM
hans created D56727: gn build: Don't assume valgrind.h exists on Linux.
Tue, Jan 15, 8:44 AM
hans committed rPSTL351194: Update year in license files.
Update year in license files
Tue, Jan 15, 7:34 AM
hans committed rOMP351194: Update year in license files.
Update year in license files
Tue, Jan 15, 7:18 AM
hans committed rCXX351194: Update year in license files.
Update year in license files
Tue, Jan 15, 7:17 AM
hans committed rUNW351194: Update year in license files.
Update year in license files
Tue, Jan 15, 7:17 AM
hans committed rL351194: Update year in license files.
Update year in license files
Tue, Jan 15, 7:16 AM
hans committed rCTE351194: Update year in license files.
Update year in license files
Tue, Jan 15, 7:16 AM
hans committed rLLD351194: Update year in license files.
Update year in license files
Tue, Jan 15, 7:16 AM
hans committed rCRT351194: Update year in license files.
Update year in license files
Tue, Jan 15, 7:16 AM
hans committed rC351194: Update year in license files.
Update year in license files
Tue, Jan 15, 7:16 AM
hans added a comment to D56006: [AST] Fix a -Wimplicit-fallthrough warning in ScanfFormatString.cpp.

Sorry for the late reply; I was on vacation. It seems Erich Keane already fixed this in r350941.

Tue, Jan 15, 1:37 AM · Restricted Project
hans accepted D52002: Omit range checks from jump tables when lowering switches with unreachable default.

I now have commit access. Just waiting for your go ahead.

Tue, Jan 15, 1:21 AM
hans added a comment to D47073: Document and Enforce new Host Compiler Policy.
In D47073#1346562, @jfb wrote:

I think we want to start warning developers before the LLVM 8 branch point on January 16th. I'm assuming @hans will want to chime in.

Tue, Jan 15, 1:00 AM

Mon, Jan 14

hans added a comment to D52707: Switch optimization in IR for known maximum switch values.

Sorry for the slow response time. I'm back from vacation now.

Mon, Jan 14, 8:42 AM · Restricted Project
hans added a comment to D52002: Omit range checks from jump tables when lowering switches with unreachable default.

Sorry for the long delay. I'm back from vacation now, and I'll commit this tomorrow morning unless anyone else objects.

Mon, Jan 14, 7:40 AM
hans committed rL351063: Win snapshot: r351033.
Win snapshot: r351033
Mon, Jan 14, 4:54 AM
hans accepted D56489: clang-cl: Fix help text for /O<flags>: '/O2y-' means '/O2 /Oy-', not '/O2 /y-'.

thanks

Mon, Jan 14, 4:44 AM
hans accepted D56488: clang-cl: Align help texts for /O1 and O2.

lgtm, thanks

Mon, Jan 14, 4:43 AM

Dec 21 2018

hans accepted D52002: Omit range checks from jump tables when lowering switches with unreachable default.

Looks good to me. Do you have commit rights, or do you need someone to commit it for you?

Dec 21 2018, 5:48 AM
hans added a comment to D52002: Omit range checks from jump tables when lowering switches with unreachable default.

Thanks! Almost there.

Dec 21 2018, 2:27 AM
hans added a comment to D51748: cmake: Remove add_llvm_loadable_module().

Maybe add a release note for out-of-tree users of this? We had to adjust our clang plugin build files in Chromium for example.

Dec 21 2018, 1:14 AM

Dec 20 2018

hans added a comment to D52002: Omit range checks from jump tables when lowering switches with unreachable default.

The code itself looks good.

Dec 20 2018, 2:18 AM
hans added a comment to D55901: Test case for patch D52002.

Looks promising. Please make the suggested changes, and please move this patch into D52002. The functionality change and the test should be in the same patch.

Dec 20 2018, 2:18 AM

Dec 19 2018

hans added a comment to D52002: Omit range checks from jump tables when lowering switches with unreachable default.

No, unreachable means unreachable and the compiler should treat it as such. There's nothing that says the program needs to exit, either with a segfault or anything else, when hitting __builtin_unreachable().

That settles the matter. Thanks. I will go ahead and modify the patch without the "Widened" field in the IR and post it in a few hours again. If everything else is fine, I would like to upstream it this week before you go on vacation.

Dec 19 2018, 4:31 AM
hans added a comment to D52002: Omit range checks from jump tables when lowering switches with unreachable default.

There are three files that when compiled with this patch, generate wrong code, viz., AArch64LoadStoreOptimizer.cpp, AArch64InstrInfo.cpp and AArch64ConditionalCompares.cpp. Out of these we tried to isolate the problem with the last one. I figured out that if the functions SSACCmpConv::findConvertibleCompare() and SSACCmpConv::convert() are compiled without this patch, the code works fine. So the problem surfaces with these two routines only. There are a few switch cases in those two routines but I couldn't see anything exceptional with those except for a call to builtin_unreachable() in the default case for two of the switches and a [[clang::fallthrough]] in another. In all these three cases, I was unable to figure out how they could possibly break our assumptions. Does the builtin_unreachable() have any special semantic that we are not handling?

Does the error show with the regular lit tests, or do you have some internal test that fails?

My first guess would be that one of the "unreachable" defaults aren't actually unreachable for some input. But then they should trap in an asserts-enabled build..

No, this shows up in an internal test. I figured out that the code actually has calls to llvm_unreachable() with an error message, which in a non-debug build, calls __builtin_unreachable(). In a debug build, it would have printed a message.

Dec 19 2018, 4:12 AM

Dec 18 2018

hans added a comment to D52002: Omit range checks from jump tables when lowering switches with unreachable default.

If you can provide more details about what didn't work, maybe I can help investigate. (Though I'm about to go on holiday soon, so probably not until January.)

There are three files that when compiled with this patch, generate wrong code, viz., AArch64LoadStoreOptimizer.cpp, AArch64InstrInfo.cpp and AArch64ConditionalCompares.cpp. Out of these we tried to isolate the problem with the last one. I figured out that if the functions SSACCmpConv::findConvertibleCompare() and SSACCmpConv::convert() are compiled without this patch, the code works fine. So the problem surfaces with these two routines only. There are a few switch cases in those two routines but I couldn't see anything exceptional with those except for a call to builtin_unreachable() in the default case for two of the switches and a [[clang::fallthrough]] in another. In all these three cases, I was unable to figure out how they could possibly break our assumptions. Does the builtin_unreachable() have any special semantic that we are not handling?

Dec 18 2018, 7:21 AM