Page MenuHomePhabricator

ikudrin (Igor Kudrin)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 6 2015, 10:51 PM (184 w, 5 d)

Recent Activity

Thu, Mar 21

ikudrin accepted D59618: [llvm-objdump] Support llvm-objdump -sj.foo.

LGTM.

Thu, Mar 21, 4:43 AM · Restricted Project

Tue, Mar 19

ikudrin added inline comments to D59415: Do not resolve directory junctions for `-fdiagnostics-absolute-paths` on Windows..
Tue, Mar 19, 12:05 AM · Restricted Project

Mon, Mar 18

ikudrin abandoned D50560: [LLD] Enable Visual Studio compatible diagnostics..
Mon, Mar 18, 11:42 PM · Restricted Project, lld
ikudrin added inline comments to D59415: Do not resolve directory junctions for `-fdiagnostics-absolute-paths` on Windows..
Mon, Mar 18, 4:50 AM · Restricted Project

Fri, Mar 15

ikudrin created D59415: Do not resolve directory junctions for `-fdiagnostics-absolute-paths` on Windows..
Fri, Mar 15, 8:01 AM · Restricted Project
ikudrin added a reverting change for D46942: Add vfs::FileSystem::getRealPath: D59415: Do not resolve directory junctions for `-fdiagnostics-absolute-paths` on Windows..
Fri, Mar 15, 8:01 AM

Fri, Mar 1

ikudrin committed rGa38432cefb08: [CommandLine] Allow grouping options which can have values. (authored by ikudrin).
[CommandLine] Allow grouping options which can have values.
Fri, Mar 1, 1:22 AM
ikudrin committed rL355185: [CommandLine] Allow grouping options which can have values..
[CommandLine] Allow grouping options which can have values.
Fri, Mar 1, 1:22 AM
ikudrin closed D58711: [CommandLine] Allow grouping options which can have values..
Fri, Mar 1, 1:22 AM · Restricted Project
ikudrin committed rG875f05828d95: [CommandLine] Do not crash if an option has both ValueRequired and Grouping. (authored by ikudrin).
[CommandLine] Do not crash if an option has both ValueRequired and Grouping.
Fri, Mar 1, 1:22 AM
ikudrin committed rL355184: [CommandLine] Do not crash if an option has both ValueRequired and Grouping..
[CommandLine] Do not crash if an option has both ValueRequired and Grouping.
Fri, Mar 1, 1:22 AM
ikudrin closed D58499: [CommandLine] Do not crash if an option has both ValueRequired and Grouping..
Fri, Mar 1, 1:22 AM · Restricted Project

Thu, Feb 28

ikudrin added a comment to D58711: [CommandLine] Allow grouping options which can have values..

By the way, we have some inconsistency in how cl::Prefix and cl::AlwaysPrefix options work in case of -opt=val form. The former takes only val, while the latter keeps =. Moreover, prefix grouping options in GNU's binutils, like -j in objdump, work partially as ours cl::AlwaysPrefix, because they preserve =, and partially as cl::Prefix, because they allow passing the value in a separate argument. Thus, we still cannot fully reproduce that behavior.

Thu, Feb 28, 3:00 AM · Restricted Project
ikudrin updated the diff for D58711: [CommandLine] Allow grouping options which can have values..
  • Fixed grammar and formatting issues.
  • Added test cases to check prefix options when their values are textually equal to another option.
Thu, Feb 28, 2:36 AM · Restricted Project

Wed, Feb 27

ikudrin created D58711: [CommandLine] Allow grouping options which can have values..
Wed, Feb 27, 4:06 AM · Restricted Project

Tue, Feb 26

ikudrin committed rG2d3faad706c8: [llvm-objdump] Implement -Mreg-names-raw/-std options. (authored by ikudrin).
[llvm-objdump] Implement -Mreg-names-raw/-std options.
Tue, Feb 26, 4:17 AM
ikudrin committed rL354870: [llvm-objdump] Implement -Mreg-names-raw/-std options..
[llvm-objdump] Implement -Mreg-names-raw/-std options.
Tue, Feb 26, 4:17 AM
ikudrin closed D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..
Tue, Feb 26, 4:17 AM · Restricted Project

