JDevlieghere (Jonas Devlieghere)
Compiler Engineer

Projects

User Details

User Since
Jan 31 2016, 7:15 AM (124 w, 3 d)

Recent Activity

Today

JDevlieghere added a comment to D48397: [dsymutil] Force mmap'ing of binaries.

If you have a local test case with an archive that triggers the malloc behavior, can you run an Asanified dsymutil on it with your patch applied? I'd like to make sure that nothing in dsymutil is going to access one past the end of the file.

Thu, Jun 21, 1:50 AM

Yesterday

JDevlieghere created D48397: [dsymutil] Force mmap'ing of binaries.
Wed, Jun 20, 3:28 PM
JDevlieghere accepted D48344: [DWARF] Improved error reporting for range lists.

Thanks Wolfgang, I'm always excited to see improved error handling! LGTM modulo inline comment.

Wed, Jun 20, 3:19 AM

Tue, Jun 19

JDevlieghere accepted D47659: Give same-named members unique timestamps on Darwin in llvm-ar..

LGTM, Thanks!

Tue, Jun 19, 3:04 AM
JDevlieghere accepted D48302: Search for kext variants is searching from parent directory when it should not be.

Thanks Jason, good catch!

Tue, Jun 19, 3:03 AM

Mon, Jun 18

JDevlieghere added a comment to D48241: [DebugInfo] Emit ObjC methods as part of interface..

This is not true. (Unlike the .apple_*** tables, ) .debug_names allows you to specify a different schema for every entry in the acelerator table. The schema is specifing using abbreviations in much the same way as .debug_abbrev specifies the schema for .debug_info. So you could easily have one abbreviation for regular classes, and a different one for objc interfaces. Currently, our .debug_names generator does not support these kinds of heterogeneous tables, but that's simply because I had no use for it. It could be added if necessary (though it will require some generalization/refactoring). OTOH, our consumer should already be able to handle these kinds of tables as input.

Mon, Jun 18, 10:23 AM

Fri, Jun 15

JDevlieghere updated the diff for D48241: [DebugInfo] Emit ObjC methods as part of interface..
  • Feedback Adrian
Fri, Jun 15, 6:00 PM
JDevlieghere updated the diff for D48241: [DebugInfo] Emit ObjC methods as part of interface..
  • Use type cache &
  • Simplify method cache struct
  • Add custom test that verifies category methods are emitted
Fri, Jun 15, 5:11 PM
JDevlieghere added a reviewer for D48241: [DebugInfo] Emit ObjC methods as part of interface.: clayborg.
Fri, Jun 15, 4:37 PM
JDevlieghere added a comment to D48241: [DebugInfo] Emit ObjC methods as part of interface..

Not sure I should get too involved in this discussion, knowing so little about Objective C - but if it seems sensible, could you provide some examples (just in comments/description in this code review) of what the DWARF used to look like and what it looks like after this change?

Fri, Jun 15, 4:36 PM
JDevlieghere updated the diff for D48241: [DebugInfo] Emit ObjC methods as part of interface..

CR feedback

Fri, Jun 15, 4:10 PM
JDevlieghere created D48241: [DebugInfo] Emit ObjC methods as part of interface..
Fri, Jun 15, 3:12 PM

Wed, Jun 13

JDevlieghere committed rL334668: [FileSpec] Make style argument mandatory for SetFile. NFC.
[FileSpec] Make style argument mandatory for SetFile. NFC
Wed, Jun 13, 3:59 PM
JDevlieghere committed rL334664: [FileSpec] Make style argument mandatory for SetFile. NFC.
[FileSpec] Make style argument mandatory for SetFile. NFC
Wed, Jun 13, 3:28 PM
JDevlieghere committed rL334663: [FileSpec] Make style argument mandatory for SetFile. NFC.
[FileSpec] Make style argument mandatory for SetFile. NFC
Wed, Jun 13, 3:13 PM
JDevlieghere accepted D48135: [DWARFv5] Tolerate files not all having an MD5 checksum..

LGTM!

