atanasyan (Simon Atanasyan)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 6 2013, 6:15 AM (228 w, 1 d)

Recent Activity

Today

atanasyan accepted D35686: [mips] Support -membedded-data and fix a related bug.

LGTM with minor nits.

Thu, Jul 20, 2:49 PM
atanasyan committed rL308667: [CodeGen][mips] Support `long_call/far/near` attributes.
[CodeGen][mips] Support `long_call/far/near` attributes
Thu, Jul 20, 1:35 PM
atanasyan closed D35479: [CodeGen][mips] Support `long_call/far/near` attributes by committing rL308667: [CodeGen][mips] Support `long_call/far/near` attributes.
Thu, Jul 20, 1:35 PM · Restricted Project
atanasyan committed rL308606: [mips] Support `long_call/far/near` attributes passed by front-end.
[mips] Support `long_call/far/near` attributes passed by front-end
Thu, Jul 20, 5:20 AM
atanasyan updated the diff for D35479: [CodeGen][mips] Support `long_call/far/near` attributes.

Addressed review comments.

Thu, Jul 20, 1:28 AM · Restricted Project

Yesterday

atanasyan updated the diff for D35479: [CodeGen][mips] Support `long_call/far/near` attributes.

My bad. I did not read your comment thoroughly.

Wed, Jul 19, 11:11 PM · Restricted Project
atanasyan added a comment to D21292: [mips] Correct ELF format for N32..

Able to compile and run non-PIC n32 binaries for my project. However, lld still crashes when linking PIC n32 object files. I think the fixup_Mips_GPOFF_HI/LO in the ELF writer should also have demux logic to differentiate between n64 and n32, otherwise the 3-in-1 relocation entry may be written to n32 and crashes lld.

Wed, Jul 19, 2:29 PM
atanasyan updated the diff for D35479: [CodeGen][mips] Support `long_call/far/near` attributes.
  • New wording of attributes documentation and comments.
  • Remove redundant if-return statements.
Wed, Jul 19, 2:26 PM · Restricted Project
atanasyan updated the diff for D35480: [mips] Support `long_call/far/near` attributes passed by front-end.
  • Addressed review comments: add 64-bit tests, restore comment in the code.
Wed, Jul 19, 5:35 AM
atanasyan added inline comments to D35480: [mips] Support `long_call/far/near` attributes passed by front-end.
Wed, Jul 19, 5:33 AM
atanasyan updated the diff for D35479: [CodeGen][mips] Support `long_call/far/near` attributes.
  • Early return from setTargetAttributes methods if IsForDefinition is not true in all cases except handling MIPS "call style" attributes.
Wed, Jul 19, 4:31 AM · Restricted Project
atanasyan accepted D35549: [mips] Add support for -m(no-)local-sdata.

LGTM

Wed, Jul 19, 4:02 AM
atanasyan accepted D35550: [mips] Add support for -m(no-)extern-data..

LGTM

Wed, Jul 19, 4:01 AM

Tue, Jul 18

atanasyan updated the diff for D35479: [CodeGen][mips] Support `long_call/far/near` attributes.
  • Pass IsForDefinition argument to the setTargetAttributes method.
Tue, Jul 18, 10:12 PM · Restricted Project
atanasyan updated the diff for D35479: [CodeGen][mips] Support `long_call/far/near` attributes.

Addressed review comment:

  • Split MipsLongCall into a couple of attributes MipsLongCall and MipsShortCall.
  • Change the documentation wording.
  • Keep the attributes handling in the setTargetAttributes.
  • Show error in case of combining incompatible attributes.
Tue, Jul 18, 3:41 PM · Restricted Project
atanasyan accepted D35548: [mips] Teach the driver to accept -m(no-)gpopt..

LGTM

Tue, Jul 18, 2:42 PM
atanasyan added inline comments to D35548: [mips] Teach the driver to accept -m(no-)gpopt..
Tue, Jul 18, 5:33 AM

Mon, Jul 17

atanasyan updated the summary of D35479: [CodeGen][mips] Support `long_call/far/near` attributes.
Mon, Jul 17, 5:32 AM · Restricted Project
atanasyan created D35480: [mips] Support `long_call/far/near` attributes passed by front-end.
Mon, Jul 17, 5:30 AM
atanasyan added a dependent revision for D35479: [CodeGen][mips] Support `long_call/far/near` attributes: D35480: [mips] Support `long_call/far/near` attributes passed by front-end.
Mon, Jul 17, 5:30 AM · Restricted Project
atanasyan created D35479: [CodeGen][mips] Support `long_call/far/near` attributes.
Mon, Jul 17, 5:28 AM · Restricted Project

