Page MenuHomePhabricator

dschuff (Derek Schuff)
Yet Another Compiler Compiler

Projects

User does not belong to any projects.

User Details

User Since
Jan 7 2013, 9:35 AM (493 w, 6 d)

US-Pacific timezone.

Recent Activity

Thu, Jun 23

dschuff committed rG5a082d9c1c14: [WebAssembly][Object] Remove requirement that objects must have code sections (authored by dschuff).
[WebAssembly][Object] Remove requirement that objects must have code sections
Thu, Jun 23, 1:56 PM · Restricted Project, Restricted Project
dschuff closed D128094: [WebAssembly][Object] Remove requirement that objects must have code sections.
Thu, Jun 23, 1:56 PM · Restricted Project, Restricted Project
dschuff updated the summary of D128094: [WebAssembly][Object] Remove requirement that objects must have code sections.
Thu, Jun 23, 1:49 PM · Restricted Project, Restricted Project
dschuff updated the summary of D128094: [WebAssembly][Object] Remove requirement that objects must have code sections.
Thu, Jun 23, 1:48 PM · Restricted Project, Restricted Project
dschuff updated the diff for D128094: [WebAssembly][Object] Remove requirement that objects must have code sections.

rebase

Thu, Jun 23, 1:46 PM · Restricted Project, Restricted Project

Tue, Jun 21

dschuff added a comment to D128094: [WebAssembly][Object] Remove requirement that objects must have code sections.

(Also we can't just always require the presence of e.g. the
function or global sections, because a binary may just have any functions.
There's only an problem if the name or linking section tries to name a
nonexistent function).

Code LGTM, but not sure what this sentence means.. Can you provide a little more context?

Tue, Jun 21, 5:29 PM · Restricted Project, Restricted Project

Fri, Jun 17

dschuff added inline comments to D128094: [WebAssembly][Object] Remove requirement that objects must have code sections.
Fri, Jun 17, 1:52 PM · Restricted Project, Restricted Project
dschuff added inline comments to D128094: [WebAssembly][Object] Remove requirement that objects must have code sections.
Fri, Jun 17, 1:51 PM · Restricted Project, Restricted Project
dschuff requested review of D128094: [WebAssembly][Object] Remove requirement that objects must have code sections.
Fri, Jun 17, 1:15 PM · Restricted Project, Restricted Project

Mon, Jun 13

dschuff accepted D127699: [InstCombine] Don't slice up PHIs when pred BB has catchswitch.
Mon, Jun 13, 4:37 PM · Restricted Project, Restricted Project

Thu, Jun 9

dschuff accepted D127333: [lld][WebAssembly] Revert moving of data relocations to start function.
Thu, Jun 9, 5:36 PM · Restricted Project, Restricted Project

Tue, Jun 7

dschuff committed rG1e29c3a12fa7: [WebAssembly][Objcopy] Check that --only-keep-debug removes known sections (authored by dschuff).
[WebAssembly][Objcopy] Check that --only-keep-debug removes known sections
Tue, Jun 7, 4:48 PM · Restricted Project, Restricted Project
dschuff committed rG2ae385e560a6: [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC] (authored by dschuff).
[WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC]
Tue, Jun 7, 12:07 PM · Restricted Project, Restricted Project
dschuff closed D127164: [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC].
Tue, Jun 7, 12:07 PM · Restricted Project, Restricted Project, Restricted Project
dschuff added inline comments to D127164: [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC].
Tue, Jun 7, 11:57 AM · Restricted Project, Restricted Project, Restricted Project
dschuff added inline comments to D126509: [Objcopy][Wasm] Allow selecting known sections by name.
Tue, Jun 7, 8:56 AM · Restricted Project, Restricted Project

Mon, Jun 6

dschuff added inline comments to D127164: [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC].
Mon, Jun 6, 5:34 PM · Restricted Project, Restricted Project, Restricted Project
dschuff updated the diff for D127164: [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC].
  • expand comment
Mon, Jun 6, 5:23 PM · Restricted Project, Restricted Project, Restricted Project
dschuff added inline comments to D127164: [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC].
Mon, Jun 6, 5:21 PM · Restricted Project, Restricted Project, Restricted Project
dschuff updated the diff for D127164: [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC].
  • review comments
