Page MenuHomePhabricator

NikolaPrica (Nikola Prica)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 18 2017, 7:08 AM (117 w, 2 d)

Recent Activity

Yesterday

NikolaPrica updated the diff for D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

-Rebase
-Move register identity transformation check to DwarfDebug::collectCallSiteParameters()

Thu, Oct 17, 7:39 AM · debug-info
NikolaPrica added a comment to D69109: [DebugInfo] Stop describing imms in TargetInstrInfo's describeLoadedValue() impl.

LGTM! Handling each instruction separately is indeed more safer! Too bad that we can't relay much on MI generic flags such as this one.

Thu, Oct 17, 7:30 AM · Restricted Project, debug-info

Mon, Oct 14

NikolaPrica added inline comments to D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.
Mon, Oct 14, 8:34 AM · debug-info
NikolaPrica updated the diff for D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

Thanks for useful comments @dstenb!

Mon, Oct 14, 8:34 AM · debug-info
NikolaPrica added a comment to D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

Any additional comments?

Mon, Oct 14, 5:56 AM · debug-info

Wed, Oct 9

NikolaPrica updated the diff for D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

-Update addImmediate() commet.
-Add source code producer for test case.

Wed, Oct 9, 9:21 AM · debug-info
NikolaPrica committed rGf71bac6f4351: [DebugInfo] Enable call site debug info for ARM and AArch64 (authored by NikolaPrica).
[DebugInfo] Enable call site debug info for ARM and AArch64
Wed, Oct 9, 3:15 AM
NikolaPrica closed D67004: [DebugInfo] Enable call site parameter debug info for ARM and AArch64.
Wed, Oct 9, 3:14 AM · Restricted Project, debug-info
NikolaPrica committed rL374153: [DebugInfo] Enable call site debug info for ARM and AArch64.
[DebugInfo] Enable call site debug info for ARM and AArch64
Wed, Oct 9, 3:14 AM

Tue, Oct 8

NikolaPrica committed rG98603a815308: [DebugInfo][If-Converter] Update call site info during the optimization (authored by NikolaPrica).
[DebugInfo][If-Converter] Update call site info during the optimization
Tue, Oct 8, 8:45 AM
NikolaPrica closed D66955: [DebugInfo][If-Converter] Update call site info during the optimization.
Tue, Oct 8, 8:45 AM · Restricted Project, debug-info
NikolaPrica committed rL374068: [DebugInfo][If-Converter] Update call site info during the optimization.
[DebugInfo][If-Converter] Update call site info during the optimization
Tue, Oct 8, 8:45 AM
NikolaPrica updated the diff for D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

-Include Destination operand in isAddImmediate()
-Exclude description of add immediate instructions where source and destination registers are the same.