Mon, Feb 25

ikudrin added a comment to D58499: [CommandLine] Do not crash if an option has both ValueRequired and Grouping..

LGTM.

Thanks!

Mon, Feb 25, 3:22 AM · Restricted Project

Fri, Feb 22

ikudrin added a comment to D58499: [CommandLine] Do not crash if an option has both ValueRequired and Grouping..

What happens for ValueOptional? I want to make sure that it doesn't treat the other grouped letters after it as the option's value.

Fri, Feb 22, 9:07 AM · Restricted Project
ikudrin updated the diff for D58499: [CommandLine] Do not crash if an option has both ValueRequired and Grouping..
  • Updated the documentation (feel free to correct my wording).
  • Amended a comment in the test.
Fri, Feb 22, 9:01 AM · Restricted Project
ikudrin added a comment to D58484: [DO NOT SUBMIT] Add -vs-diagnostics..

For me, the code should be, above all, reliable. You can trust it only in that case; otherwise, you never know, when and how it is going to be broken and produce an unexpected result.

Fri, Feb 22, 6:26 AM · Restricted Project

Feb 21 2019

ikudrin created D58499: [CommandLine] Do not crash if an option has both ValueRequired and Grouping..
Feb 21 2019, 3:34 AM · Restricted Project
ikudrin added a comment to D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..

Thanks! I'll wait a bit, but not very long. I believe the patch is safe because the default behavior is not changed.

Feb 21 2019, 2:55 AM · Restricted Project

Feb 20 2019

ikudrin updated the diff for D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..

Updated the test.

Feb 20 2019, 6:54 AM · Restricted Project
ikudrin added inline comments to D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..
Feb 20 2019, 1:29 AM · Restricted Project
ikudrin updated the diff for D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..
  • Made DefaultAltIdx private.
  • Extended the test.
  • Addressed other review comments.
Feb 20 2019, 1:23 AM · Restricted Project

Feb 11 2019

ikudrin added a comment to D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..

Ping.

Feb 11 2019, 12:44 AM · Restricted Project

Feb 6 2019

ikudrin added inline comments to D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..
Feb 6 2019, 9:17 AM · Restricted Project

Feb 5 2019

ikudrin added inline comments to D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..
Feb 5 2019, 4:20 AM · Restricted Project
ikudrin updated the diff for D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..

Addressed review comments.

Feb 5 2019, 4:17 AM · Restricted Project

Feb 4 2019

ikudrin created D57680: [llvm-objdump] Implement `-Mreg-names-raw`/`-std` options..
Feb 4 2019, 4:55 AM · Restricted Project

Jan 28 2019

ikudrin committed rL352447: [compiler-rt] Fix reporting unrecognized flags in unit tests..
[compiler-rt] Fix reporting unrecognized flags in unit tests.
Jan 28 2019, 6:33 PM
ikudrin committed rCRT352447: [compiler-rt] Fix reporting unrecognized flags in unit tests..
[compiler-rt] Fix reporting unrecognized flags in unit tests.
Jan 28 2019, 6:32 PM
ikudrin closed D57318: [compiler-rt] Fix reporting unrecognized flags in unittests..
Jan 28 2019, 6:32 PM
ikudrin created D57318: [compiler-rt] Fix reporting unrecognized flags in unittests..
Jan 28 2019, 3:04 AM

Dec 18 2018

ikudrin abandoned D55817: [ELF][ARM] Process ARM build attributes of dynamic libraries..

Thanks again, Peter!

Dec 18 2018, 6:19 AM · lld
ikudrin added a comment to D55817: [ELF][ARM] Process ARM build attributes of dynamic libraries..

Thank you for the explanation, Peter!

Dec 18 2018, 5:43 AM · lld
ikudrin created D55817: [ELF][ARM] Process ARM build attributes of dynamic libraries..
Dec 18 2018, 3:19 AM · lld

Sep 20 2018

ikudrin added a comment to D50560: [LLD] Enable Visual Studio compatible diagnostics..

With overloaded operators we can write something like