Sat, Jul 15

atanasyan committed rL308087: [mips] Handle the `long-calls` feature flags in the MIPS backend.
[mips] Handle the `long-calls` feature flags in the MIPS backend
Sat, Jul 15, 12:14 AM
atanasyan closed D35168: [mips] Handle the `long-calls` feature flags in the MIPS backend by committing rL308087: [mips] Handle the `long-calls` feature flags in the MIPS backend.
Sat, Jul 15, 12:14 AM

Thu, Jul 13

atanasyan updated the diff for D35168: [mips] Handle the `long-calls` feature flags in the MIPS backend.
  • Handle jumps to 64-bit symbols in case of long-calls option
  • Ignore long-calls option if abi calls is used
Thu, Jul 13, 2:24 PM

Wed, Jul 12

atanasyan added a comment to D35168: [mips] Handle the `long-calls` feature flags in the MIPS backend.

I think a warning shown by the Clang in case of mixed long-calls and 'abicalls` options will be enough. If user gets warning from the front-end and one more warning or even an error from the backend, it might looks messy. Additional option - we can silently ignore long-calls in the backend if no +noabicalls feature flag is provided. Like we ignore long-calls in case of PIC.

Wed, Jul 12, 11:04 PM
atanasyan requested changes to D35276: [yaml2obj][ELF] Add support for program headers.

And you definitely need to add some tests cases.

Wed, Jul 12, 3:55 PM

Tue, Jul 11

atanasyan added a comment to D35168: [mips] Handle the `long-calls` feature flags in the MIPS backend.

We should warn/error in LLVM on mixing abicalls and long calls

Do you know why gcc does not warn in this case? Moreover gcc -mabicalls -mlong-calls generates jalr not jal instructions. Is it a bug in gcc?

Tue, Jul 11, 10:33 AM
atanasyan accepted D35253: [mips][mt][6/7] Add support for mftr, mttr instructions..

LGTM

Tue, Jul 11, 9:07 AM
atanasyan accepted D35252: [mips][mt][5/7] Add support for fork and yield instructions..

LGTM

Tue, Jul 11, 8:02 AM
atanasyan accepted D35251: [mips][mt][4/7] Add IAS support for dvpe, evpe instructions..

LGTM

Tue, Jul 11, 7:07 AM
atanasyan accepted D35250: [mips][mt][3/7] Add IAS support for emt, dmt instructions..

LGTM

Tue, Jul 11, 6:44 AM
atanasyan accepted D35254: [mips][mt][7/7] Add driver option for the MIPS MT ASE..

LGTM

Tue, Jul 11, 6:31 AM
atanasyan accepted D35249: [mips][mt][2/7] Implement .module and .set directives for the MT ASE..

LGTM

Tue, Jul 11, 6:28 AM
atanasyan accepted D35247: [mips][mt][1/7] Add the MT ASE as a subtarget feature..

LGTM with minor note

Tue, Jul 11, 6:17 AM

Mon, Jul 10

atanasyan committed rL307627: [mips] Create the correct profiling symbol on Linux MIPS.
[mips] Create the correct profiling symbol on Linux MIPS
Mon, Jul 10, 11:19 PM
atanasyan committed rL307386: [driver][mips] Pass long-calls feature flag to the MIPS backend.
[driver][mips] Pass long-calls feature flag to the MIPS backend
Mon, Jul 10, 9:42 AM

Sun, Jul 9

atanasyan created D35168: [mips] Handle the `long-calls` feature flags in the MIPS backend.
Sun, Jul 9, 6:13 AM

Thu, Jul 6

atanasyan updated the diff for D31528: [ELF][MIPS] Multi-GOT implementation.

Rebased against the trunk.

Thu, Jul 6, 10:11 PM · lld

Wed, Jul 5

atanasyan committed rL307152: [driver][mips] Use AddTargetFeature to check arguments and add feature flags..
[driver][mips] Use AddTargetFeature to check arguments and add feature flags.
Wed, Jul 5, 5:58 AM
atanasyan committed rL307151: [driver][mips] Remove redundant curly brackets. NFC.
[driver][mips] Remove redundant curly brackets. NFC
Wed, Jul 5, 5:58 AM