Tue, Oct 8, 7:29 AM · debug-info
NikolaPrica committed rG02682498b86a: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers (authored by NikolaPrica).
[ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers
Tue, Oct 8, 2:46 AM
NikolaPrica closed D66953: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers.
Tue, Oct 8, 2:46 AM · Restricted Project, debug-info
NikolaPrica committed rL374033: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers.
[ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers
Tue, Oct 8, 2:41 AM

Mon, Oct 7

NikolaPrica added inline comments to D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.
Mon, Oct 7, 7:13 AM · debug-info
NikolaPrica added inline comments to D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.
Mon, Oct 7, 5:20 AM · debug-info

Fri, Sep 20

NikolaPrica updated the diff for D67717: [DebugInfo] Exclude memory location values as parameter entry values.

-Update lldb test.

Fri, Sep 20, 7:08 AM · Restricted Project, debug-info
NikolaPrica added inline comments to D66955: [DebugInfo][If-Converter] Update call site info during the optimization.
Fri, Sep 20, 12:04 AM · Restricted Project, debug-info

Thu, Sep 19

NikolaPrica added inline comments to D66953: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers.
Thu, Sep 19, 7:05 AM · Restricted Project, debug-info
NikolaPrica added a reviewer for D66953: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers: t.p.northover.
Thu, Sep 19, 7:02 AM · Restricted Project, debug-info
NikolaPrica removed a reviewer for D67717: [DebugInfo] Exclude memory location values as parameter entry values: t.p.northover.
Thu, Sep 19, 7:00 AM · Restricted Project, debug-info
NikolaPrica added a reviewer for D67717: [DebugInfo] Exclude memory location values as parameter entry values: t.p.northover.
Thu, Sep 19, 6:59 AM · Restricted Project, debug-info
NikolaPrica added inline comments to D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.
Thu, Sep 19, 6:47 AM · debug-info
NikolaPrica added inline comments to D67717: [DebugInfo] Exclude memory location values as parameter entry values.
Thu, Sep 19, 6:21 AM · Restricted Project, debug-info

Wed, Sep 18

NikolaPrica created D67717: [DebugInfo] Exclude memory location values as parameter entry values.
Wed, Sep 18, 9:39 AM · Restricted Project, debug-info
NikolaPrica updated the diff for D66953: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers.

Rebase:

-AArch64ISEL part is changed in order do avoid tracking cases when two or more parameters can be in same register.
Wed, Sep 18, 7:59 AM · Restricted Project, debug-info

Sep 18 2019

NikolaPrica updated the diff for D66955: [DebugInfo][If-Converter] Update call site info during the optimization.

Adjust comments in MachineFunction.h

Sep 18 2019, 2:58 AM · Restricted Project, debug-info

Sep 17 2019

NikolaPrica updated the diff for D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

-Remove redundant comment.

Sep 17 2019, 5:34 AM · debug-info
NikolaPrica updated the diff for D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

-Remove unnecessary MIR test elements.

Sep 17 2019, 5:20 AM · debug-info
NikolaPrica added a comment to D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

@dstenb you are right! I've tried this example and it is as you expected. We should avoid dereferencing memory locations. I will address those issues in separate patch.

Sep 17 2019, 5:03 AM · debug-info
NikolaPrica updated the diff for D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

-Address spelling issues.
-Dispatch memory loading instruction descriptions.

Sep 17 2019, 4:59 AM · debug-info
NikolaPrica updated the diff for D66955: [DebugInfo][If-Converter] Update call site info during the optimization.

Split call site updating functions on move, copy and erase functions.

Sep 17 2019, 4:57 AM · Restricted Project, debug-info

Sep 13 2019

NikolaPrica created D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.
Sep 13 2019, 8:27 AM · debug-info
NikolaPrica updated the diff for D66955: [DebugInfo][If-Converter] Update call site info during the optimization.

Thanks for the comment @efriedma! I've looked more carefully this optimization. It turns out that after CopyAndPredicateBlock it is not guaranteed that copied instruction block will be deleted. The deletion of critical call instruction happens after If-conversion during the BranchFolding cleaning when some block does not have predecessors.

Sep 13 2019, 8:16 AM · Restricted Project, debug-info

Sep 11 2019

NikolaPrica added a comment to D67004: [DebugInfo] Enable call site parameter debug info for ARM and AArch64.

Ping.

Sep 11 2019, 9:00 AM · Restricted Project, debug-info
NikolaPrica added a comment to D66955: [DebugInfo][If-Converter] Update call site info during the optimization.

Should we look for another reviewer or this is good to go?

Sep 11 2019, 8:55 AM · Restricted Project, debug-info

Sep 6 2019

NikolaPrica added a comment to D67225: [DebugInfo][X86] Describe call site values for zero-valued imms.

This looks good! I'm happy to see that implicit operands can be removed from the work-list this efficiently.

Sep 6 2019, 5:27 AM · Restricted Project, debug-info
NikolaPrica added a comment to D67261: [NFC] Make the describeLoadedValue() hook return machine operand objects.

LGTM!

Sep 6 2019, 4:51 AM · Restricted Project, debug-info
NikolaPrica added inline comments to D67004: [DebugInfo] Enable call site parameter debug info for ARM and AArch64.
Sep 6 2019, 4:47 AM · Restricted Project, debug-info

Sep 2 2019

NikolaPrica updated the diff for D67004: [DebugInfo] Enable call site parameter debug info for ARM and AArch64.

Addressing comments.
Thanks for suggestions!

Sep 2 2019, 1:48 AM · Restricted Project, debug-info

Aug 30 2019

NikolaPrica added a child revision for D66955: [DebugInfo][If-Converter] Update call site info during the optimization: D67004: [DebugInfo] Enable call site parameter debug info for ARM and AArch64.
Aug 30 2019, 7:15 AM · Restricted Project, debug-info
NikolaPrica added a parent revision for D67004: [DebugInfo] Enable call site parameter debug info for ARM and AArch64: D66955: [DebugInfo][If-Converter] Update call site info during the optimization.
Aug 30 2019, 7:15 AM · Restricted Project, debug-info
NikolaPrica created D67004: [DebugInfo] Enable call site parameter debug info for ARM and AArch64.
Aug 30 2019, 7:15 AM · Restricted Project, debug-info
NikolaPrica added inline comments to D66955: [DebugInfo][If-Converter] Update call site info during the optimization.
Aug 30 2019, 2:20 AM · Restricted Project, debug-info
NikolaPrica updated the diff for D66953: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers.

Replacing hard-coded test case values with regex.

Aug 30 2019, 2:11 AM · Restricted Project, debug-info

Aug 29 2019

NikolaPrica added a child revision for D66953: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers: D66955: [DebugInfo][If-Converter] Update call site info during the optimization.
Aug 29 2019, 9:15 AM · Restricted Project, debug-info
NikolaPrica added a parent revision for D66955: [DebugInfo][If-Converter] Update call site info during the optimization: D66953: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers.
Aug 29 2019, 9:15 AM · Restricted Project, debug-info
NikolaPrica created D66955: [DebugInfo][If-Converter] Update call site info during the optimization.
Aug 29 2019, 9:09 AM · Restricted Project, debug-info
NikolaPrica created D66953: [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers.
Aug 29 2019, 8:50 AM · Restricted Project, debug-info
NikolaPrica added a comment to D66888: [LiveDebugValues] Insert entry values after bundles.

From my point of view this is good to go. 'insertAfterBundle' could go as NFC I suppose.

Aug 29 2019, 2:47 AM · Restricted Project, debug-info

Aug 19 2019

NikolaPrica added a comment to rL366708: Revert "Reland [ELF] Loose a condition for relocation with a symbol".

Actually it is not fixed. Bug is related to "-O2" linker optimizations. More precisely to stringpool optimization of merge-able sections. I've located bug in the linker but I didn't have time to get into the details. Here you can find binaries https://sourceware.org/bugzilla/show_bug.cgi?id=16794.

Aug 19 2019, 2:12 AM

Jul 25 2019

NikolaPrica added a comment to D64327: [ELF] Loose condition for relocation with a symbol.

Do you mean with the linker option -O2, i.e. the compiler driver option -Wl,-O2, gold can produce incorrect result? If that is the case, I don't think we should revert the patch. ld.bfd and gold default to -O0 (lld defaults to -O1), it is extremely rare for a project to specify -Wl,-O2.

Jul 25 2019, 4:36 AM · Restricted Project
NikolaPrica added a comment to D64327: [ELF] Loose condition for relocation with a symbol.

This patch is reverted. Bug in gold compiler is not solved after all. We tested this functionality without optimizations enabled. With the "-O2" flag bug is still present.

Jul 25 2019, 3:47 AM · Restricted Project

Jul 22 2019

NikolaPrica committed rG0166cff09b1b: Reland [ELF] Loose a condition for relocation with a symbol (authored by NikolaPrica).
Reland [ELF] Loose a condition for relocation with a symbol
Jul 22 2019, 6:08 AM
NikolaPrica committed rL366686: Reland [ELF] Loose a condition for relocation with a symbol.
Reland [ELF] Loose a condition for relocation with a symbol
Jul 22 2019, 6:08 AM

Jul 15 2019

NikolaPrica accepted D64500: [DebugInfo] Remove call sites when eliminating unreachable blocks.

The reason why I think it's hard to see that call site information has been removed is that, as far as I can tell there is no way to print the function attributes when doing something like -print-{before,after}-all, so it can be hard to to see where in the pass pipeline the callSites information was dropped. You could of course analyze the MIR and see where the information is likely to have been dropped, but I guess that can be difficult/annoying for larger programs.

Oh, I thought r364506 (D61061) implemented MIR printer support for call site metadata. If not, it's probably worth adding.

This dumps the CallSitesInfo when we producing a ".mir" file. The CallSitesInfo describes an internal state of the MF like the fixedStack, frameInfo etc. I'm not sure how we could make it recognizable in -print-{before,after}-all. Maybe like some metadata extension of call instruction. However, it should be part of another patch.

Jul 15 2019, 4:32 AM · Restricted Project, debug-info

Jul 11 2019

NikolaPrica added inline comments to rL365619: [ELF] Update test case due to llvm r365618.
Jul 11 2019, 8:18 AM
NikolaPrica added a comment to D64500: [DebugInfo] Remove call sites when eliminating unreachable blocks.

@dstenb The patch looks good! LGTM! Thanks for working on this!

Jul 11 2019, 4:07 AM · Restricted Project, debug-info

Jul 10 2019

NikolaPrica committed rG6522bedefe3b: Revert "[ELF] Update test case due to llvm r365618" (authored by NikolaPrica).
Revert "[ELF] Update test case due to llvm r365618"
Jul 10 2019, 12:02 PM
NikolaPrica committed rGbbfa4cf70b9a: Revert "[ELF] Loose a condition for relocation with a symbol" (authored by NikolaPrica).
Revert "[ELF] Loose a condition for relocation with a symbol"
Jul 10 2019, 11:59 AM
NikolaPrica committed rL365686: Revert "[ELF] Update test case due to llvm r365618".
Revert "[ELF] Update test case due to llvm r365618"
Jul 10 2019, 11:58 AM
NikolaPrica committed rL365685: Revert "[ELF] Loose a condition for relocation with a symbol".
Revert "[ELF] Loose a condition for relocation with a symbol"
Jul 10 2019, 11:58 AM
NikolaPrica committed rGfcd978b0a6f5: [ELF] Update test case due to llvm r365618 (authored by NikolaPrica).
[ELF] Update test case due to llvm r365618
Jul 10 2019, 4:21 AM
NikolaPrica added a comment to D64327: [ELF] Loose condition for relocation with a symbol.

@MaskRay Thanks for the heads up and review!

Jul 10 2019, 4:20 AM · Restricted Project
NikolaPrica committed rL365619: [ELF] Update test case due to llvm r365618.
[ELF] Update test case due to llvm r365618
Jul 10 2019, 4:20 AM
NikolaPrica committed rGfb163b4b207c: [ELF] Loose a condition for relocation with a symbol (authored by NikolaPrica).
[ELF] Loose a condition for relocation with a symbol
Jul 10 2019, 4:19 AM
NikolaPrica committed rL365618: [ELF] Loose a condition for relocation with a symbol.
[ELF] Loose a condition for relocation with a symbol
Jul 10 2019, 4:19 AM
NikolaPrica closed D64327: [ELF] Loose condition for relocation with a symbol.
Jul 10 2019, 4:18 AM · Restricted Project

Jul 8 2019

NikolaPrica created D64327: [ELF] Loose condition for relocation with a symbol.
Jul 8 2019, 5:57 AM · Restricted Project

Jun 14 2019

NikolaPrica added a comment to D61062: Keep call site info valid through the backend.

Ping. Do we need to explain our concern more precisely?

Jun 14 2019, 1:25 AM · Restricted Project, debug-info

Jun 13 2019

NikolaPrica committed rG076ae0d2e2f6: [DebugInfo] Move Value struct out of DebugLocEntry as DbgValueLoc (NFC) (authored by NikolaPrica).
[DebugInfo] Move Value struct out of DebugLocEntry as DbgValueLoc (NFC)
Jun 13 2019, 3:21 AM
NikolaPrica committed rL363246: [DebugInfo] Move Value struct out of DebugLocEntry as DbgValueLoc (NFC).
[DebugInfo] Move Value struct out of DebugLocEntry as DbgValueLoc (NFC)
Jun 13 2019, 3:20 AM
NikolaPrica closed D63213: [DebugInfo] Move Value struct out of DebugLocEntry as DbgValueLoc (NFC).
Jun 13 2019, 3:20 AM · Restricted Project, debug-info

Jun 12 2019

NikolaPrica created D63213: [DebugInfo] Move Value struct out of DebugLocEntry as DbgValueLoc (NFC).
Jun 12 2019, 8:57 AM · Restricted Project, debug-info

Jun 10 2019

NikolaPrica added a comment to D61600: [DebugInfo] More precise variable range for stack locations.

Thanks for the review and patience!

Jun 10 2019, 1:42 AM · Restricted Project, debug-info
NikolaPrica committed rGabc1dff7e44a: [DebugInfo] More strict debug range for stack variables (authored by NikolaPrica).
[DebugInfo] More strict debug range for stack variables
Jun 10 2019, 1:39 AM
NikolaPrica committed rL362923: [DebugInfo] More strict debug range for stack variables.
[DebugInfo] More strict debug range for stack variables
Jun 10 2019, 1:38 AM
NikolaPrica closed D61600: [DebugInfo] More precise variable range for stack locations.
Jun 10 2019, 1:37 AM · Restricted Project, debug-info

Jun 6 2019

NikolaPrica added inline comments to D61062: Keep call site info valid through the backend.
Jun 6 2019, 8:14 AM · Restricted Project, debug-info

Jun 5 2019

NikolaPrica added a comment to D61600: [DebugInfo] More precise variable range for stack locations.

Have you tested the performance when compiling Clang with ASAN enabled to make sure we're not accidentally regressing because of the more thorough single-location check?

I've built LLVM with '-DLLVM_USE_SANITIZER=Address' using downloaded clang binary to produce private clang binary. I've run tests and compiled latest version of gdb with new private binary and I didn't see any regression there. Is that what you meant?

I think that the idea was to see if this patch increases the compilation time when building such a Clang binary.

(Just make sure to use the RelWithDebInfo build type also.)

Yes. Enabling ASAN on a large C++ code base such as Clang is a great way to see compiler performance problems.
Can you post the output of "ninja clean && time ninja clang" before and after applying your patch to the *host* compiler?

Thanks for clarification!

before

real 46m29,670s
user 325m27,488s
sys 6m17,255s

Jun 5 2019, 3:18 AM · Restricted Project, debug-info

Jun 3 2019

NikolaPrica added inline comments to D61062: Keep call site info valid through the backend.
Jun 3 2019, 7:39 AM · Restricted Project, debug-info
NikolaPrica committed rG2d0106a11041: [LiveDebugValues] Close range for previous variable's location when adding… (authored by NikolaPrica).
[LiveDebugValues] Close range for previous variable's location when adding…
Jun 3 2019, 2:46 AM
NikolaPrica committed rL362373: [LiveDebugValues] Close range for previous variable's location when adding….
[LiveDebugValues] Close range for previous variable's location when adding…
Jun 3 2019, 2:46 AM
NikolaPrica closed D62196: [LiveDebugValues] Close range for previous variable's location when deducing new variable's location.
Jun 3 2019, 2:46 AM · Restricted Project, debug-info
NikolaPrica added a comment to D61600: [DebugInfo] More precise variable range for stack locations.

Have you tested the performance when compiling Clang with ASAN enabled to make sure we're not accidentally regressing because of the more thorough single-location check?

Jun 3 2019, 2:16 AM · Restricted Project, debug-info
NikolaPrica updated the diff for D61600: [DebugInfo] More precise variable range for stack locations.
  • Rebase.
Jun 3 2019, 2:11 AM · Restricted Project, debug-info

May 29 2019

NikolaPrica added inline comments to D61062: Keep call site info valid through the backend.
May 29 2019, 6:23 AM · Restricted Project, debug-info

May 28 2019

NikolaPrica added a comment to D61061: [MachineFunction] Base support for call site info tracking.
Please provide us with more details about your idea.

When we lower a call we invoke some method to do the lowering to register, frame index etc. The idea would be to extract this code (easier said than done) into its own library and use this API to produce the debug info instead of carrying this information in the MachineFunction.

May 28 2019, 6:00 AM · Restricted Project, debug-info

May 27 2019

NikolaPrica updated the diff for D61600: [DebugInfo] More precise variable range for stack locations.
  • Updated comment (single instruction -> single location)
May 27 2019, 7:03 AM · Restricted Project, debug-info
NikolaPrica updated the diff for D62196: [LiveDebugValues] Close range for previous variable's location when deducing new variable's location.

Is this ready to land now?

May 27 2019, 6:55 AM · Restricted Project, debug-info
NikolaPrica committed rG441ad6253130: Test commit (NFC) (authored by NikolaPrica).
Test commit (NFC)
May 27 2019, 6:52 AM
NikolaPrica committed rL361761: Test commit (NFC).
Test commit (NFC)
May 27 2019, 6:48 AM

May 24 2019

NikolaPrica updated the diff for D61600: [DebugInfo] More precise variable range for stack locations.
  • Update comments.
May 24 2019, 9:07 AM · Restricted Project, debug-info
NikolaPrica updated the diff for D61600: [DebugInfo] More precise variable range for stack locations.
  • Represent DbgVariable's single value representation by DebugLocEntry::Value insted of representing it with MachineInstr. Such representation will allow us to produce fragment single value representation (for now it is not supported).
  • Update DwarfDebug::buildLocationList to check if produced list has single entry that is valid throughout whole variable's scope.
May 24 2019, 7:41 AM · Restricted Project, debug-info
NikolaPrica updated the diff for D62196: [LiveDebugValues] Close range for previous variable's location when deducing new variable's location.
  • Address comments for test labels.
  • Perform conditional copy for new OutLocs set.
May 24 2019, 4:17 AM · Restricted Project, debug-info

May 23 2019

NikolaPrica added inline comments to D62196: [LiveDebugValues] Close range for previous variable's location when deducing new variable's location.
May 23 2019, 9:15 AM · Restricted Project, debug-info
NikolaPrica updated the diff for D62196: [LiveDebugValues] Close range for previous variable's location when deducing new variable's location.

-Make sure DBG_VALUEs from the test case occur in different blocks.

May 23 2019, 8:20 AM · Restricted Project, debug-info

May 22 2019

NikolaPrica updated the diff for D62196: [LiveDebugValues] Close range for previous variable's location when deducing new variable's location.
  • Update comment
  • Changed label for test check-prefix
May 22 2019, 2:51 AM · Restricted Project, debug-info