JDevlieghere (Jonas Devlieghere)
Compiler Engineer at Apple

Projects

User does not belong to any projects.

User Details

User Since
Jan 31 2016, 7:15 AM (85 w, 5 d)

Recent Activity

Yesterday

JDevlieghere updated the diff for D38135: [dwarfdump] Skip 'stripped' sections.
  • Add comment which explains the zero offset.
Fri, Sep 22, 3:34 AM
JDevlieghere committed rL313971: [dwarfdump] Fix ambiguous call to make_unique.
[dwarfdump] Fix ambiguous call to make_unique
Fri, Sep 22, 2:40 AM
JDevlieghere committed rL313969: [dwarfdump] Add support for redirecting output to a file.
[dwarfdump] Add support for redirecting output to a file
Fri, Sep 22, 2:22 AM
JDevlieghere closed D38125: [dwarfdump] Add support for redirecting output to a file by committing rL313969: [dwarfdump] Add support for redirecting output to a file.
Fri, Sep 22, 2:22 AM

Thu, Sep 21

JDevlieghere committed rL313910: [dwarfdump] Add verbose output for .debug-line section.
[dwarfdump] Add verbose output for .debug-line section
Thu, Sep 21, 1:17 PM
JDevlieghere closed D37971: [dwarfdump] Add verbose output for .debug-line section by committing rL313910: [dwarfdump] Add verbose output for .debug-line section.
Thu, Sep 21, 1:17 PM
JDevlieghere created D38135: [dwarfdump] Skip 'stripped' sections.
Thu, Sep 21, 7:49 AM
JDevlieghere committed rL313872: [dsymutil] Don't resolve DIE reference to NULL DIE..
[dsymutil] Don't resolve DIE reference to NULL DIE.
Thu, Sep 21, 3:30 AM
JDevlieghere closed D38078: [dsymutil] Don't resolve DIE reference to NULL DIE. by committing rL313872: [dsymutil] Don't resolve DIE reference to NULL DIE..
Thu, Sep 21, 3:30 AM
JDevlieghere created D38125: [dwarfdump] Add support for redirecting output to a file.
Thu, Sep 21, 2:42 AM
JDevlieghere added inline comments to D37971: [dwarfdump] Add verbose output for .debug-line section.
Thu, Sep 21, 2:21 AM
JDevlieghere updated the diff for D37971: [dwarfdump] Add verbose output for .debug-line section.
  • Remove regex for whitespace
Thu, Sep 21, 2:19 AM

Wed, Sep 20

JDevlieghere updated the diff for D38078: [dsymutil] Don't resolve DIE reference to NULL DIE..

Thanks David, I appreciate your feedback!

Wed, Sep 20, 10:24 AM
JDevlieghere added inline comments to D37971: [dwarfdump] Add verbose output for .debug-line section.
Wed, Sep 20, 9:54 AM
JDevlieghere updated the diff for D38078: [dsymutil] Don't resolve DIE reference to NULL DIE..
  • Remove relative path in test.
Wed, Sep 20, 9:51 AM
JDevlieghere updated the diff for D38078: [dsymutil] Don't resolve DIE reference to NULL DIE..
  • Address review comments from Fred and David.
  • Convert test to YAML with instruction on how to reproduce the binary.
Wed, Sep 20, 9:48 AM
JDevlieghere created D38078: [dsymutil] Don't resolve DIE reference to NULL DIE..
Wed, Sep 20, 6:07 AM
JDevlieghere accepted D38064: llvm-dwarfdump: implement --recurse-depth=<N>.

LGTM

Wed, Sep 20, 1:03 AM

Tue, Sep 19

JDevlieghere updated the diff for D37971: [dwarfdump] Add verbose output for .debug-line section.
  • Upload the correct patch (Thanks Adrian!)
Tue, Sep 19, 9:00 AM
JDevlieghere added inline comments to D37971: [dwarfdump] Add verbose output for .debug-line section.
Tue, Sep 19, 2:26 AM
JDevlieghere updated the diff for D37971: [dwarfdump] Add verbose output for .debug-line section.
  • Moved printing outside switch.
  • Un-verbosed test cases.
Tue, Sep 19, 2:23 AM

Mon, Sep 18

JDevlieghere added inline comments to D37971: [dwarfdump] Add verbose output for .debug-line section.
Mon, Sep 18, 9:13 AM
JDevlieghere updated the diff for D37971: [dwarfdump] Add verbose output for .debug-line section.