Tue, Jul 4

atanasyan committed rL307083: [ELF] Do not use `this` to access members of non-template class. NFC.
[ELF] Do not use `this` to access members of non-template class. NFC
Tue, Jul 4, 8:05 AM

Jun 14 2017

atanasyan updated the diff for D31528: [ELF][MIPS] Multi-GOT implementation.
  • Rebased against the trunk
Jun 14 2017, 4:24 AM · lld

May 31 2017

atanasyan added a comment to D33726: [driver][netbsd] Build and pass `-L` arguments to the linker.

I'm against it. I consider this a strong bug on the LLD side and the behavior of clang correct.

May 31 2017, 3:15 PM
atanasyan created D33726: [driver][netbsd] Build and pass `-L` arguments to the linker.
May 31 2017, 9:13 AM

May 30 2017

atanasyan accepted D33670: Fix crash when processing relocations in .eh_frame.

LGTM with the latest fixes.

May 30 2017, 5:57 AM

May 24 2017

atanasyan updated the diff for D31528: [ELF][MIPS] Multi-GOT implementation.

Rebased against the trunk.

May 24 2017, 10:36 PM · lld
atanasyan accepted D33512: Simplify MipsRldMapSection::writeTo.

LGTM

May 24 2017, 2:24 PM

May 23 2017

atanasyan committed rL303639: [mips] Remove unused class field. NFC.
[mips] Remove unused class field. NFC
May 23 2017, 8:00 AM
atanasyan committed rL303638: [mips] Change type of MipsSubtarget ctor arguments s/std::string/StringRef/. NFC.
[mips] Change type of MipsSubtarget ctor arguments s/std::string/StringRef/. NFC
May 23 2017, 8:00 AM

May 22 2017

atanasyan committed rL303565: [mips] Add one more check to the micromips attribute test case. NFC.
[mips] Add one more check to the micromips attribute test case. NFC
May 22 2017, 8:53 AM
atanasyan committed rL303564: [mips] Quote command line options with `` in the micromips attribute….
[mips] Quote command line options with `` in the micromips attribute…
May 22 2017, 8:53 AM
atanasyan committed rL303546: [mips] Support `micromips` attribute.
[mips] Support `micromips` attribute
May 22 2017, 5:48 AM
atanasyan closed D33363: [mips] Support `micromips` attribute by committing rL303546: [mips] Support `micromips` attribute.
May 22 2017, 5:47 AM
atanasyan committed rL303545: [mips] Support micromips attribute passed by front-end.
[mips] Support micromips attribute passed by front-end
May 22 2017, 5:47 AM
atanasyan closed D33364: [mips] Support micromips attribute passed by front-end by committing rL303545: [mips] Support micromips attribute passed by front-end.
May 22 2017, 5:47 AM

May 21 2017

atanasyan updated the diff for D33363: [mips] Support `micromips` attribute.

Thanks for review.

May 21 2017, 2:01 PM

May 19 2017

atanasyan added a dependent revision for D33363: [mips] Support `micromips` attribute: D33364: [mips] Support micromips attribute passed by front-end.
May 19 2017, 10:15 AM
atanasyan created D33364: [mips] Support micromips attribute passed by front-end.
May 19 2017, 10:15 AM
atanasyan created D33363: [mips] Support `micromips` attribute.
May 19 2017, 10:12 AM

May 15 2017

atanasyan updated the diff for D31528: [ELF][MIPS] Multi-GOT implementation.
  • Rebased against the trunk
May 15 2017, 8:58 AM · lld

Apr 29 2017

atanasyan committed rL301763: [mips] Emit R_MICROMIPS_TLS_GOTTPREL relocation for %gottprel in case of….
[mips] Emit R_MICROMIPS_TLS_GOTTPREL relocation for %gottprel in case of…
Apr 29 2017, 9:40 PM
atanasyan closed D32617: [mips] Emit R_MICROMIPS_TLS_GOTTPREL relocation for %gottprel in case of microMIPS by committing rL301763: [mips] Emit R_MICROMIPS_TLS_GOTTPREL relocation for %gottprel in case of….
Apr 29 2017, 9:40 PM