Wed, Jun 13, 1:09 PM · debug-info
JDevlieghere committed rL334638: [ObjC] Add dataformatter for NSDecimalNumber.
[ObjC] Add dataformatter for NSDecimalNumber
Wed, Jun 13, 11:51 AM
JDevlieghere closed D48114: Add dataformatter for NSDecimalNumber.
Wed, Jun 13, 11:51 AM
JDevlieghere added inline comments to D48135: [DWARFv5] Tolerate files not all having an MD5 checksum..
Wed, Jun 13, 11:27 AM · debug-info
JDevlieghere committed rL334631: [ObjC] Use llvm::StringRef in summary providers.
[ObjC] Use llvm::StringRef in summary providers
Wed, Jun 13, 11:19 AM
JDevlieghere committed rL334618: [FileSpec] Simplify getting extension and stem..
[FileSpec] Simplify getting extension and stem.
Wed, Jun 13, 9:40 AM
JDevlieghere added inline comments to D48084: [FileSpec] Delegate common operations to llvm::sys::path.
Wed, Jun 13, 9:27 AM
JDevlieghere committed rL334615: [FileSpec] Delegate common operations to llvm::sys::path.
[FileSpec] Delegate common operations to llvm::sys::path
Wed, Jun 13, 9:27 AM
JDevlieghere closed D48084: [FileSpec] Delegate common operations to llvm::sys::path.
Wed, Jun 13, 9:27 AM

Tue, Jun 12

JDevlieghere created D48114: Add dataformatter for NSDecimalNumber.
Tue, Jun 12, 8:23 PM
JDevlieghere added inline comments to D48084: [FileSpec] Delegate common operations to llvm::sys::path.
Tue, Jun 12, 2:16 PM
JDevlieghere added inline comments to D48084: [FileSpec] Delegate common operations to llvm::sys::path.
Tue, Jun 12, 12:46 PM
JDevlieghere created D48084: [FileSpec] Delegate common operations to llvm::sys::path.
Tue, Jun 12, 10:18 AM

Mon, Jun 11

JDevlieghere committed rL334456: Exempt some compilers from new static variable test..
Exempt some compilers from new static variable test.
Mon, Jun 11, 5:20 PM
JDevlieghere committed rL334454: [Test] Update static variable test..
[Test] Update static variable test.
Mon, Jun 11, 4:30 PM
JDevlieghere accepted D47930: Make email options of find_interesting_reviews more flexible..

LGTM with Philip's comment addressed.

Mon, Jun 11, 8:52 AM
JDevlieghere accepted D48021: [Driver] Add aliases for -Qn/-Qy.
Mon, Jun 11, 8:49 AM

Thu, Jun 7

JDevlieghere committed rL334205: [Platform] Accept arbitrary kext variants.
[Platform] Accept arbitrary kext variants
Thu, Jun 7, 9:16 AM
This revision was not accepted when it landed; it landed in state Needs Review.
Thu, Jun 7, 9:15 AM

Mon, Jun 4

JDevlieghere committed rL333974: Fix Expression unittests on Darwin.
Fix Expression unittests on Darwin
Mon, Jun 4, 5:36 PM
JDevlieghere accepted D47629: [DWARF] Add (empty) DebugNamesDWARFIndex class and a setting to control its use.
Mon, Jun 4, 1:15 PM
JDevlieghere added inline comments to D47544: [MachO] Add out-of-bounds check to MachOObjectFile.cpp.
Mon, Jun 4, 9:40 AM
JDevlieghere added inline comments to D47544: [MachO] Add out-of-bounds check to MachOObjectFile.cpp.
Mon, Jun 4, 9:32 AM
JDevlieghere accepted D47579: dotest: make inline tests compatible with -f.

Can you try inserting something like this instead of the ApplyDecoratorsToFunction line and see if your problems go away?

@wraps(InlineTest._test)
def test_func(*args, **kwargs):
    return InlineTest._test(*args, **kwargs)
 
test_func = ApplyDecoratorsToFunction(test_func, decorators)

This should make sure each test class gets a fresh function object with an independent set of categories.

Mon, Jun 4, 9:30 AM
JDevlieghere added inline comments to D47659: Give same-named members unique timestamps on Darwin in llvm-ar..
Mon, Jun 4, 9:28 AM

Thu, May 31