Thanks Dave, I've updated the diff with your feedback.

Mon, Sep 18, 9:12 AM
JDevlieghere updated the diff for D37971: [dwarfdump] Add verbose output for .debug-line section.

Doing this during parsing doesn't seem too intrusive and looks like it is the right trade-off.
Do you have a test case, too?

Mon, Sep 18, 8:44 AM
JDevlieghere committed rL313530: [dwarfdump] Make .eh_frame an alias for .debug_frame.
[dwarfdump] Make .eh_frame an alias for .debug_frame
Mon, Sep 18, 7:17 AM
JDevlieghere closed D37852: [dwarfdump] Make .eh_frame an alias for .debug_frame by committing rL313530: [dwarfdump] Make .eh_frame an alias for .debug_frame.
Mon, Sep 18, 7:17 AM
JDevlieghere created D37971: [dwarfdump] Add verbose output for .debug-line section.
Mon, Sep 18, 6:21 AM

Fri, Sep 15

JDevlieghere updated the diff for D37852: [dwarfdump] Make .eh_frame an alias for .debug_frame.

Feedback Adrian.

Fri, Sep 15, 2:04 AM

Thu, Sep 14

JDevlieghere updated the diff for D37852: [dwarfdump] Make .eh_frame an alias for .debug_frame.

Thanks! I've updated the diff and description to make .eh_frame an alias for .debug_frame.

Thu, Sep 14, 3:27 PM
JDevlieghere added inline comments to D37852: [dwarfdump] Make .eh_frame an alias for .debug_frame.
Thu, Sep 14, 2:43 PM
JDevlieghere added inline comments to D37852: [dwarfdump] Make .eh_frame an alias for .debug_frame.
Thu, Sep 14, 12:48 PM
JDevlieghere committed rL313280: [test] Fix TestDWARFDieRangeInfoIntersects.
[test] Fix TestDWARFDieRangeInfoIntersects
Thu, Sep 14, 10:48 AM
JDevlieghere created D37852: [dwarfdump] Make .eh_frame an alias for .debug_frame.
Thu, Sep 14, 8:19 AM
JDevlieghere committed rL313255: [dwarfdump] Add DWARF verifiers for address ranges.
[dwarfdump] Add DWARF verifiers for address ranges
Thu, Sep 14, 4:35 AM
JDevlieghere committed rL313253: Revert "[dwarfdump] Add DWARF verifiers for address ranges".
Revert "[dwarfdump] Add DWARF verifiers for address ranges"
Thu, Sep 14, 3:50 AM
JDevlieghere committed rL313250: [dwarfdump] Add DWARF verifiers for address ranges.
[dwarfdump] Add DWARF verifiers for address ranges
Thu, Sep 14, 3:39 AM
JDevlieghere closed D37696: [dwarfdump] Add DWARF verifiers for address ranges by committing rL313250: [dwarfdump] Add DWARF verifiers for address ranges.
Thu, Sep 14, 3:39 AM

Wed, Sep 13

JDevlieghere added a comment to D37696: [dwarfdump] Add DWARF verifiers for address ranges.

Also - how does this work (what does it do, does it catch things correctly) when there are DIEs without ranges - such as compile_unit{namespace{subprogram}} - does it still check that the subprogram is contained within the compile_unit?

Wed, Sep 13, 1:36 PM
JDevlieghere updated the diff for D37696: [dwarfdump] Add DWARF verifiers for address ranges.

Add support and test case for nested functions, which should not be contained by their parent.

Wed, Sep 13, 8:05 AM
JDevlieghere committed rL313145: [MachO] Prevent heap overflow when load command extends past EOF.
[MachO] Prevent heap overflow when load command extends past EOF
Wed, Sep 13, 6:44 AM
JDevlieghere closed D37439: [MachO] Prevent heap overflow when load command extends past EOF by committing rL313145: [MachO] Prevent heap overflow when load command extends past EOF.
Wed, Sep 13, 6:44 AM
JDevlieghere committed rL313139: [dwarfdump] Rename Brief to Verbose in DIDumpOptions.
[dwarfdump] Rename Brief to Verbose in DIDumpOptions
Wed, Sep 13, 2:44 AM
JDevlieghere closed D37745: [dwarfdump] Rename Brief to Verbose in DIDumpOptions by committing rL313139: [dwarfdump] Rename Brief to Verbose in DIDumpOptions.
Wed, Sep 13, 2:44 AM