Apr 27 2017

atanasyan created D32617: [mips] Emit R_MICROMIPS_TLS_GOTTPREL relocation for %gottprel in case of microMIPS.
Apr 27 2017, 2:28 PM

Apr 22 2017

atanasyan updated the diff for D31528: [ELF][MIPS] Multi-GOT implementation.
  • Rebased against the trunk
  • Added a comment
Apr 22 2017, 5:44 AM · lld

Apr 21 2017

atanasyan added a comment to D32355: [ELF] - Remove dead TLS relocations relative code for MIPS and ARM.

I have no objections to removing these methods.

Apr 21 2017, 8:53 AM

Apr 20 2017

atanasyan added a comment to D27662: [triple+llc+llvm-mc] Make triple and ABI name consistent.

And one more ping. Does the silence mean implicit approval?

Apr 20 2017, 8:53 AM

Apr 16 2017

atanasyan added a comment to D27662: [triple+llc+llvm-mc] Make triple and ABI name consistent.

This patch was published four months ago. Any comments?

Apr 16 2017, 2:43 PM

Apr 10 2017

atanasyan committed rL299872: [mips] Use Triple::isLittleEndian to check endianness. NFC.
[mips] Use Triple::isLittleEndian to check endianness. NFC
Apr 10 2017, 12:55 PM

Apr 9 2017

atanasyan updated the diff for D27662: [triple+llc+llvm-mc] Make triple and ABI name consistent.
  • Rebase the patch
  • Reduce diff with trunk
Apr 9 2017, 10:22 PM

Apr 7 2017

atanasyan updated the diff for D31528: [ELF][MIPS] Multi-GOT implementation.
  • Rebase the patch
  • Fix GOT entry allocation for symbols which have related dynamic copy relocations
Apr 7 2017, 11:11 PM · lld
atanasyan committed rL299773: [ELF] Do not pass GOT section as an argument to handleARMTlsRelocation and….
[ELF] Do not pass GOT section as an argument to handleARMTlsRelocation and…
Apr 7 2017, 8:18 AM

Apr 4 2017

atanasyan updated the diff for D31528: [ELF][MIPS] Multi-GOT implementation.
  • Removed unused MIPS specific fields from the SymbolBody class.
  • Update comments.
Apr 4 2017, 5:45 AM · lld

Apr 3 2017

atanasyan added a comment to D31528: [ELF][MIPS] Multi-GOT implementation.

I also tried a debug build with and without this patch (twice each), and reproduced the ELF/mips-got-and-copy.s issue with the patch and not without. Since it didn't happen for you I'll try to collect some more detail about the failure.

Apr 3 2017, 8:22 AM · lld

Mar 31 2017

atanasyan added a comment to D31528: [ELF][MIPS] Multi-GOT implementation.

I had ELF/mips-got-and-copy.s fail for me with this applied, with .../mips-got-and-copy.s.tmp.o:(.text+0xC): relocation R_MIPS_GOT16 out of range

Mar 31 2017, 12:18 PM · lld
atanasyan created D31528: [ELF][MIPS] Multi-GOT implementation.
Mar 31 2017, 3:36 AM · lld

Mar 23 2017

atanasyan committed rL298591: [ELF] Print two more MIPS targets "supported" by LLD.
[ELF] Print two more MIPS targets "supported" by LLD
Mar 23 2017, 5:29 AM

Mar 20 2017

atanasyan committed rL298306: [ELF][MIPS] Calculate relocations agains _gp_disp / __gnu_local_gp using….
[ELF][MIPS] Calculate relocations agains _gp_disp / __gnu_local_gp using…
Mar 20 2017, 2:16 PM
atanasyan committed rL298304: [ELF][MIPS] Follow-up to r298272. Fix typo to fix buildbot..
[ELF][MIPS] Follow-up to r298272. Fix typo to fix buildbot.
Mar 20 2017, 2:02 PM

Mar 19 2017

atanasyan committed rL298230: [ELF] clang-format sortMipsSymbols. NFC.
[ELF] clang-format sortMipsSymbols. NFC
Mar 19 2017, 12:45 PM

Mar 17 2017

atanasyan accepted D31090: [ELF] - Detemplate MipsGotSection<ELFT>.

LGTM. Thanks.