error("relocation " + toString(Type) +
        " cannot refer to absolute symbol: " + toString(Sym) +
        definedAt(toObjLoc(Sym.File)) +
        referencedBy(S.getSymLoc(Sym, RelOff)));

How would you prefer it to look like?
I don't insist on the current style, but I believe it is important to be discussed prior to rewriting the code because the decision will influence the design directly.

Sep 20 2018, 7:00 PM · Restricted Project, lld
ikudrin added a comment to D50560: [LLD] Enable Visual Studio compatible diagnostics..

@chrisjackson @arichardson @ruiu, thank you for the feedback! I am going to continue working on the patch somewhere in October. I would really appreciate any additional comments meanwhile.

Sep 20 2018, 12:38 AM · Restricted Project, lld

Aug 13 2018

ikudrin added a comment to D50632: [LLD][ELF] - Simplify TLS LD handling code..

If I calculate it right, your code has the same cyclomatic complexity as the original one. At the same time, it is one level deeper, taking into account the number of conditions for the particular lines.

Aug 13 2018, 7:34 AM
ikudrin added inline comments to D50494: [LLD] Reserve memory in implicitly set LMARegions.
Aug 13 2018, 5:55 AM
ikudrin added inline comments to D50569: Change how we handle -wrap..
Aug 13 2018, 4:07 AM
ikudrin added a comment to D50419: [ELF] Skip non-InputSection's in getErrPlace.

Is it possible to add a test case?

Aug 13 2018, 2:27 AM

Aug 10 2018

ikudrin added a comment to D47540: [lld] Enable Visual Studio compatible output.

Please see D50560 for my variant.

Aug 10 2018, 6:44 AM
ikudrin created D50560: [LLD] Enable Visual Studio compatible diagnostics..
Aug 10 2018, 6:43 AM · Restricted Project, lld

Jul 26 2018

ikudrin added a comment to D47540: [lld] Enable Visual Studio compatible output.

While more structured, I think this approach could be even more invasive than that suggested. Do you have an example implementation?

Jul 26 2018, 8:27 PM

Jul 24 2018

ikudrin committed rCRT337826: [profile] Fix finding the first and last directory separators on Windows..
[profile] Fix finding the first and last directory separators on Windows.
Jul 24 2018, 6:06 AM
ikudrin committed rL337826: [profile] Fix finding the first and last directory separators on Windows..
[profile] Fix finding the first and last directory separators on Windows.
Jul 24 2018, 6:06 AM
ikudrin closed D49664: [profile] Fix finding the first and last directory separators on Windows..
Jul 24 2018, 6:06 AM
ikudrin committed rCRT337823: [profile] Fix a possible memory leak in parseFilenamePattern()..
[profile] Fix a possible memory leak in parseFilenamePattern().
Jul 24 2018, 5:30 AM
ikudrin committed rL337823: [profile] Fix a possible memory leak in parseFilenamePattern()..
[profile] Fix a possible memory leak in parseFilenamePattern().
Jul 24 2018, 5:29 AM
ikudrin closed D49666: [profile] Fix a possible memory leak in parseFilenamePattern()..
Jul 24 2018, 5:29 AM

Jul 23 2018

ikudrin added a comment to D49664: [profile] Fix finding the first and last directory separators on Windows..

Unfortunately, we don't run the profile test suite on Windows.

Jul 23 2018, 8:43 PM
ikudrin created D49666: [profile] Fix a possible memory leak in parseFilenamePattern()..
Jul 23 2018, 4:55 AM
ikudrin created D49664: [profile] Fix finding the first and last directory separators on Windows..
Jul 23 2018, 4:50 AM
ikudrin added a comment to D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

Did you consider dividing the patch into two separate changes to solve the two described issues independently?

Jul 23 2018, 12:30 AM

Jul 20 2018

ikudrin added a comment to D49589: [UBSan] Strengthen pointer checks in 'new' expressions.

You may want to add a test for placement new, no?

Jul 20 2018, 3:42 AM

Jul 11 2018

