Page MenuHomePhabricator

sbc100 (Sam Clegg)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 16 2016, 10:22 AM (147 w, 6 d)

Recent Activity

Today

sbc100 committed rGa5ee6397e141: Fix formatting of inline argument comments. NFC. (authored by sbc100).
Fix formatting of inline argument comments. NFC.
Thu, Jul 18, 5:33 PM
sbc100 added a reviewer for D64961: [libcxxabi] Define _LIBCXXABI_GUARD_ABI_ARM on WebAssembly: sunfish.
Thu, Jul 18, 4:34 PM · Restricted Project
sbc100 abandoned D64957: [WebAssembly] Don't set UseARMGuardVarABI, just use the default (64-bit).

We are going to change libc++abi instead: https://reviews.llvm.org/D64961

Thu, Jul 18, 4:30 PM · Restricted Project
sbc100 created D64961: [libcxxabi] Define _LIBCXXABI_GUARD_ABI_ARM on WebAssembly.
Thu, Jul 18, 4:30 PM · Restricted Project
sbc100 added a reviewer for D64957: [WebAssembly] Don't set UseARMGuardVarABI, just use the default (64-bit): sunfish.
Thu, Jul 18, 4:03 PM · Restricted Project
sbc100 created D64957: [WebAssembly] Don't set UseARMGuardVarABI, just use the default (64-bit).
Thu, Jul 18, 4:03 PM · Restricted Project
sbc100 added a reviewer for D64955: Fix formatting of inline argument comments. NFC.: dschuff.
Thu, Jul 18, 3:59 PM · Restricted Project, Restricted Project
sbc100 created D64955: Fix formatting of inline argument comments. NFC..
Thu, Jul 18, 3:59 PM · Restricted Project, Restricted Project
sbc100 accepted D64947: [WebAssembly] fix bug in finding .tdata segment.

Maybe add a test for this?

Thu, Jul 18, 2:04 PM · Restricted Project

Yesterday

sbc100 added a comment to D61452: [WebAssembly] Always include <sysroot>/lib in library path.

If "$sysroot/lib" ends up coming to mean "wasm32" because people come to depend on that, then wasm64 may end up needing to be different in a gratuitous way, which I'd like to avoid.

I'd like to keep our sysroots tidy when we can. If some libraries are installed in lib/wasm32-wasi and others lib for no reason other than build script inertia, that's untidy.

It's not an absolute for me, but I am inclined to see if we can understand the need better first. Single-arch sysroots are possible either way, for example.

Wed, Jul 17, 3:05 PM · Restricted Project
sbc100 committed rGaccad76c1425: [lld][WebAssembly] Fix handling of comdat functions in init array. (authored by sbc100).
[lld][WebAssembly] Fix handling of comdat functions in init array.
Wed, Jul 17, 11:45 AM
sbc100 retitled D64872: [WebAssembly] Fix bug handling hidden comdat symbols from [WebAssembly] Fix bug handling of comdat functions in init array. to [WebAssembly] Fix bug handling hidden comdat symbols.
Wed, Jul 17, 10:34 AM · Restricted Project
sbc100 created D64872: [WebAssembly] Fix bug handling hidden comdat symbols.
Wed, Jul 17, 10:28 AM · Restricted Project
sbc100 added a comment to D64537: [WebAssembly] Implement thread-local storage (local-exec model).

Another high-level question (based just on reading the CL description): The TLS-size intrinsic is per-function, does that mean that the tls-init function is called for every function? are there just multiple TLS sections per object file?

The TLS-size intrinsic returns the total size of TLS for the module it's called from. The initialization function initializes the TLS for the entire module.

The offset field of a segment can be a constant expression which can be a global.get of an imported global. So we could have an imported global __tls_base which is different for each thread, and have an active segment with that as its segment offset?

I didn't know that it could have been a constant expression. I don't think this would have worked very well on the main thread though, since we need to run malloc before we can compute __tls_base. I think this requires the global to be mutable, if only because we need to be able to initialize it on the main thread.

Wed, Jul 17, 8:27 AM · Restricted Project, Restricted Project

Tue, Jul 16

sbc100 accepted D64537: [WebAssembly] Implement thread-local storage (local-exec model).
Tue, Jul 16, 1:56 PM · Restricted Project, Restricted Project
sbc100 added a comment to D64758: [WebAssembly] Assembler/InstPrinter: support call_indirect type index..