Tue, Sep 12

JDevlieghere updated the diff for D37745: [dwarfdump] Rename Brief to Verbose in DIDumpOptions.

Changing the default value uncovered some bugs related to the DIDumpOptions not being properly propagated.

Tue, Sep 12, 9:25 AM
JDevlieghere added inline comments to D37717: llvm-dwarfdump: Make -brief the default and add -verbose instead..
Tue, Sep 12, 7:50 AM
JDevlieghere created D37745: [dwarfdump] Rename Brief to Verbose in DIDumpOptions.
Tue, Sep 12, 7:50 AM
JDevlieghere created D37744: [dwarfdump][NFC] Move DebugFrameEntry classes to header..
Tue, Sep 12, 7:39 AM
JDevlieghere updated the diff for D37696: [dwarfdump] Add DWARF verifiers for address ranges.

Thanks Dave! There's no logic that deals specifically with nested functions, so I don't think it'll handle this particular case. Before hacking this in, I think it might be good to obtain a real example rather than an artificial one, to ensure we don't make the verification broader than necessary.

Tue, Sep 12, 1:49 AM
JDevlieghere added a comment to D37439: [MachO] Prevent heap overflow when load command extends past EOF.

ping

Tue, Sep 12, 1:15 AM

Mon, Sep 11

JDevlieghere accepted D37714: llvm-dwarfdump: Replace -debug-dump=sect option with individual options..

LGTM!

Mon, Sep 11, 3:15 PM
JDevlieghere added a comment to D36835: [llvm-dwarfdump] Hide .debug_str and die reference offsets in brief mode.

Hi Dave,

Mon, Sep 11, 12:38 PM
JDevlieghere updated the diff for D37696: [dwarfdump] Add DWARF verifiers for address ranges.

Thanks Adrian!

Mon, Sep 11, 12:17 PM
JDevlieghere updated the summary of D37696: [dwarfdump] Add DWARF verifiers for address ranges.
Mon, Sep 11, 8:47 AM
JDevlieghere abandoned D37481: [DebugInfo] Verify that sibling and children fall in parent range..

Abandoning in favor of D37696

Mon, Sep 11, 8:47 AM
JDevlieghere created D37696: [dwarfdump] Add DWARF verifiers for address ranges.
Mon, Sep 11, 8:45 AM

Fri, Sep 8

JDevlieghere committed rL312782: [dwarfdump] Verify line table prologue.
[dwarfdump] Verify line table prologue
Fri, Sep 8, 2:50 AM
JDevlieghere closed D37511: [dwarfdump] Verify line table prologue by committing rL312782: [dwarfdump] Verify line table prologue.
Fri, Sep 8, 2:50 AM

Thu, Sep 7

JDevlieghere set the repository for D37566: [clang-tidy] fixed misc-unused-parameters omitting parameters default value to rL LLVM.
Thu, Sep 7, 8:04 AM · Restricted Project

Wed, Sep 6

JDevlieghere updated the diff for D37511: [dwarfdump] Verify line table prologue.

Use assert instead of unreachable.

Wed, Sep 6, 3:26 PM
JDevlieghere added inline comments to D37511: [dwarfdump] Verify line table prologue.
Wed, Sep 6, 10:47 AM
JDevlieghere added inline comments to D37511: [dwarfdump] Verify line table prologue.
Wed, Sep 6, 10:39 AM
JDevlieghere created D37511: [dwarfdump] Verify line table prologue.
Wed, Sep 6, 5:04 AM

Tue, Sep 5

JDevlieghere committed rL312546: [diagtool] Change default tree behavior to print only flags.
[diagtool] Change default tree behavior to print only flags
Tue, Sep 5, 11:06 AM
JDevlieghere closed D37390: [diagtool] Change default tree behavior to print only flags by committing rL312546: [diagtool] Change default tree behavior to print only flags.
Tue, Sep 5, 11:05 AM · Restricted Project
JDevlieghere committed rL312545: [NFC] Loop modernization in diagtool.
[NFC] Loop modernization in diagtool
Tue, Sep 5, 11:05 AM
JDevlieghere added a comment to D37439: [MachO] Prevent heap overflow when load command extends past EOF.
In D37439#860575, @kcc wrote:

Looks good (but I don't know this code).
Thanks for adding the test input -- once the shallow bugs are cleaned up I'll use test/Object/Inputs/ as the seed corpus.

Tue, Sep 5, 10:28 AM
JDevlieghere added a comment to D37481: [DebugInfo] Verify that sibling and children fall in parent range..
@dblaikie wrote:

Might be worth looking at the previous review on this: https://reviews.llvm.org/D32821

(yeah, it stalled out - partly my fault, I did go back to try to work up the changes I'd been suggesting, but hit some other issues that I gave up on - might be worth discussing design first a bit before diving into the code changes)

I imagine a test for this could be reduced beyond 700 lines of YAML - happy to help with that if you get stuck/have trouble reducing/simplifying it.

(I mean there's several things to test for here, but one basic one should be well reduced to ~10s of lines, hopefully)

Tue, Sep 5, 10:05 AM
JDevlieghere updated the summary of D37481: [DebugInfo] Verify that sibling and children fall in parent range..
Tue, Sep 5, 8:28 AM
JDevlieghere created D37481: [DebugInfo] Verify that sibling and children fall in parent range..
Tue, Sep 5, 8:24 AM
JDevlieghere committed rL312527: Fix test/DebugInfo/dwarfdump-decompression-invalid-size.test.
Fix test/DebugInfo/dwarfdump-decompression-invalid-size.test
Tue, Sep 5, 5:00 AM
JDevlieghere committed rL312526: [Decompression] Fail gracefully when out of memory.
[Decompression] Fail gracefully when out of memory
Tue, Sep 5, 4:23 AM
JDevlieghere closed D37447: [Decompression] Fail gracefully when out of memory by committing rL312526: [Decompression] Fail gracefully when out of memory.
Tue, Sep 5, 4:23 AM
JDevlieghere added inline comments to D37447: [Decompression] Fail gracefully when out of memory.
Tue, Sep 5, 3:28 AM
JDevlieghere updated the diff for D37447: [Decompression] Fail gracefully when out of memory.

Thanks George, this has been very helpful!

Tue, Sep 5, 2:53 AM
JDevlieghere updated the diff for D37447: [Decompression] Fail gracefully when out of memory.

Thanks! I've updated the diff to include the section name.

Tue, Sep 5, 1:40 AM
JDevlieghere updated the diff for D37447: [Decompression] Fail gracefully when out of memory.

Use report_fatal_error

Tue, Sep 5, 1:03 AM

Mon, Sep 4

JDevlieghere created D37447: [Decompression] Fail gracefully when out of memory.
Mon, Sep 4, 10:37 AM
JDevlieghere created D37439: [MachO] Prevent heap overflow when load command extends past EOF.
Mon, Sep 4, 8:23 AM
JDevlieghere updated the diff for D37390: [diagtool] Change default tree behavior to print only flags.

Thanks Alex!

Mon, Sep 4, 3:24 AM · Restricted Project
JDevlieghere updated the diff for D37390: [diagtool] Change default tree behavior to print only flags.

Thanks for the review Adrian!

Mon, Sep 4, 2:28 AM · Restricted Project
JDevlieghere retitled D37390: [diagtool] Change default tree behavior to print only flags from [diagtool] Add list-warning-flags to [diagtool] Change default tree behavior to print only flags.
Mon, Sep 4, 2:28 AM · Restricted Project

Fri, Sep 1

JDevlieghere updated the summary of D37390: [diagtool] Change default tree behavior to print only flags.
Fri, Sep 1, 12:29 PM · Restricted Project
JDevlieghere created D37390: [diagtool] Change default tree behavior to print only flags.
Fri, Sep 1, 12:29 PM · Restricted Project
JDevlieghere added a comment to D36993: [llvm-dwarfdump] Print type names in DW_AT_type DIEs.

David, apologies for missing your e-mail. I really hate that it doesn't automatically show up in Phabricator! 🙁

If the tag doesn't have a name attribute, everything will go through this function except: DW_TAG_pointer_type, DW_TAG_ptr_to_member_type, DW_TAG_reference_type, DW_TAG_rvalue_reference_type. The first part explains why class and struct don't show up. I prefer this approach because it's guaranteed to be robust. Every DW_TAG_*_type encountered without a name will have something meaningful printed.

IIRC, the original switch had between 20 and 25 cases.

I'm curious what those 20-25 cases were - do you have a copy/roughly describe their contents? Because while 'const' does print nicely, (& volatile would be similar) I'm not sure what the other 10 or so cases might be and whether that's a reasonable way to print them.

Fri, Sep 1, 7:49 AM

Thu, Aug 31

JDevlieghere committed rL312274: [dsymutil] Don't mark forward declarations as canonical..
[dsymutil] Don't mark forward declarations as canonical.
Thu, Aug 31, 1:23 PM
JDevlieghere added a comment to D36993: [llvm-dwarfdump] Print type names in DW_AT_type DIEs.

David, apologies for missing your e-mail. I really hate that it doesn't automatically show up in Phabricator! 🙁

Thu, Aug 31, 1:04 PM
JDevlieghere committed rL312271: Revert "[dsymutil] Don't mark forward declarations as canonical.".
Revert "[dsymutil] Don't mark forward declarations as canonical."
Thu, Aug 31, 12:39 PM
JDevlieghere committed rL312264: [dsymutil] Don't mark forward declarations as canonical..
[dsymutil] Don't mark forward declarations as canonical.
Thu, Aug 31, 11:08 AM
JDevlieghere closed D37127: [dsymutil] Don't mark forward declarations as canonical. by committing rL312264: [dsymutil] Don't mark forward declarations as canonical..
Thu, Aug 31, 11:08 AM
JDevlieghere added a comment to D36993: [llvm-dwarfdump] Print type names in DW_AT_type DIEs.

David: Do you want to discuss this further or is this okay to land as is?

Thu, Aug 31, 10:20 AM
JDevlieghere committed rL312252: [llvm-dwarfdump] Brief mode only dumps debug_info by default.
[llvm-dwarfdump] Brief mode only dumps debug_info by default
Thu, Aug 31, 9:46 AM
JDevlieghere closed D37334: [llvm-dwarfdump] Brief mode only dumps debug_info by default by committing rL312252: [llvm-dwarfdump] Brief mode only dumps debug_info by default.
Thu, Aug 31, 9:45 AM
JDevlieghere updated the diff for D37334: [llvm-dwarfdump] Brief mode only dumps debug_info by default.

Improved test as suggested by @dblaikie

Thu, Aug 31, 9:32 AM
JDevlieghere added a comment to D37334: [llvm-dwarfdump] Brief mode only dumps debug_info by default.

@dblaikie: I've added the positive tests you mentioned in D36835 as I was changing the file anyway. I also like the idea of omitting the prefixes in brief mode, but that's definitely something for a separate differential.

Thu, Aug 31, 7:37 AM
JDevlieghere created D37334: [llvm-dwarfdump] Brief mode only dumps debug_info by default.
Thu, Aug 31, 7:31 AM
JDevlieghere updated the diff for D37127: [dsymutil] Don't mark forward declarations as canonical..

Thanks @friss, I've updated the diff with your feedback.

Thu, Aug 31, 1:38 AM

Tue, Aug 29

JDevlieghere added a comment to D36993: [llvm-dwarfdump] Print type names in DW_AT_type DIEs.

Where's the 'const' being printed from (couldn't spot it from a quick glance at the code) for the test cases like "const Struct"?

The function dumpTypeTagName extracts the 'type name' from a tag. For the example the function dumps DW_TAG_const_type as const.

That seems a bit subtle - does that codepath trigger/do things for other tag types, or just const? Especially if it's just const, I'd probably handle const where reference, array, pointer, etc, are handled. Seems clearer.

Tue, Aug 29, 1:54 PM
JDevlieghere updated the diff for D36993: [llvm-dwarfdump] Print type names in DW_AT_type DIEs.
  • Feedback David
Tue, Aug 29, 1:58 AM
JDevlieghere added a comment to D36993: [llvm-dwarfdump] Print type names in DW_AT_type DIEs.

Where's the 'const' being printed from (couldn't spot it from a quick glance at the code) for the test cases like "const Struct"?

Tue, Aug 29, 1:56 AM

Thu, Aug 24

JDevlieghere updated the diff for D37127: [dsymutil] Don't mark forward declarations as canonical..

Thanks for the review @aprantl! About the comment for the Incomplete member: can this strictly occur for members or has this a broader scope?

Thu, Aug 24, 11:02 PM