ikudrin committed rL336799: [ELF] Update addends in non-allocatable sections for REL targets when creating….
[ELF] Update addends in non-allocatable sections for REL targets when creating…
Jul 11 2018, 5:57 AM
ikudrin committed rLLD336799: [ELF] Update addends in non-allocatable sections for REL targets when creating….
[ELF] Update addends in non-allocatable sections for REL targets when creating…
Jul 11 2018, 5:57 AM
ikudrin closed D48929: [ELF] Update addends in non-allocatable sections for REL targets when creating a relocatable output..
Jul 11 2018, 5:57 AM · lld
ikudrin added inline comments to D48929: [ELF] Update addends in non-allocatable sections for REL targets when creating a relocatable output..
Jul 11 2018, 5:05 AM · lld

Jul 10 2018

ikudrin added a comment to D47540: [lld] Enable Visual Studio compatible output.

Can we try the approach where the final style of diagnostic messages is determined in the reporting module and all other code just don't care about it?
Right now, we have a bunch of functions here and there which prepare some parts of the message in a specific style. Maybe it will be more semantically clear if there is a distinct place where the resulting message is prepared while all other parts of the linker provide only basic parts of the message (like message text, source location(s), code location(s), etc.) in a structured form. In this case, we can adjust only that distinct place to add any required message styles.

Jul 10 2018, 5:43 AM
ikudrin added a comment to D48929: [ELF] Update addends in non-allocatable sections for REL targets when creating a relocatable output..

Ping.

Jul 10 2018, 5:06 AM · lld

Jul 5 2018

ikudrin updated the diff for D48929: [ELF] Update addends in non-allocatable sections for REL targets when creating a relocatable output..
  • Shortened relocateNonAllocForRelocatable();
  • Made it static;
  • Removed an unused argument;
  • Changed an expression for Bits.
Jul 5 2018, 9:23 PM · lld

Jul 4 2018

ikudrin added inline comments to D48929: [ELF] Update addends in non-allocatable sections for REL targets when creating a relocatable output..
Jul 4 2018, 4:57 AM · lld
ikudrin created D48929: [ELF] Update addends in non-allocatable sections for REL targets when creating a relocatable output..
Jul 4 2018, 3:30 AM · lld

Jul 3 2018

ikudrin added a member for lld: ikudrin.
Jul 3 2018, 3:14 AM

Jun 26 2018

ikudrin added a comment to D47540: [lld] Enable Visual Studio compatible output.

I think we need to see the other places converted, too. Reports for duplicate symbols and invalid relocations will probably require additional changes, which may lead to better design when we see the whole picture.

Jun 26 2018, 7:48 AM

Jun 24 2018

ikudrin committed rC335445: [CodeGen] Provide source locations for UBSan type checks when emitting….
[CodeGen] Provide source locations for UBSan type checks when emitting…
Jun 24 2018, 10:54 PM
ikudrin committed rL335445: [CodeGen] Provide source locations for UBSan type checks when emitting….
[CodeGen] Provide source locations for UBSan type checks when emitting…
Jun 24 2018, 10:52 PM
ikudrin closed D48531: [CodeGen] Provide source locations for UBSan type checks when emitting constructor calls..
Jun 24 2018, 10:52 PM · Restricted Project
ikudrin created D48531: [CodeGen] Provide source locations for UBSan type checks when emitting constructor calls..
Jun 24 2018, 10:04 PM · Restricted Project

May 24 2018

ikudrin committed rCRT333180: [tsan] Fix a failure in test java_race_pc on AArch64 after r333071.
[tsan] Fix a failure in test java_race_pc on AArch64 after r333071
May 24 2018, 5:30 AM
ikudrin committed rL333180: [tsan] Fix a failure in test java_race_pc on AArch64 after r333071.
[tsan] Fix a failure in test java_race_pc on AArch64 after r333071
May 24 2018, 5:30 AM

May 23 2018

ikudrin committed rCRT333071: [sanitizer] Reland "Be more accurate when calculating the previous instruction….
[sanitizer] Reland "Be more accurate when calculating the previous instruction…
May 23 2018, 2:22 AM
ikudrin committed rL333071: [sanitizer] Reland "Be more accurate when calculating the previous instruction….
[sanitizer] Reland "Be more accurate when calculating the previous instruction…
May 23 2018, 2:22 AM