I think the problem here is that there is no such thing as a first class "type" symbol, there are only functions symbols that can be referenced with @TYPE_INDEX to find where they live in the type index space.

Tue, Jul 16, 7:32 AM · Restricted Project

Fri, Jul 12

sbc100 added inline comments to D64612: [WebAssembly] i32.const operands should be signed.
Fri, Jul 12, 1:53 AM · Restricted Project
sbc100 added a comment to D64537: [WebAssembly] Implement thread-local storage (local-exec model).

Its really great to see this change BTW! Thanks.

Fri, Jul 12, 1:36 AM · Restricted Project, Restricted Project
sbc100 added a comment to D64537: [WebAssembly] Implement thread-local storage (local-exec model).

I wonder if __tls_base should be allocated by the embedder (or by the parent/creator thread). Then it could be an *immutable* global import that is allocated up front. I guess __stack_pointer should be treated in the same way (except mutable).

Fri, Jul 12, 1:35 AM · Restricted Project, Restricted Project

Thu, Jul 11

sbc100 added a comment to D64602: [WebAssembly] Assembler: recognize .init_array as data section..

Can we get a test for this?

Thu, Jul 11, 5:52 PM · Restricted Project
sbc100 committed rGfd11ce32bb8d: [WebAssembly] Import __stack_pointer when building -pie binaries (authored by sbc100).
[WebAssembly] Import __stack_pointer when building -pie binaries
Thu, Jul 11, 6:15 AM
sbc100 updated the diff for D64516: [WebAssembly] Import __stack_pointer when building -pie binaries.
  • rebase
Thu, Jul 11, 6:12 AM · Restricted Project

Wed, Jul 10

sbc100 updated the diff for D64516: [WebAssembly] Import __stack_pointer when building -pie binaries.
  • fix typo
Wed, Jul 10, 10:44 AM · Restricted Project
sbc100 added a reviewer for D64516: [WebAssembly] Import __stack_pointer when building -pie binaries: ruiu.
Wed, Jul 10, 10:42 AM · Restricted Project
sbc100 updated the summary of D64516: [WebAssembly] Import __stack_pointer when building -pie binaries.
Wed, Jul 10, 10:42 AM · Restricted Project
sbc100 created D64516: [WebAssembly] Import __stack_pointer when building -pie binaries.
Wed, Jul 10, 10:39 AM · Restricted Project

Tue, Jul 9

sbc100 committed rG9abe8c48052e: [lld][WebAssembly] Report undefined symbols during scanRelocations (authored by sbc100).
[lld][WebAssembly] Report undefined symbols during scanRelocations
Tue, Jul 9, 1:48 PM
sbc100 committed rG51c2b99eff17: [lld][WebAssembly] Fix name of data section in PIC mode (authored by sbc100).
[lld][WebAssembly] Fix name of data section in PIC mode
Tue, Jul 9, 12:49 PM
sbc100 updated the diff for D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations.
  • cleanup
Tue, Jul 9, 12:39 PM · Restricted Project
sbc100 updated the summary of D64439: [lld][WebAssembly] Fix data section name in PIC mode.
Tue, Jul 9, 12:13 PM · Restricted Project
sbc100 created D64439: [lld][WebAssembly] Fix data section name in PIC mode.
Tue, Jul 9, 12:12 PM · Restricted Project
sbc100 added a comment to D64197: [HardwareLoops] NFC - move hardware loop checking code to isHardwareLoopProfitable().

I tried adding a dependency on TransformUtils to Analysis/LLVMBuild.txt but that generated:

Tue, Jul 9, 10:32 AM · Restricted Project
sbc100 added a comment to D64197: [HardwareLoops] NFC - move hardware loop checking code to isHardwareLoopProfitable().

This broke my build too. Could be related to the fact that I build with -DBUILD_SHARED_LIBS=ON?

Tue, Jul 9, 10:05 AM · Restricted Project
sbc100 accepted D64367: [WebAssembly] Assembler: support negative float constants..
Tue, Jul 9, 6:48 AM · Restricted Project

Mon, Jul 8

sbc100 updated the diff for D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations.
  • feedback