Mon, Jun 6, 5:19 PM · Restricted Project, Restricted Project, Restricted Project
dschuff added inline comments to D127164: [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC].
Mon, Jun 6, 5:15 PM · Restricted Project, Restricted Project, Restricted Project
dschuff added inline comments to D126509: [Objcopy][Wasm] Allow selecting known sections by name.
Mon, Jun 6, 5:07 PM · Restricted Project, Restricted Project
dschuff committed rGe07dab8a4501: Fix typo in wasm objcopy's only-keep-debug.test (authored by dschuff).
Fix typo in wasm objcopy's only-keep-debug.test
Mon, Jun 6, 3:53 PM · Restricted Project, Restricted Project
dschuff requested review of D127164: [WebAssembly] Add WASM_SEC_LAST_KNOWN to BinaryFormat section types list [NFC].
Mon, Jun 6, 3:46 PM · Restricted Project, Restricted Project, Restricted Project
dschuff added inline comments to D126509: [Objcopy][Wasm] Allow selecting known sections by name.
Mon, Jun 6, 3:41 PM · Restricted Project, Restricted Project
dschuff committed rGc9dd1cc6f053: [Objcopy][Wasm] Allow selecting known sections by name (authored by dschuff).
[Objcopy][Wasm] Allow selecting known sections by name
Mon, Jun 6, 1:55 PM · Restricted Project, Restricted Project
dschuff closed D126509: [Objcopy][Wasm] Allow selecting known sections by name.
Mon, Jun 6, 1:55 PM · Restricted Project, Restricted Project
dschuff added a comment to D126509: [Objcopy][Wasm] Allow selecting known sections by name.

I'm happy for @sbc100 to review wasm-only changes like this patch, without contributing myself. If the change starts impacting generic llvm-objcopy code, I'd like to review it though.

Mon, Jun 6, 1:49 PM · Restricted Project, Restricted Project
dschuff added inline comments to D126509: [Objcopy][Wasm] Allow selecting known sections by name.
Mon, Jun 6, 1:48 PM · Restricted Project, Restricted Project

Fri, Jun 3

dschuff added inline comments to D107662: [WebAssembly] Implement build-id feature.
Fri, Jun 3, 2:11 PM · Restricted Project, Restricted Project
dschuff updated the diff for D107662: [WebAssembly] Implement build-id feature.
  • use start.s as a test instead
Fri, Jun 3, 2:10 PM · Restricted Project, Restricted Project
dschuff accepted D126979: [lld][WebAssembly] Remove unnecessary accessor methods. NFC.
Fri, Jun 3, 11:42 AM · Restricted Project, Restricted Project

Thu, Jun 2

dschuff added a comment to D126509: [Objcopy][Wasm] Allow selecting known sections by name.

@jhenderson or others, would you like to review this too, or is sbc's review sufficient?

Thu, Jun 2, 11:24 AM · Restricted Project, Restricted Project

Wed, Jun 1

dschuff published D107662: [WebAssembly] Implement build-id feature for review.
Wed, Jun 1, 4:03 PM · Restricted Project, Restricted Project

Tue, May 31

dschuff added inline comments to D126509: [Objcopy][Wasm] Allow selecting known sections by name.
Tue, May 31, 11:18 AM · Restricted Project, Restricted Project
dschuff updated the diff for D126509: [Objcopy][Wasm] Allow selecting known sections by name.
  • remove stray blank line
Tue, May 31, 11:18 AM · Restricted Project, Restricted Project
dschuff added a comment to D126509: [Objcopy][Wasm] Allow selecting known sections by name.

OK, the prerequisite refactoring has landed, and this patch is now based on main, please take a look.

Tue, May 31, 8:53 AM · Restricted Project, Restricted Project
dschuff updated the diff for D126509: [Objcopy][Wasm] Allow selecting known sections by name.
  • Merge branch 'main' into objcopy-known
Tue, May 31, 8:52 AM · Restricted Project, Restricted Project

Fri, May 27

dschuff accepted D126554: [lld][WebAssembly] Fix crash on undefined/weak function symbols in LTO objects.
Fri, May 27, 11:02 AM · Restricted Project, Restricted Project

May 27 2022