May 7 2018

ikudrin committed rCRT331734: Revert "[sanitizer] Be more accurate when calculating the previous instruction….
Revert "[sanitizer] Be more accurate when calculating the previous instruction…
May 7 2018, 9:42 PM
ikudrin committed rL331734: Revert "[sanitizer] Be more accurate when calculating the previous instruction….
Revert "[sanitizer] Be more accurate when calculating the previous instruction…
May 7 2018, 9:42 PM
ikudrin committed rCRT331626: [sanitizer] Be more accurate when calculating the previous instruction address….
[sanitizer] Be more accurate when calculating the previous instruction address…
May 7 2018, 3:12 AM
ikudrin committed rL331626: [sanitizer] Be more accurate when calculating the previous instruction address….
[sanitizer] Be more accurate when calculating the previous instruction address…
May 7 2018, 3:12 AM
ikudrin closed D46004: Be more accurate when calculating the previous instruction address on Arm..
May 7 2018, 3:12 AM · Restricted Project

May 3 2018

ikudrin added a comment to D46004: Be more accurate when calculating the previous instruction address on Arm..

Ping.

May 3 2018, 9:23 PM · Restricted Project

Apr 24 2018

ikudrin created D46004: Be more accurate when calculating the previous instruction address on Arm..
Apr 24 2018, 4:58 AM · Restricted Project

Feb 27 2018

ikudrin committed rL326305: [ELF] Process linker scripts deeper when declaring symbols..
[ELF] Process linker scripts deeper when declaring symbols.
Feb 27 2018, 10:00 PM
ikudrin committed rLLD326305: [ELF] Process linker scripts deeper when declaring symbols..
[ELF] Process linker scripts deeper when declaring symbols.
Feb 27 2018, 10:00 PM
ikudrin closed D43008: [ELF] Process linker scripts deeper when declaring symbols..
Feb 27 2018, 10:00 PM · lld
ikudrin added a comment to D43008: [ELF] Process linker scripts deeper when declaring symbols..

Thanks!

Feb 27 2018, 9:50 PM · lld
ikudrin added a comment to D43008: [ELF] Process linker scripts deeper when declaring symbols..

Ping. Is there anything I can improve here?

Feb 27 2018, 7:10 PM · lld

Feb 26 2018

ikudrin committed rL326176: [ELF] Create and export symbols provided by a linker script if they referenced….
[ELF] Create and export symbols provided by a linker script if they referenced…
Feb 26 2018, 11:20 PM
ikudrin committed rLLD326176: [ELF] Create and export symbols provided by a linker script if they referenced….
[ELF] Create and export symbols provided by a linker script if they referenced…
Feb 26 2018, 11:20 PM
ikudrin closed D43011: [ELF] Create and export symbols provided by a linker script if they referenced by DSOs..
Feb 26 2018, 11:20 PM · lld
ikudrin committed rC326164: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on….
[Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on…
Feb 26 2018, 6:56 PM
ikudrin committed rL326164: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on….
[Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on…
Feb 26 2018, 6:56 PM
ikudrin closed D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..
Feb 26 2018, 6:56 PM · Restricted Project
ikudrin updated the diff for D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..
  • Add a test.
Feb 26 2018, 5:51 AM · Restricted Project
ikudrin added a comment to D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..

Not all toolchains call ToolChain::GetLinkerPath. For example, MSVC toolchain uses its own code:

void visualstudio::Linker::ConstructJob(...) {
...
  StringRef Linker = Args.getLastArgValue(options::OPT_fuse_ld_EQ, "link");
  if (Linker.equals_lower("lld"))
    Linker = "lld-link";
...
}

In my case, I am trying to cross-compile:

> ...\clang.exe a.cpp -fuse-ld=lld -target i686-pc-linux-gnu
clang.exe: error: invalid linker name in argument '-fuse-ld=lld'
Feb 26 2018, 2:09 AM · Restricted Project

Feb 22 2018

ikudrin added inline comments to D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..
Feb 22 2018, 7:53 AM · Restricted Project
ikudrin created D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..
Feb 22 2018, 7:46 AM · Restricted Project