JDevlieghere committed rCTE333673: PrintEscapedString -> printEscapedString.
PrintEscapedString -> printEscapedString
Thu, May 31, 10:41 AM
JDevlieghere committed rL333673: PrintEscapedString -> printEscapedString.
PrintEscapedString -> printEscapedString
Thu, May 31, 10:40 AM
JDevlieghere committed rL333669: [ADT] Make escaping fn conform to coding guidelines.
[ADT] Make escaping fn conform to coding guidelines
Thu, May 31, 10:06 AM
JDevlieghere committed rL333666: Remove infinite recursion due to FileSpec change..
Remove infinite recursion due to FileSpec change.
Thu, May 31, 9:32 AM
JDevlieghere updated subscribers of rL333565: [dsymutil] Escape HTML special characters in plist..
Thu, May 31, 8:47 AM
JDevlieghere accepted D47590: DWARFAcceleratorTable: Add an iterator-based api for accessing names in the index.

Look fine to me

Thu, May 31, 8:26 AM
JDevlieghere updated subscribers of D47579: dotest: make inline tests compatible with -f.
Thu, May 31, 8:14 AM
JDevlieghere added a comment to D47579: dotest: make inline tests compatible with -f.

If I correctly understand this change, this might make it possible to apply the add_test_categories decorator to an inline test. We had issues with this when introducing the swiftpr category because the methods were part of the inline test class. From the description I get the idea that now they become part of the individual instantiations? I really hope this is the case :-)

Thu, May 31, 3:37 AM
JDevlieghere added inline comments to D47470: AppleDWARFIndex: Get function method-ness directly from debug info.
Thu, May 31, 3:04 AM
JDevlieghere updated the summary of D47539: [Platform] Accept arbitrary kext variants.
Thu, May 31, 2:24 AM
JDevlieghere added a comment to D47539: [Platform] Accept arbitrary kext variants.

LGTM. If we added more knowledge specifically about kext bundle layouts, we could restrict which files we test to see if they are valid binaries - but we'd need to parse the Info.plist at the top (to get the CFBundleExecutable name, and look for variations on that prefix) and we'd need to handle shallow/deep kext bundles. Given how few files are in kext bundles besides the kexts themselves (a couple of plists), this is code is much simpler than encoding all that extra specifics about kexts.

Thu, May 31, 2:23 AM

Wed, May 30

JDevlieghere committed rL333590: [ADT] Add unit test for PrintHTMLEscaped.
[ADT] Add unit test for PrintHTMLEscaped
Wed, May 30, 1:51 PM
JDevlieghere committed rL333565: [dsymutil] Escape HTML special characters in plist..
[dsymutil] Escape HTML special characters in plist.
Wed, May 30, 10:51 AM
JDevlieghere accepted D47543: DWARFAcceleratorTable: fix equal_range iterators.

LGTM, thanks!

Wed, May 30, 10:46 AM
JDevlieghere removed a dependent revision for D47535: [FileSpec] Add support for lambdas to EnumerateDirectory. NFC: D47539: [Platform] Accept arbitrary kext variants.
Wed, May 30, 9:42 AM
JDevlieghere removed a dependency for D47539: [Platform] Accept arbitrary kext variants: D47535: [FileSpec] Add support for lambdas to EnumerateDirectory. NFC.
Wed, May 30, 9:42 AM
JDevlieghere abandoned D47535: [FileSpec] Add support for lambdas to EnumerateDirectory. NFC.

Alright, let's abandon this and replace the existing uses with llvm iterators.

Wed, May 30, 9:42 AM
JDevlieghere updated the diff for D47539: [Platform] Accept arbitrary kext variants.

Don't use EnumerateDirectory

Wed, May 30, 9:41 AM
JDevlieghere added a comment to D47535: [FileSpec] Add support for lambdas to EnumerateDirectory. NFC.

Actually, I wonder if we shouldn't just deprecate this function altogether. What was your motivation for this patch? It seems we already have llvm::fs::(recursive_)directory_iterator for this purpose. It would be great if we could use that for all new code. Have you looked at that?

My motivation is D47539. I could use the iterators directly but since the FileSpec one is based on them anyway (and adds some functionality that is actually useful) I figured I might as well use them for consistency. I'm not opposed to using the iterators directly, but won't that result in more code?