dschuff committed rGa205f2904d0a: [WebAssembly] Consolidate sectionTypeToString in BinaryFormat [NFC] (authored by dschuff).
[WebAssembly] Consolidate sectionTypeToString in BinaryFormat [NFC]
May 27 2022, 9:29 AM · Restricted Project, Restricted Project
dschuff closed D126553: [WebAssembly] Consolidate sectionTypeToString in BinaryFormat [NFC].
May 27 2022, 9:28 AM · Restricted Project, Restricted Project
dschuff updated the summary of D126553: [WebAssembly] Consolidate sectionTypeToString in BinaryFormat [NFC].
May 27 2022, 9:25 AM · Restricted Project, Restricted Project
dschuff added inline comments to D126553: [WebAssembly] Consolidate sectionTypeToString in BinaryFormat [NFC].
May 27 2022, 9:10 AM · Restricted Project, Restricted Project
dschuff updated the diff for D126553: [WebAssembly] Consolidate sectionTypeToString in BinaryFormat [NFC].

include all the diffs

May 27 2022, 9:09 AM · Restricted Project, Restricted Project
dschuff updated the diff for D126553: [WebAssembly] Consolidate sectionTypeToString in BinaryFormat [NFC].

also update reloc and symbol type functions

May 27 2022, 9:08 AM · Restricted Project, Restricted Project
dschuff added inline comments to D126553: [WebAssembly] Consolidate sectionTypeToString in BinaryFormat [NFC].
May 27 2022, 8:38 AM · Restricted Project, Restricted Project
dschuff added a comment to D126509: [Objcopy][Wasm] Allow selecting known sections by name.

Looks like there's no test case?

May 27 2022, 8:36 AM · Restricted Project, Restricted Project
dschuff updated the diff for D126509: [Objcopy][Wasm] Allow selecting known sections by name.
  • Merge branch 'sectionTypeToString' into objcopy-known
May 27 2022, 8:34 AM · Restricted Project, Restricted Project
dschuff requested review of D126553: [WebAssembly] Consolidate sectionTypeToString in BinaryFormat [NFC].
May 27 2022, 8:31 AM · Restricted Project, Restricted Project

May 26 2022

dschuff added inline comments to D126509: [Objcopy][Wasm] Allow selecting known sections by name.
May 26 2022, 5:37 PM · Restricted Project, Restricted Project
dschuff added inline comments to D126509: [Objcopy][Wasm] Allow selecting known sections by name.
May 26 2022, 5:35 PM · Restricted Project, Restricted Project
dschuff updated the diff for D126509: [Objcopy][Wasm] Allow selecting known sections by name.

Deduplicate

May 26 2022, 5:35 PM · Restricted Project, Restricted Project
dschuff requested review of D126509: [Objcopy][Wasm] Allow selecting known sections by name.
May 26 2022, 4:54 PM · Restricted Project, Restricted Project
dschuff accepted D126500: [lld][WebAssembly] Require double dash for modern linker flags.

LGTM but will this require a change to clang and/or EMCC first?

May 26 2022, 2:21 PM · Restricted Project, Restricted Project
dschuff accepted D126491: [lld][WebAssembly] Avoid importing/exporting hidden symbols in shared libraries.

Yeah, letting the user override with the manual mechanisms seems like a good thing, probably?

May 26 2022, 1:32 PM · Restricted Project, Restricted Project
dschuff accepted D126497: [lld][WebAssemlby] Check for command line flags with missing arguments.
May 26 2022, 1:29 PM · Restricted Project, Restricted Project
dschuff added inline comments to D126497: [lld][WebAssemlby] Check for command line flags with missing arguments.
May 26 2022, 1:21 PM · Restricted Project, Restricted Project
dschuff added a comment to D126491: [lld][WebAssembly] Avoid importing/exporting hidden symbols in shared libraries.

what happens when you use attribute(export-name) in clang, along with -fvisibility=hidden? (or is there some other way force an export?)

May 26 2022, 1:11 PM · Restricted Project, Restricted Project

May 17 2022

dschuff added inline comments to D125515: [WebAssembly] Fix register use-def in FixIrreducibleControlFlow.
May 17 2022, 11:24 AM · Restricted Project, Restricted Project
dschuff added inline comments to D125515: [WebAssembly] Fix register use-def in FixIrreducibleControlFlow.
May 17 2022, 11:00 AM · Restricted Project, Restricted Project
dschuff accepted D125515: [WebAssembly] Fix register use-def in FixIrreducibleControlFlow.
May 17 2022, 9:55 AM · Restricted Project, Restricted Project