Mon, Jul 8, 9:37 AM · Restricted Project
sbc100 added a comment to D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic.

This looks like we we doing the exact same thing that x86 is. So it would make sense to me that whatever we end up doing we should continue to match x86. Perhaps landing this as-is and then opening a bug to turn this into an unreachable (for both x86 and wasm) is one option?

Mon, Jul 8, 7:26 AM · Restricted Project
sbc100 accepted D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
Mon, Jul 8, 4:27 AM · Restricted Project
sbc100 committed rG556ec990e97c: [lld] Use -o /dev/null in test when output is not needed. (authored by sbc100).
[lld] Use -o /dev/null in test when output is not needed.
Mon, Jul 8, 4:15 AM
sbc100 accepted D64324: [WebAssembly] Fix a typo in a test file name.
Mon, Jul 8, 4:14 AM · Restricted Project
sbc100 committed rG15006469bfc0: [lld][WebAssembly] Fix __start/__stop symbols when combining input segments (authored by sbc100).
[lld][WebAssembly] Fix __start/__stop symbols when combining input segments
Mon, Jul 8, 3:37 AM
sbc100 accepted D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
Mon, Jul 8, 3:30 AM · Restricted Project
sbc100 added a comment to D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations.

I expanded this change a little. @ruiu PTAL.

Mon, Jul 8, 3:25 AM · Restricted Project
sbc100 added a reviewer for D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations: ruiu.
Mon, Jul 8, 3:23 AM · Restricted Project
sbc100 updated the summary of D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations.
Mon, Jul 8, 3:23 AM · Restricted Project
sbc100 retitled D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations from [lld][WebAssembly] Report undefined data relocations earlier to [lld][WebAssembly] Report undefined symbols during scanRelocations.
Mon, Jul 8, 3:23 AM · Restricted Project
sbc100 updated the diff for D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations.
  • cleanup test
Mon, Jul 8, 3:21 AM · Restricted Project
sbc100 updated the diff for D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations.
  • Report undefined symbols when scanning relocations
Mon, Jul 8, 3:08 AM · Restricted Project
sbc100 committed rGd0e1d0039717: [lld][WebAssembly] Fix typo in error message (authored by sbc100).
[lld][WebAssembly] Fix typo in error message
Mon, Jul 8, 2:36 AM
sbc100 created D64315: [lld][WebAssembly] Fix typo in error message.
Mon, Jul 8, 2:33 AM · Restricted Project

Sat, Jul 6

sbc100 updated the diff for D64148: [lld][WebAssembly] Fix __start/__stop symbols when combining input segments.

Address feedback

Sat, Jul 6, 2:46 AM · Restricted Project
sbc100 added a reviewer for D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations: azakai.
Sat, Jul 6, 12:57 AM · Restricted Project
sbc100 created D64280: [lld][WebAssembly] Report undefined symbols during scanRelocations.
Sat, Jul 6, 12:52 AM · Restricted Project

Thu, Jul 4

sbc100 accepted D64208: [WebAssembly] Reorder Symbol fields to make it smaller.

Nice! I wonder if its worth adding some kind of static assert or unittest to avoid accidental increases in future? Either way lgtm.

Thu, Jul 4, 10:47 AM · Restricted Project

Wed, Jul 3

sbc100 added a reviewer for D64148: [lld][WebAssembly] Fix __start/__stop symbols when combining input segments: carlokok.
Wed, Jul 3, 10:41 AM · Restricted Project
sbc100 added a reviewer for D64148: [lld][WebAssembly] Fix __start/__stop symbols when combining input segments: ruiu.
Wed, Jul 3, 10:41 AM · Restricted Project
sbc100 updated the summary of D64148: [lld][WebAssembly] Fix __start/__stop symbols when combining input segments.
Wed, Jul 3, 10:41 AM · Restricted Project
sbc100 updated the summary of D64148: [lld][WebAssembly] Fix __start/__stop symbols when combining input segments.
Wed, Jul 3, 10:41 AM · Restricted Project
sbc100 created D64148: [lld][WebAssembly] Fix __start/__stop symbols when combining input segments.
Wed, Jul 3, 10:38 AM · Restricted Project

Tue, Jul 2