Mar 17 2017, 11:04 AM
atanasyan committed rL298093: [ELF][MIPS] Always collect .reginfo, .MIPS.options, and .MIPS.abiflags input….
[ELF][MIPS] Always collect .reginfo, .MIPS.options, and .MIPS.abiflags input…
Mar 17 2017, 7:40 AM

Mar 10 2017

atanasyan committed rL297448: [llvm-readobj] Support SHT_MIPS_DWARF section type flag.
[llvm-readobj] Support SHT_MIPS_DWARF section type flag
Mar 10 2017, 12:34 AM
atanasyan committed rL297447: [MC] Set SHT_MIPS_DWARF section type for all .debug_* sections on MIPS.
[MC] Set SHT_MIPS_DWARF section type for all .debug_* sections on MIPS
Mar 10 2017, 12:34 AM
atanasyan committed rL297446: [MC] Accept a numeric value as an ELF section header's type.
[MC] Accept a numeric value as an ELF section header's type
Mar 10 2017, 12:34 AM
atanasyan closed D29789: [MC] Set SHT_MIPS_DWARF section type for all .debug_* sections on MIPS by committing rL297447: [MC] Set SHT_MIPS_DWARF section type for all .debug_* sections on MIPS.
Mar 10 2017, 12:34 AM
atanasyan closed D29719: [MC] Accept a numeric value as an ELF section header's type by committing rL297446: [MC] Accept a numeric value as an ELF section header's type.
Mar 10 2017, 12:34 AM

Mar 9 2017

atanasyan updated the diff for D29719: [MC] Accept a numeric value as an ELF section header's type.
  • Show an error if MCSectionELF attempt to print unknown section type value.
  • Added a test case to check the error mentioned above.
Mar 9 2017, 1:59 PM

Feb 24 2017

atanasyan updated the summary of D29719: [MC] Accept a numeric value as an ELF section header's type.
Feb 24 2017, 12:32 AM

Feb 23 2017

atanasyan updated the summary of D29719: [MC] Accept a numeric value as an ELF section header's type.
Feb 23 2017, 4:05 PM

Feb 21 2017

atanasyan added a reviewer for D29719: [MC] Accept a numeric value as an ELF section header's type: grosbach.
Feb 21 2017, 12:22 AM

Feb 18 2017

atanasyan added a comment to D29719: [MC] Accept a numeric value as an ELF section header's type.

Ping?

Feb 18 2017, 1:50 AM

Feb 15 2017

atanasyan committed rL295159: [ELF][MIPS] Fix writing updated addend for R_MIPS_GOT16 relocation.
[ELF][MIPS] Fix writing updated addend for R_MIPS_GOT16 relocation
Feb 15 2017, 12:44 AM

Feb 14 2017

atanasyan committed rL295040: [ELF][MIPS] Use `InputSectionBase::getOutputSection()` to access output….
[ELF][MIPS] Use `InputSectionBase::getOutputSection()` to access output…
Feb 14 2017, 2:08 AM

Feb 13 2017

atanasyan added a comment to D29719: [MC] Accept a numeric value as an ELF section header's type.

Ping?

Feb 13 2017, 2:05 AM

Feb 9 2017

atanasyan added a dependency for D29789: [MC] Set SHT_MIPS_DWARF section type for all .debug_* sections on MIPS: D29719: [MC] Accept a numeric value as an ELF section header's type.
Feb 9 2017, 2:15 PM
atanasyan added a dependent revision for D29719: [MC] Accept a numeric value as an ELF section header's type: D29789: [MC] Set SHT_MIPS_DWARF section type for all .debug_* sections on MIPS.
Feb 9 2017, 2:15 PM
atanasyan created D29789: [MC] Set SHT_MIPS_DWARF section type for all .debug_* sections on MIPS.
Feb 9 2017, 2:07 PM

Feb 8 2017

atanasyan created D29719: [MC] Accept a numeric value as an ELF section header's type.
Feb 8 2017, 8:13 AM

Feb 7 2017

atanasyan added a comment to D29681: Handle -G as an alias to -shared.

This patch changes lld to handle -G as an alias to -shared. This means we would now error on "-G 123". How common is it for programs to use it meaning --gpsize?

Feb 7 2017, 10:37 PM

Feb 2 2017

atanasyan committed rL293879: Port r292160 and r292161..
Port r292160 and r292161.
Feb 2 2017, 3:57 AM