May 13 2022

dschuff accepted D125514: [WebAssembly] Use CHECK-NEXT for irreducible-cfg.mir.

This looks good. Keep the interleaving if you find it more readable.
But thanks for the pointer @asb, I knew about the LLVM IR version of that tool but didn't know there was a MIR one.

May 13 2022, 10:59 AM · Restricted Project, Restricted Project
dschuff added a comment to D125515: [WebAssembly] Fix register use-def in FixIrreducibleControlFlow.

This looks great! I guess the test for this will be when the fix for the MIR verifier lands, and it will start throwing errors if this somehow breaks, right?

May 13 2022, 8:55 AM · Restricted Project, Restricted Project

May 2 2022

dschuff added a comment to D123763: [randstruct] Enforce using a designated init for a randomized struct.

This new test has been failing on the emscripten builders.. seemingly ever since it landed:

May 2 2022, 4:33 PM · Restricted Project, Restricted Project

Mar 17 2022

dschuff accepted D121931: [lld][WebAssembly] Fix crash accessing non-live __tls_base symbol.
Mar 17 2022, 1:06 PM · Restricted Project, Restricted Project

Mar 15 2022

dschuff accepted D121420: [lld][WebAssembly] Take advantage of extended const expression when available.
Mar 15 2022, 5:28 PM · Restricted Project, Restricted Project

Mar 14 2022

dschuff added a comment to D121420: [lld][WebAssembly] Take advantage of extended const expression when available.

Ah, right I forgot we already combined the default segments. That's probably fine as a default behavior.

Mar 14 2022, 4:01 PM · Restricted Project, Restricted Project
dschuff added inline comments to D91577: [lld][WebAssembly] Add --unresolved-symbols=import-dynamic.
Mar 14 2022, 2:43 PM · Restricted Project, Restricted Project
dschuff accepted D121538: [WebAssembly] Remove unused method from WebAssemblyTargetStreamer. NFC.
Mar 14 2022, 9:52 AM · Restricted Project, Restricted Project
dschuff added a comment to D121420: [lld][WebAssembly] Take advantage of extended const expression when available.

Would there still be an advantage to combining the segments? e.g. would the library load faster if there were only one?

Mar 14 2022, 8:39 AM · Restricted Project, Restricted Project
dschuff accepted D121349: [WebAssembly] Second phase of implementing extended const proposal..

This code is fine as a reflection of the current state of the proposal though.

Mar 14 2022, 8:38 AM · Restricted Project, Restricted Project

Mar 10 2022

dschuff added inline comments to D121349: [WebAssembly] Second phase of implementing extended const proposal..
Mar 10 2022, 5:32 PM · Restricted Project, Restricted Project
dschuff added a comment to D121349: [WebAssembly] Second phase of implementing extended const proposal..

I assume these llvm_unreachables your're adding in this CL are the places that will be filled in in subsequent CLs?

Mar 10 2022, 11:21 AM · Restricted Project, Restricted Project

Mar 1 2022

dschuff accepted D120689: [lld][WebAssembly] Improve error reporting for bad ar archive members.
Mar 1 2022, 11:36 AM · Restricted Project, Restricted Project
dschuff added inline comments to D120689: [lld][WebAssembly] Improve error reporting for bad ar archive members.
Mar 1 2022, 8:26 AM · Restricted Project, Restricted Project

Feb 28 2022

dschuff accepted D120678: [WebAssembly] Improve EH/SjLj error messages.
Feb 28 2022, 3:29 PM · Restricted Project, Restricted Project

Feb 24 2022

dschuff accepted D120522: [MC][WebAssembly] Fix crash when relocation addend underflows U32.
Feb 24 2022, 5:22 PM · Restricted Project

Feb 22 2022

dschuff accepted D120365: [WebAssembly] Fixed AsmPrinter not emitting .functype for intrinsics.
Feb 22 2022, 4:08 PM · Restricted Project

Feb 18 2022

dschuff accepted D120060: [lld][WebAssembly] Convert a bunch more tests to asm. NFC.
Feb 18 2022, 4:24 PM · Restricted Project

Feb 16 2022

dschuff accepted D119666: [lld][WebAssembly] Apply global relocs before data relocs.
Feb 16 2022, 2:29 PM · Restricted Project

Feb 15 2022