sbc100 committed rGd5bea6e0c1a4: [lld] Use -o /dev/null in test when output is not needed. (authored by sbc100).
[lld] Use -o /dev/null in test when output is not needed.
Tue, Jul 2, 7:42 PM
sbc100 committed rG99745896cedb: [ELF] Error on archive with missing index (authored by sbc100).
[ELF] Error on archive with missing index
Tue, Jul 2, 7:30 PM
sbc100 added inline comments to D63781: [ELF] Error on archive with missing index.
Tue, Jul 2, 7:30 PM · Restricted Project
sbc100 accepted D59343: [WebAssembly] Add option to emit passive segments.

Nice!

Tue, Jul 2, 5:47 PM · Restricted Project
sbc100 accepted D64115: [WebAssembly] Prevent inline assembly from being mangled by SjLj.
Tue, Jul 2, 5:29 PM · Restricted Project

Mon, Jul 1

sbc100 added a comment to D63781: [ELF] Error on archive with missing index.

Can you take a closer look? I'm pretty sure this change is correct. At the very least an improvement, and not a regression.

Mon, Jul 1, 12:17 PM · Restricted Project

Fri, Jun 28

sbc100 committed rGb72664fd21cc: Partial revert of "[llvm-ar] Document response file support in --help" (authored by sbc100).
Partial revert of "[llvm-ar] Document response file support in --help"
Fri, Jun 28, 6:59 PM
sbc100 accepted D63959: [WebAssembly] Assembler: support .int16/32/64 directives..
Fri, Jun 28, 3:02 PM · Restricted Project
sbc100 accepted D63955: [WebAssembly] Allow @object in .type directives..
Fri, Jun 28, 2:00 PM · Restricted Project
sbc100 accepted D63951: [WebAssembly] Assembler: Allow offsets and p2align in symbol load..
Fri, Jun 28, 12:08 PM · Restricted Project
sbc100 committed rG70a8027c60fe: [llvm-ar] Document response file support in --help (authored by sbc100).
[llvm-ar] Document response file support in --help
Fri, Jun 28, 11:50 AM
sbc100 closed D63836: [llvm-ar] Document response file support in --help.
Fri, Jun 28, 11:50 AM · Restricted Project
sbc100 updated the diff for D63836: [llvm-ar] Document response file support in --help.
  • revert part
Fri, Jun 28, 11:44 AM · Restricted Project
sbc100 accepted D63947: [WebAssembly] Assembler: Improve section parsing..
Fri, Jun 28, 11:43 AM · Restricted Project
sbc100 added inline comments to D63836: [llvm-ar] Document response file support in --help.
Fri, Jun 28, 11:35 AM · Restricted Project
sbc100 added a reviewer for D63836: [llvm-ar] Document response file support in --help: dschuff.
Fri, Jun 28, 8:45 AM · Restricted Project
sbc100 accepted D63901: [WebAssembly] Added visibility and ident directives to WasmAsmParser..
Fri, Jun 28, 8:45 AM · Restricted Project
sbc100 added a comment to D63901: [WebAssembly] Added visibility and ident directives to WasmAsmParser..

I'm sad to see more code duplication but OK with adding along with the TODO to find a better way.

Fri, Jun 28, 8:45 AM · Restricted Project

Thu, Jun 27

sbc100 added a comment to D63781: [ELF] Error on archive with missing index.

The comment also says exactly that does't it?

Thu, Jun 27, 7:31 AM · Restricted Project
sbc100 added a comment to D63781: [ELF] Error on archive with missing index.

I'm pretty certain yes. The old code only loads archives one object at a time if all objects are bitcode. I didn't change that part.

Thu, Jun 27, 7:31 AM · Restricted Project

Wed, Jun 26

sbc100 accepted D63833: [wasm-ld] Add __global_base symbol to mark the value of --global-base.
Wed, Jun 26, 12:53 PM · Restricted Project
sbc100 added a reviewer for D63836: [llvm-ar] Document response file support in --help: rupprecht.
Wed, Jun 26, 12:11 PM · Restricted Project
sbc100 created D63836: [llvm-ar] Document response file support in --help.
Wed, Jun 26, 12:09 PM · Restricted Project
sbc100 accepted D63742: [WebAssembly] Implement Address Sanitizer for Emscripten.