Looking back at the last refactor of this function (https://reviews.llvm.org/D30807) I think the intention even then was to deprecate/remove it altogether.

Also, I don't think that this would increase the amount of code. Looking at your patch, it seems that it could be equivalently implemented using llvm iterators as:

std::error_code EC;
for(llvm::sys::fs::recursive_directory_iterator Iter(dir.GetStringRef(), EC), End; Iter != End && !EC ; Iter.incement(EC)) {
  auto Status = Iter->status();
  if (!Status)
    break;
  if (llvm::sys::fs::is_regular_file(*Status) && llvm::sys::fs::can_execute(Status->path())
    executables.push_back(FileSpec(Status->path()));
}

which is (a tiny bit) shorter. I also find code with no callbacks more readable.

Wed, May 30, 9:35 AM
JDevlieghere added a dependency for D47539: [Platform] Accept arbitrary kext variants: D47535: [FileSpec] Add support for lambdas to EnumerateDirectory. NFC.
Wed, May 30, 9:06 AM
JDevlieghere added a dependent revision for D47535: [FileSpec] Add support for lambdas to EnumerateDirectory. NFC: D47539: [Platform] Accept arbitrary kext variants.
Wed, May 30, 9:06 AM
JDevlieghere added a comment to D47535: [FileSpec] Add support for lambdas to EnumerateDirectory. NFC.

Actually, I wonder if we shouldn't just deprecate this function altogether. What was your motivation for this patch? It seems we already have llvm::fs::(recursive_)directory_iterator for this purpose. It would be great if we could use that for all new code. Have you looked at that?

Wed, May 30, 9:06 AM
JDevlieghere created D47539: [Platform] Accept arbitrary kext variants.
Wed, May 30, 9:01 AM
JDevlieghere added a comment to D47535: [FileSpec] Add support for lambdas to EnumerateDirectory. NFC.

Could we just get rid of the baton version?

Wed, May 30, 8:21 AM
JDevlieghere created D47535: [FileSpec] Add support for lambdas to EnumerateDirectory. NFC.
Wed, May 30, 7:44 AM
JDevlieghere committed rL333540: [FileSpec] Re-implmenet removeLastPathComponent.
[FileSpec] Re-implmenet removeLastPathComponent
Wed, May 30, 6:07 AM
JDevlieghere closed D47495: [FileSpec] Re-implmenet removeLastPathComponent.
Wed, May 30, 6:07 AM
JDevlieghere added inline comments to D47495: [FileSpec] Re-implmenet removeLastPathComponent.
Wed, May 30, 5:45 AM
JDevlieghere retitled D47495: [FileSpec] Re-implmenet removeLastPathComponent from Support relative paths with less than two components in DBGSourcePathRemapping to [FileSpec] Re-implmenet removeLastPathComponent.
Wed, May 30, 4:10 AM
JDevlieghere updated the diff for D47495: [FileSpec] Re-implmenet removeLastPathComponent.
  • Replace custom logic with LLVM's path logic.
  • Add tests.
Wed, May 30, 4:07 AM

Tue, May 29

JDevlieghere updated the diff for D47495: [FileSpec] Re-implmenet removeLastPathComponent.
  • Address Greg's feedback
Tue, May 29, 2:47 PM
JDevlieghere added inline comments to D47495: [FileSpec] Re-implmenet removeLastPathComponent.
Tue, May 29, 2:43 PM
JDevlieghere created D47495: [FileSpec] Re-implmenet removeLastPathComponent.
Tue, May 29, 1:46 PM
JDevlieghere committed rL333432: [lit] Add support for passing arguments to dotest.py via lit..
[lit] Add support for passing arguments to dotest.py via lit.
Tue, May 29, 9:53 AM
JDevlieghere added a comment to D47190: [Driver] Add -ivfsoverlay-lib option to load VFS from shared library.

I don't know much about the VFS so I only did a superficial review.

Tue, May 29, 8:31 AM
JDevlieghere committed rL333425: [COFF] Update CV register names..
[COFF] Update CV register names.
Tue, May 29, 8:02 AM
JDevlieghere committed rLLD333425: [COFF] Update CV register names..
[COFF] Update CV register names.
Tue, May 29, 8:02 AM
JDevlieghere committed rL333421: [CodeView] Add prefix to CodeView registers..
[CodeView] Add prefix to CodeView registers.
Tue, May 29, 7:39 AM
JDevlieghere closed D47478: [CodeView] Add prefix to CodeView registers..
Tue, May 29, 7:39 AM
JDevlieghere created D47478: [CodeView] Add prefix to CodeView registers..
Tue, May 29, 7:10 AM
JDevlieghere added a comment to D45074: Hack on top of D44560 to avoid isFatal().

Thanks James!

Tue, May 29, 5:43 AM
JDevlieghere accepted D47470: AppleDWARFIndex: Get function method-ness directly from debug info.

Thanks Pavel, LGTM.

Tue, May 29, 5:38 AM
JDevlieghere committed rL333412: [test] Fix --framework argument passed to dotest..
[test] Fix --framework argument passed to dotest.
Tue, May 29, 5:34 AM
JDevlieghere added a comment to D45074: Hack on top of D44560 to avoid isFatal().

Is this still relevant?

Tue, May 29, 5:08 AM
JDevlieghere accepted D45686: [Driver] Clean up tmp files when deleting Compilation objects.

Thanks David, LGTM

Tue, May 29, 5:06 AM

Sat, May 26

JDevlieghere committed rL333350: [dwarfdump] Make -c and -p work together.
[dwarfdump] Make -c and -p work together
Sat, May 26, 12:44 PM
JDevlieghere closed D47263: [dwarfdump] Have -c and -p work together.
Sat, May 26, 12:44 PM

Thu, May 24

JDevlieghere committed rL333177: [Support] Move header to WithColor header.
[Support] Move header to WithColor header
Thu, May 24, 4:51 AM
JDevlieghere committed rL333176: [Support] Add color cl category..
[Support] Add color cl category.
Thu, May 24, 4:41 AM
JDevlieghere updated the diff for D47263: [dwarfdump] Have -c and -p work together.
  • Address Adrian's comments
Thu, May 24, 2:57 AM
JDevlieghere added inline comments to D47263: [dwarfdump] Have -c and -p work together.
Thu, May 24, 2:57 AM

Wed, May 23

JDevlieghere added a comment to D46005: [test] Add a utility for dumping all tests in the dotest suite.

FWIW, I think the single biggest improvement one could make to the LLDB test suite runtime is to compile all inferiors up front as part of the CMake step. If you run the test suite twice every inferior is unnecessarily compiled twice.

Wed, May 23, 10:00 AM
JDevlieghere created D47263: [dwarfdump] Have -c and -p work together.
Wed, May 23, 8:19 AM
JDevlieghere added a comment to D47062: Suggest lldb-dotest to reproduce a failure..

I'm going to hold off on this until we have decided what to do for D46005. If we run the test cases as separate lit invocations, then the test format is in a better position to report this information.

Wed, May 23, 6:13 AM
JDevlieghere added a comment to D46005: [test] Add a utility for dumping all tests in the dotest suite.

I've given this some more though as I see valid points and concerns on both sides of the argument. I'm leaning towards running test cases in parallel because it offloads more work to lit at negligible cost (running make and launching the inferior are the biggest time consumers).

Wed, May 23, 6:12 AM

Tue, May 22

JDevlieghere updated the diff for D47209: [WIP] Add debug location check to verifier..

Increment number of errors so we have a non-zero exit code when this is hit.

Tue, May 22, 11:13 AM · debug-info
JDevlieghere created D47209: [WIP] Add debug location check to verifier..
Tue, May 22, 11:01 AM · debug-info
JDevlieghere committed rL333006: [DebugInfo] Invert DIE order for range errors..
[DebugInfo] Invert DIE order for range errors.
Tue, May 22, 10:42 AM
JDevlieghere committed rL333005: [DebugInfo] Fix location list check in the verifier.
[DebugInfo] Fix location list check in the verifier
Tue, May 22, 10:42 AM

May 22 2018

JDevlieghere accepted D47158: [DWARFv5] Put DWO ID in its place.

LGTM

May 22 2018, 3:14 AM · debug-info