dschuff accepted D119902: [lld][WebAssembly] Don't force the export symbols assiged internal/dummy GOT entries.
Feb 15 2022, 4:43 PM · Restricted Project
dschuff added a comment to D119902: [lld][WebAssembly] Don't force the export symbols assiged internal/dummy GOT entries.

can-haz test?

Feb 15 2022, 3:49 PM · Restricted Project
dschuff accepted D119888: [lld][WebAssembly] Warn on unknown -z flags.
Feb 15 2022, 1:45 PM · Restricted Project

Feb 10 2022

dschuff accepted D118573: [clang][WebAssemmbly] Call TargetInfo::adjust in derived method..

Looks OK to me. All of these options handle explicit overrides to the ABI which I guess just didn't work before but doesn't change any defaults. We should probably put something in the emscripten release notes with a list of the flags that now actually do something, just in case someone was accidentally using them before :)

Feb 10 2022, 3:58 PM · Restricted Project

Jan 28 2022

dschuff added a comment to D117888: [clang][driver][wasm] Support -stdlib=libstdc++ for WebAssembly.

I haven't reviewed this yet, but since we got one of these before and never merged it (https://reviews.llvm.org/D101464) we should probably land one of these.

Jan 28 2022, 3:46 PM · Restricted Project

Jan 27 2022

dschuff accepted D118414: [lld][WebAssembly] Handle TLS symbols in older object file.

I guess the existing tls.s test case still covers the case where neither the symbol nor the segment is marked as TLS but the name is .tdata?

Jan 27 2022, 4:29 PM · Restricted Project
dschuff added inline comments to D118414: [lld][WebAssembly] Handle TLS symbols in older object file.
Jan 27 2022, 4:22 PM · Restricted Project
dschuff accepted D118407: [WebAssembly] Handle cleanuppad with no parent in Wasm SjLj.
Jan 27 2022, 2:37 PM · Restricted Project
dschuff added inline comments to D118407: [WebAssembly] Handle cleanuppad with no parent in Wasm SjLj.
Jan 27 2022, 2:02 PM · Restricted Project
dschuff accepted D118408: [WebAssembly] Nullify unnecessary setjmp invokes.
Jan 27 2022, 1:47 PM · Restricted Project

Jan 26 2022

dschuff accepted D118286: [WebAssembly] Error out for setjmp within catch clause for Wasm SjLj.

The code, test and the behavior LGTM though.

Jan 26 2022, 4:11 PM · Restricted Project
dschuff added a comment to D118286: [WebAssembly] Error out for setjmp within catch clause for Wasm SjLj.

Mostly I was confused by the fact that it says Wasm EH "used with" either Emscripten EH (which doesn't make sense) or Wasm EH (redundant). But I guess you mean the wasm EH primitive, used to implement C++ EH and setjmp/longjmp?

Jan 26 2022, 4:11 PM · Restricted Project
dschuff added a comment to D118286: [WebAssembly] Error out for setjmp within catch clause for Wasm SjLj.

Wasm EH, used with either of Emscripten EH or Wasm EH, does not allow
Do you mean "Wasm SjLj?"

Jan 26 2022, 2:38 PM · Restricted Project
dschuff accepted D118274: [WebAssembly] Don't copy noreturn attr to invokes.
Jan 26 2022, 2:06 PM · Restricted Project

Jan 24 2022

dschuff committed rGd0d8d2d572cd: [clang][Driver] use DWARF4 for wasm (authored by dschuff).
[clang][Driver] use DWARF4 for wasm
Jan 24 2022, 3:48 PM
dschuff closed D118082: [clang][Driver] use DWARF4 for wasm.
Jan 24 2022, 3:48 PM · Restricted Project
dschuff updated the diff for D118082: [clang][Driver] use DWARF4 for wasm.

fix diff

Jan 24 2022, 3:27 PM · Restricted Project
dschuff updated the diff for D118082: [clang][Driver] use DWARF4 for wasm.

just one blank line

Jan 24 2022, 3:26 PM · Restricted Project
dschuff updated subscribers of D118082: [clang][Driver] use DWARF4 for wasm.

Also +cc @pfaffe and @azakai

Jan 24 2022, 3:04 PM · Restricted Project
dschuff requested review of D118082: [clang][Driver] use DWARF4 for wasm.
Jan 24 2022, 3:01 PM · Restricted Project