Page MenuHomePhabricator

vstefanovic (Vladimir Stefanovic)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 22 2014, 9:56 AM (221 w, 4 d)

Recent Activity

Fri, Jan 18

vstefanovic committed rC351579: [mips] Add '-mrelax-pic-calls', '-mno-relax-pic-calls'.
[mips] Add '-mrelax-pic-calls', '-mno-relax-pic-calls'
Fri, Jan 18, 11:59 AM
vstefanovic committed rL351579: [mips] Add '-mrelax-pic-calls', '-mno-relax-pic-calls'.
[mips] Add '-mrelax-pic-calls', '-mno-relax-pic-calls'
Fri, Jan 18, 11:59 AM
vstefanovic closed D56878: [mips] Add '-mrelax-pic-calls', '-mno-relax-pic-calls'.
Fri, Jan 18, 11:59 AM

Thu, Jan 17

vstefanovic created D56878: [mips] Add '-mrelax-pic-calls', '-mno-relax-pic-calls'.
Thu, Jan 17, 2:13 PM
vstefanovic committed rL351485: [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25.
[mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25
Thu, Jan 17, 1:54 PM
vstefanovic closed D56694: [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25.
Thu, Jan 17, 1:54 PM
vstefanovic updated the diff for D56694: [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25.

Fixed 'typos'.

Thu, Jan 17, 11:46 AM
vstefanovic added inline comments to D56694: [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25.
Thu, Jan 17, 7:59 AM
vstefanovic updated the diff for D56694: [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25.

Moved an if, fixed typos.

Thu, Jan 17, 7:56 AM

Mon, Jan 14

vstefanovic created D56694: [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25.
Mon, Jan 14, 6:04 PM

Dec 10 2018

vstefanovic committed rL348760: [mips][mc] Emit R_{MICRO}MIPS_JALR when expanding jal to jalr.
[mips][mc] Emit R_{MICRO}MIPS_JALR when expanding jal to jalr
Dec 10 2018, 7:10 AM
vstefanovic closed D55292: [mips][mc] Emit R_{MICRO}MIPS_JALR when expanding jal to jalr.
Dec 10 2018, 7:10 AM

Dec 4 2018

vstefanovic created D55292: [mips][mc] Emit R_{MICRO}MIPS_JALR when expanding jal to jalr.
Dec 4 2018, 1:03 PM

Nov 22 2018

vstefanovic committed rL347476: Reland test/MC/Mips/reloc-directive-label-offset.s.
Reland test/MC/Mips/reloc-directive-label-offset.s
Nov 22 2018, 10:21 AM

Nov 21 2018

vstefanovic committed rL347433: Removing test/MC/Mips/reloc-directive-label-offset.s temporarily.
Removing test/MC/Mips/reloc-directive-label-offset.s temporarily
Nov 21 2018, 2:11 PM
vstefanovic committed rL347398: [mips][mc] Add basic support for R_MIPS_JALR/R_MICROMIPS_JALR.
[mips][mc] Add basic support for R_MIPS_JALR/R_MICROMIPS_JALR
Nov 21 2018, 8:41 AM
vstefanovic closed D54721: [mips][mc] Add basic support for R_MIPS_JALR/R_MICROMIPS_JALR.
Nov 21 2018, 8:41 AM
vstefanovic committed rL347397: [MC] Support labels as offsets in .reloc directive.
[MC] Support labels as offsets in .reloc directive
Nov 21 2018, 8:31 AM
vstefanovic closed D53990: [MC] Support labels as offsets in .reloc directive.
Nov 21 2018, 8:31 AM

Nov 20 2018

vstefanovic updated the diff for D54721: [mips][mc] Add basic support for R_MIPS_JALR/R_MICROMIPS_JALR.

Addressed comment.

Nov 20 2018, 10:11 AM
vstefanovic added inline comments to D54721: [mips][mc] Add basic support for R_MIPS_JALR/R_MICROMIPS_JALR.
Nov 20 2018, 10:10 AM

Nov 19 2018

vstefanovic updated the diff for D53990: [MC] Support labels as offsets in .reloc directive.

Re-uploaded the patch with more context.

Nov 19 2018, 1:02 PM
vstefanovic created D54721: [mips][mc] Add basic support for R_MIPS_JALR/R_MICROMIPS_JALR.
Nov 19 2018, 12:59 PM
vstefanovic added a comment to D53990: [MC] Support labels as offsets in .reloc directive.

I assume that we do want to keep this feature for all the architectures, if anyone disagrees, please shout.

Nov 19 2018, 11:19 AM
vstefanovic updated the diff for D53990: [MC] Support labels as offsets in .reloc directive.

Addressed comments.

Nov 19 2018, 11:17 AM

Nov 9 2018

vstefanovic added a comment to D53990: [MC] Support labels as offsets in .reloc directive.

.reloc directive (and setting its offset as label) isn't mips-only feature, GNU as supports it for all the architectures (or at least for x86, arm, ppc).
But if we don't want this in llvm for other arches than mips, we should move it to mips backend.

Nov 9 2018, 8:39 AM

Nov 5 2018

vstefanovic updated the diff for D53990: [MC] Support labels as offsets in .reloc directive.

While we're at it, supported multiple pending fixups.

Nov 5 2018, 10:40 AM

Nov 4 2018

vstefanovic updated the diff for D53990: [MC] Support labels as offsets in .reloc directive.

Init PendingFixup.Sym to nullptr.

Nov 4 2018, 7:15 AM
vstefanovic added a comment to D53990: [MC] Support labels as offsets in .reloc directive.

Sorry; thanks for noticing.

Nov 4 2018, 7:13 AM

Nov 1 2018

vstefanovic created D53990: [MC] Support labels as offsets in .reloc directive.
Nov 1 2018, 12:39 PM

Aug 30 2018

vstefanovic committed rL341087: Allow inconsistent offsets for 'noreturn' basic blocks when '-verify-cfiinstrs'.
Allow inconsistent offsets for 'noreturn' basic blocks when '-verify-cfiinstrs'
Aug 30 2018, 10:34 AM
vstefanovic closed D51161: Allow inconsistent offsets for 'noreturn' basic blocks when '-verify-cfiinstrs'.
Aug 30 2018, 10:34 AM
vstefanovic added inline comments to D51161: Allow inconsistent offsets for 'noreturn' basic blocks when '-verify-cfiinstrs'.
Aug 30 2018, 9:47 AM
vstefanovic updated the diff for D51161: Allow inconsistent offsets for 'noreturn' basic blocks when '-verify-cfiinstrs'.
Aug 30 2018, 9:46 AM

Aug 29 2018

vstefanovic committed rL340927: [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp.
[mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp
Aug 29 2018, 7:08 AM
vstefanovic closed D50986: [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp.
Aug 29 2018, 7:08 AM

Aug 23 2018

vstefanovic added a comment to D51161: Allow inconsistent offsets for 'noreturn' basic blocks when '-verify-cfiinstrs'.

C code to reproduce the issue, built with

'-O2 -mllvm -tail-merge-size=1 -mllvm -verify-cfiinstrs':
void foo1(int v) __attribute__((noreturn)) {
  if (v == 1) {
    __builtin_trap();
  }
  if (foo2(v)) {
    __builtin_trap();
  }
}

Machine IR before branch-folder:

bb.0.entry:
  CMP32ri8 $edi, 1
  JNE_1 %bb.2
  JMP_1 %bb.1
Aug 23 2018, 6:46 AM
vstefanovic created D51161: Allow inconsistent offsets for 'noreturn' basic blocks when '-verify-cfiinstrs'.
Aug 23 2018, 6:42 AM

Aug 22 2018

vstefanovic retitled D50986: [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp from [ShrinkWrap] Don't put pseudo-instrs which use $sp before prologue setup to [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp.
Aug 22 2018, 3:09 PM
vstefanovic updated the diff for D50986: [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp.

Split the test.

Aug 22 2018, 2:50 PM

Aug 21 2018

vstefanovic added a comment to D50986: [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp.

Thanks for the comments, adding $sp as implicit operand is a lot better, no need to modify ShrinkWrapping then.

Aug 21 2018, 10:28 AM
vstefanovic updated the diff for D50986: [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp.

Adding implicit operand $sp to the instructions instead of FrameSetup flag.

Aug 21 2018, 10:22 AM

Aug 20 2018

vstefanovic created D50986: [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp.
Aug 20 2018, 11:49 AM

Jul 11 2018

vstefanovic committed rL336798: [mips] Add '-mvirt', '-mno-virt', '-mginv', '-mno-ginv' options.
[mips] Add '-mvirt', '-mno-virt', '-mginv', '-mno-ginv' options
Jul 11 2018, 5:50 AM
vstefanovic committed rC336798: [mips] Add '-mvirt', '-mno-virt', '-mginv', '-mno-ginv' options.
[mips] Add '-mvirt', '-mno-virt', '-mginv', '-mno-ginv' options
Jul 11 2018, 5:50 AM
vstefanovic closed D48982: [mips] Add '-mvirt', '-mno-virt', '-mginv', '-mno-ginv' options.
Jul 11 2018, 5:50 AM

Jul 5 2018

vstefanovic created D48982: [mips] Add '-mvirt', '-mno-virt', '-mginv', '-mno-ginv' options.
Jul 5 2018, 10:49 AM
vstefanovic committed rL336347: [mips] Add '-mcrc', '-mno-crc' options to enable/disable CRC ASE.
[mips] Add '-mcrc', '-mno-crc' options to enable/disable CRC ASE
Jul 5 2018, 6:15 AM
vstefanovic committed rC336347: [mips] Add '-mcrc', '-mno-crc' options to enable/disable CRC ASE.
[mips] Add '-mcrc', '-mno-crc' options to enable/disable CRC ASE
Jul 5 2018, 6:15 AM
vstefanovic closed D48169: [mips] Add '-mcrc', '-mno-crc' options to enable/disable CRC ASE.
Jul 5 2018, 6:15 AM

Jul 4 2018

vstefanovic committed rL336296: [mips] Warn when crc, ginv, virt flags are used with too old revision.
[mips] Warn when crc, ginv, virt flags are used with too old revision
Jul 4 2018, 12:31 PM
vstefanovic closed D48843: [mips] Warn when crc, ginv, virt flags are used with too old revision.
Jul 4 2018, 12:31 PM
vstefanovic added inline comments to D48843: [mips] Warn when crc, ginv, virt flags are used with too old revision.
Jul 4 2018, 6:16 AM

Jul 3 2018

vstefanovic committed rL336216: Fix typo in lib/Support/Path.cpp to test commit access.
Fix typo in lib/Support/Path.cpp to test commit access
Jul 3 2018, 10:31 AM

Jul 2 2018

vstefanovic created D48843: [mips] Warn when crc, ginv, virt flags are used with too old revision.
Jul 2 2018, 11:05 AM

Jun 14 2018

vstefanovic created D48169: [mips] Add '-mcrc', '-mno-crc' options to enable/disable CRC ASE.
Jun 14 2018, 6:28 AM

Jun 12 2018

vstefanovic updated the diff for D47947: [mips] Support shrink-wrapping.

Updated the long branch test with actual shrink-wrapping.

Jun 12 2018, 1:41 PM

Jun 11 2018

vstefanovic updated the diff for D47947: [mips] Support shrink-wrapping.

Added long branch test, used update_llc_test_checks.py to create checks.

Jun 11 2018, 12:48 PM

Jun 8 2018

vstefanovic created D47947: [mips] Support shrink-wrapping.
Jun 8 2018, 8:15 AM

May 16 2018

vstefanovic added inline comments to D46268: [mips] Add support for Global INValidate ASE.
May 16 2018, 11:41 AM
vstefanovic updated the diff for D46268: [mips] Add support for Global INValidate ASE.

Addressed inline comments.

May 16 2018, 11:40 AM

May 15 2018

vstefanovic updated the diff for D46268: [mips] Add support for Global INValidate ASE.

Removed the undocumented gingvt instruction.

May 15 2018, 8:08 AM

May 9 2018

vstefanovic added a comment to D46268: [mips] Add support for Global INValidate ASE.

That's a good question, I only found it in Faraz's binutils patch, and used that as a reference.

May 9 2018, 7:52 AM

Apr 30 2018

vstefanovic created D46268: [mips] Add support for Global INValidate ASE.
Apr 30 2018, 8:41 AM

Apr 13 2018

vstefanovic updated the diff for D44905: [mips] Add support for Virtualization ASE.

Fixed stupid error.

Apr 13 2018, 8:29 AM

Apr 12 2018

vstefanovic updated the diff for D44905: [mips] Add support for Virtualization ASE.

Comments addressed.

Apr 12 2018, 12:48 PM

Apr 11 2018

vstefanovic updated the diff for D44905: [mips] Add support for Virtualization ASE.

Comments addressed.

Apr 11 2018, 1:16 PM

Mar 26 2018

vstefanovic created D44905: [mips] Add support for Virtualization ASE.
Mar 26 2018, 12:59 PM

Mar 13 2018

vstefanovic updated the diff for D44176: [mips] Add support for CRC ASE.

Addressed nits.

Mar 13 2018, 11:40 AM

Mar 12 2018

vstefanovic updated the diff for D44176: [mips] Add support for CRC ASE.

Updated the code to use ASEPRedicate from D44299.

Mar 12 2018, 11:40 AM

Mar 8 2018

vstefanovic added inline comments to D44176: [mips] Add support for CRC ASE.
Mar 8 2018, 11:59 AM
vstefanovic updated the diff for D44176: [mips] Add support for CRC ASE.
Mar 8 2018, 11:53 AM
vstefanovic added inline comments to D44176: [mips] Add support for CRC ASE.
Mar 8 2018, 6:55 AM

Mar 6 2018

vstefanovic created D44176: [mips] Add support for CRC ASE.
Mar 6 2018, 2:14 PM

Apr 11 2016

vstefanovic abandoned D6509: [mips] Reserve $at and use it for frame pointer elimination..

Abandoned in favour of http://reviews.llvm.org/D8895 .

Apr 11 2016, 10:51 AM

May 13 2015

vstefanovic abandoned D5913: [mips64] Add support for MCJIT for MIPS64.

Obsoleted by D9667.

May 13 2015, 8:46 AM

Apr 8 2015

vstefanovic updated the diff for D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..

A rebase.

Apr 8 2015, 2:08 PM

Apr 2 2015

vstefanovic added a comment to D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..

But we are sorting the table exactly as gas only for easier comparison of the generated o files, aren't we?

Apr 2 2015, 2:49 PM

Apr 1 2015

vstefanovic added a comment to D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..

// There may be more ways to sort the table while respecting the ABI rule;
// we always sort the same way gnu as does, for compatibility.

Still not particularly clear. We *have* to sort it in a way that
causes bfd ld to match the same hi and lo relocations as would be
matched had the .s been assembled by gas.

Cheers,
Rafael

Apr 1 2015, 3:26 PM

Mar 31 2015

vstefanovic added a comment to D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..

Still not there. Which relocation gets matched to another is part of

of the semantics of the assembly file. We have to match gas or
document that we are incompatible.

Copied the sentence from the generic sortRelocs().

That is a very different case. That is about ELF, not mips-ELF.

On ELF, the order is not important, and we just need to make sure it
is deterministic. On mips-ELF it is part of the semantics of the .o.

Mar 31 2015, 3:06 PM

Mar 26 2015

vstefanovic added a comment to D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..

But it cant introduce a wrong result if another relocation is 1 byte
away, no? We just know that that is not possible? If so please add a
comment about that.

Yes, Mips instructions length is fixed and at least 2 bytes (2 for micromips and mips16, 4 for mips32 and mips64), so there will always be 2 or 4 bytes offset between 2 instructions.

Mar 26 2015, 2:49 PM
vstefanovic updated the diff for D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..
Mar 26 2015, 2:41 PM

Mar 13 2015

vstefanovic updated the diff for D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..
Mar 13 2015, 5:29 PM
vstefanovic added inline comments to D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..
Mar 13 2015, 5:25 PM

Mar 10 2015

vstefanovic added a comment to D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..

(Some comments disappeared from the previous message.)

Mar 10 2015, 9:42 AM
vstefanovic added a comment to D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..

A new version of the patch is uploaded.

Mar 10 2015, 8:17 AM
vstefanovic set the repository for D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips. to rL LLVM.
Mar 10 2015, 8:16 AM
vstefanovic updated the diff for D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..
Mar 10 2015, 8:15 AM

Feb 6 2015

vstefanovic added a comment to D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..

Hi Rafael, thanks for the link and the review.

Feb 6 2015, 3:36 PM

Feb 4 2015

vstefanovic retitled D7414: Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips. from to Re-enable a hook in MCELFObjectTargetWriter to allow target-specific relocation table sorting and use this hook for Mips..
Feb 4 2015, 10:58 AM

Dec 3 2014

vstefanovic added a comment to D6509: [mips] Reserve $at and use it for frame pointer elimination..

Minimal c code to reproduce the error, used to generate vector-multiply.ll
from the patch:

Dec 3 2014, 11:32 AM
vstefanovic added a comment to D6509: [mips] Reserve $at and use it for frame pointer elimination..

When RegScavenger runs out of registers, it tries to spill one. So it generates
e.g.

Dec 3 2014, 11:31 AM
vstefanovic retitled D6509: [mips] Reserve $at and use it for frame pointer elimination. from to [mips] Reserve $at and use it for frame pointer elimination..
Dec 3 2014, 11:21 AM

Nov 5 2014

vstefanovic retitled D6141: [mips64] Fix MIPS64 exception personality encoding. from to [mips64] Fix MIPS64 exception personality encoding..
Nov 5 2014, 12:43 PM
vstefanovic added a comment to D5913: [mips64] Add support for MCJIT for MIPS64.

Hi Lang, thanks for the review.

Nov 5 2014, 11:41 AM

Oct 28 2014

vstefanovic added a comment to D5913: [mips64] Add support for MCJIT for MIPS64.

ping

Oct 28 2014, 3:32 PM

Oct 22 2014

vstefanovic added a comment to D5913: [mips64] Add support for MCJIT for MIPS64.

This is the list of passing tests now:

LLVM :: ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll
LLVM :: ExecutionEngine/MCJIT/eh-lg-pic.ll
LLVM :: ExecutionEngine/MCJIT/eh-sm-pic.ll
LLVM :: ExecutionEngine/MCJIT/hello-sm-pic.ll
LLVM :: ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll
LLVM :: ExecutionEngine/MCJIT/non-extern-addend-smallcodemodel.ll
LLVM :: ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll
LLVM :: ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll
LLVM :: ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll
LLVM :: ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll
LLVM :: ExecutionEngine/MCJIT/stubs-sm-pic.ll
LLVM :: ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll
LLVM :: ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll
Oct 22 2014, 10:26 AM
vstefanovic retitled D5913: [mips64] Add support for MCJIT for MIPS64 from to [mips64] Add support for MCJIT for MIPS64.
Oct 22 2014, 10:20 AM