Remember to remove "A symbol __global_base is added so that code may know where the shadow
memory ends and real memory begins." from the CL description.

Wed, Jun 26, 11:48 AM · Restricted Project, Restricted Project
sbc100 added a comment to D63833: [wasm-ld] Add __global_base symbol to mark the value of --global-base.

As I said in D63742, I don't really like that fact that __global_base and __data_end are use for the start and end of the static data but use completely different naming conventions, but since we already expose the --global-base command line arg I guess its hard to make the align without changing the command line arg and/or change the name of __data_end. So I think I'm ok with this for now, but I'd like to find a way to make these consistent in the future.

Wed, Jun 26, 11:48 AM · Restricted Project
sbc100 added a comment to D63781: [ELF] Error on archive with missing index.

The previous behaviour was also to ignore archives that contain only ELF files but no index.

Wed, Jun 26, 11:13 AM · Restricted Project
sbc100 added a comment to D63781: [ELF] Error on archive with missing index.

This change only effects archives without an index. If you previously created an archive with both bitcode *and* ELF files *and* you didn't create and index, the previous behaviour was to completely ignore the archive. This seems bad to me. The new behaviour is to give an error. We could downgrade it to a warning but both GNU ld and wasm-ld give a hard error in this case.

Wed, Jun 26, 11:10 AM · Restricted Project

Tue, Jun 25

sbc100 accepted D63694: [lld/WebAssembly] Slightly nicer error message for malformed input files.

Oh cool, I totally didn't think of that. I find it a bit strange to have the test script within the invalid binary wasm file, but hey if it works its kinda cool.

Tue, Jun 25, 5:28 PM · Restricted Project
sbc100 accepted D63696: [WebAssembly] Fix list of relocations with addends in lld.

lgtm with comment

Tue, Jun 25, 5:26 PM · Restricted Project
sbc100 added a comment to D63694: [lld/WebAssembly] Slightly nicer error message for malformed input files.

Ideally I'd rather see the invalid file be generated on the fly, but this is also ok since it should never really change.

Tue, Jun 25, 5:09 PM · Restricted Project
sbc100 requested changes to D63696: [WebAssembly] Fix list of relocations with addends in lld.
Tue, Jun 25, 4:09 PM · Restricted Project
sbc100 accepted D63633: [WebAssembly] Fix p2align in assembler..
Tue, Jun 25, 3:59 PM · Restricted Project
sbc100 added a reviewer for D63781: [ELF] Error on archive with missing index: ruiu.
Tue, Jun 25, 11:42 AM · Restricted Project
sbc100 created D63781: [ELF] Error on archive with missing index.
Tue, Jun 25, 11:42 AM · Restricted Project
sbc100 committed rG61d70e4a93da: [WebAssembly] Error on archives without a symbol index (authored by sbc100).
[WebAssembly] Error on archives without a symbol index
Tue, Jun 25, 10:56 AM
sbc100 added a comment to D63742: [WebAssembly] Implement Address Sanitizer for Emscripten.

I wonder if we should use the linux/unix convention or edata etext and end? Terrible names obviously but there is precedent. I can't remember why I didn't do that for data_end and heap_base.

Tue, Jun 25, 8:51 AM · Restricted Project, Restricted Project
sbc100 added inline comments to D63742: [WebAssembly] Implement Address Sanitizer for Emscripten.
Tue, Jun 25, 8:51 AM · Restricted Project, Restricted Project

Mon, Jun 24

sbc100 added a comment to D63696: [WebAssembly] Fix list of relocations with addends in lld.

I guess this means we are also missing a test case for --emit-relocs + -fPIC?

Mon, Jun 24, 4:54 PM · Restricted Project
sbc100 added a comment to D63694: [lld/WebAssembly] Slightly nicer error message for malformed input files.

Thanks!

Mon, Jun 24, 4:19 PM · Restricted Project
sbc100 added inline comments to D63633: [WebAssembly] Fix p2align in assembler..
Mon, Jun 24, 2:56 PM · Restricted Project
sbc100 created D63739: [WebAssembly] Error out on archives without and index.
Mon, Jun 24, 2:37 PM · Restricted Project
sbc100 added a reviewer for D63739: [WebAssembly] Error out on archives without and index: ruiu.
Mon, Jun 24, 2:37 PM · Restricted Project